All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: array_list_new2
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - free_fn
    argTypes:
    - array_list_free_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: array_list_new
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 0
    functionsReached:
    - array_list_new2
    linkageType: ''
    returnType: struct array_list
    signature: struct array_list *array_list_new(array_list_free_fn *free_fn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:50,1
    - Dst: malloc
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:56,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - free_fn
    - initial_size
    argTypes:
    - array_list_free_fn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: array_list_new2
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 1
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: struct array_list
    signature: struct array_list *array_list_new2(array_list_free_fn *free_fn, int
      initial_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct array_list*::free_fn
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:69,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:70,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - struct array_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: array_list_free
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 0
    functionsReached:
    - struct array_list*::free_fn
    - free
    linkageType: ''
    returnType: void
    signature: void array_list_free(struct array_list *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arr
    - i
    argTypes:
    - struct array_list*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: array_list_get_idx
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *array_list_get_idx(struct array_list *arr, size_t i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - arr
    - max
    argTypes:
    - struct array_list*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 104
    functionName: array_list_expand_internal
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int array_list_expand_internal(struct array_list *arr, size_t max)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: array_list_expand_internal
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:117,1
    - Dst: realloc
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - arr
    - empty_slots
    argTypes:
    - struct array_list*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: array_list_shrink
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 0
    functionsReached:
    - array_list_expand_internal
    - realloc
    linkageType: ''
    returnType: int
    signature: int array_list_shrink(struct array_list *arr, size_t empty_slots)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: array_list_put_idx
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:133,1
    - Dst: array_list_expand_internal
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:139,1
    - Dst: memmove
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - arr
    - idx
    - data
    argTypes:
    - struct array_list*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: array_list_insert_idx
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 0
    functionsReached:
    - array_list_expand_internal
    - array_list_put_idx
    - memmove
    linkageType: ''
    returnType: int
    signature: int array_list_insert_idx(struct array_list *arr, size_t idx, void
      *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: array_list_expand_internal
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:154,1
    - Dst: struct array_list*::free_fn
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:157,1
    - Dst: memset
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - arr
    - idx
    - data
    argTypes:
    - struct array_list*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 173
    functionName: array_list_put_idx
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 1
    functionsReached:
    - struct array_list*::free_fn
    - array_list_expand_internal
    - memset
    linkageType: ''
    returnType: int
    signature: int array_list_put_idx(struct array_list *arr, size_t idx, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: array_list_expand_internal
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - data
    argTypes:
    - struct array_list*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: array_list_add
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 0
    functionsReached:
    - array_list_expand_internal
    linkageType: ''
    returnType: int
    signature: int array_list_add(struct array_list *arr, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - struct array_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: array_list_sort
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void array_list_sort(struct array_list *arr, int (*compar)(const void
      *, const void *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - arr
    argTypes:
    - void**
    - struct array_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: array_list_bsearch
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: void
    signature: "void *array_list_bsearch(const void **key, struct array_list *arr,\n
      \                        int (*compar)(const void *, const void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - struct array_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: array_list_length
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t array_list_length(struct array_list *arr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct array_list*::free_fn
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:221,1
    - Dst: memmove
      Src: /src/json-c-json-c-0.17-20230812/arraylist.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - arr
    - idx
    - count
    argTypes:
    - struct array_list*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 226
    functionName: array_list_del_idx
    functionSourceFile: /src/json-c-json-c-0.17-20230812/arraylist.c
    functionUses: 0
    functionsReached:
    - struct array_list*::free_fn
    - memmove
    linkageType: ''
    returnType: int
    signature: int array_list_del_idx(struct array_list *arr, size_t idx, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: isnan
    functionSourceFile: /src/json-c-json-c-0.17-20230812/math_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isnan(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: isnan
    functionSourceFile: /src/json-c-json-c-0.17-20230812/math_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isnan(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: isinf
    functionSourceFile: /src/json-c-json-c-0.17-20230812/math_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isinf(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: isinf
    functionSourceFile: /src/json-c-json-c-0.17-20230812/math_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isinf(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: is_plain_digit
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_plain_digit(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:34,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:35,1
    - Dst: strstr
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:37,1
    - Dst: memmove
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - occur
    - repl_char
    argTypes:
    - char*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: string_replace_all_occurrences_with_char
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - memmove
    - strstr
    - strlen
    linkageType: ''
    returnType: void
    signature: void string_replace_all_occurrences_with_char(char *s, const char *occur,
      char repl_char)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:48,1
    - Dst: is_plain_digit
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:54,1
    - Dst: is_plain_digit
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:71,1
    - Dst: strtoull
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - path
    - idx
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 83
    functionName: is_valid_index
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - is_plain_digit
    - strtoull
    - strlen
    linkageType: ''
    returnType: int
    signature: int is_valid_index(const char *path, size_t *idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:88,1
    - Dst: is_valid_index
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:90,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:92,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:98,1
    - Dst: string_replace_all_occurrences_with_char
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:111,1
    - Dst: string_replace_all_occurrences_with_char
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:112,1
    - Dst: json_object_object_get_ex
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - obj
    - path
    - value
    - idx
    argTypes:
    - struct json_object*
    - char*
    - struct json_object**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 121
    functionName: json_pointer_get_single_path
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - json_object_array_get_idx
    - json_object_object_get_ex
    - string_replace_all_occurrences_with_char
    - json_object_array_length
    - json_object_is_type
    - is_valid_index
    linkageType: ''
    returnType: int
    signature: "int json_pointer_get_single_path(struct json_object *obj, char *path,\n
      \                                       struct json_object **value, size_t *idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_array_put_idx
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - parent
    - idx
    - value
    - priv
    argTypes:
    - struct json_object*
    - size_t
    - struct json_object*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: json_object_array_put_idx_cb
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - json_object_array_put_idx
    linkageType: ''
    returnType: int
    signature: "int json_object_array_put_idx_cb(struct json_object *parent, size_t
      idx,\n\t\t\t\t\tstruct json_object *value, void *priv)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:133,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:138,1
    - Dst: is_valid_index
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:139,1
    - Dst: array_set_cb
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:141,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:147,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - parent
    - path
    - value
    - array_set_cb
    - priv
    argTypes:
    - struct json_object*
    - char*
    - struct json_object*
    - json_pointer_array_set_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 155
    functionName: json_pointer_set_single_path
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - json_object_is_type
    - array_set_cb
    - json_object_object_add
    - is_valid_index
    - json_object_array_add
    linkageType: ''
    returnType: int
    signature: "int json_pointer_set_single_path(struct json_object *parent, const
      char *path,\n                                        struct json_object *value,\n\t\t\t\t\tjson_pointer_array_set_cb
      array_set_cb, void *priv)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:173,1
    - Dst: json_pointer_get_single_path
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:178,1
    - Dst: json_pointer_result_get_recursive
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:185,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - obj
    - path
    - res
    argTypes:
    - struct json_object*
    - char*
    - struct json_pointer_get_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 199
    functionName: json_pointer_result_get_recursive
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 1
    functionsReached:
    - strchr
    - json_pointer_result_get_recursive
    - json_pointer_get_single_path
    - json_object_is_type
    linkageType: ''
    returnType: int
    signature: "int json_pointer_result_get_recursive(struct json_object *obj, char
      *path,\n                                             struct json_pointer_get_result
      *res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer_result_get_recursive
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - obj
    - path
    - value
    argTypes:
    - struct json_object*
    - char*
    - struct json_object**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: json_pointer_object_get_recursive
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - json_pointer_result_get_recursive
    linkageType: ''
    returnType: int
    signature: "int json_pointer_object_get_recursive(struct json_object *obj, char
      *path,\n                                             struct json_object **value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:239,1
    - Dst: json_pointer_result_get_recursive
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:244,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:246,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - obj
    - path
    - res
    argTypes:
    - struct json_object*
    - char*
    - struct json_pointer_get_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 251
    functionName: json_pointer_get_internal
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - free
    - json_pointer_result_get_recursive
    - strdup
    - json_object_is_type
    linkageType: ''
    returnType: int
    signature: "int json_pointer_get_internal(struct json_object *obj, const char
      *path,\n                              struct json_pointer_get_result *res)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer_get_internal
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - obj
    - path
    - res
    argTypes:
    - struct json_object*
    - char*
    - struct json_object**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: json_pointer_get
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - json_pointer_get_internal
    linkageType: ''
    returnType: int
    signature: int json_pointer_get(struct json_object *obj, const char *path, struct
      json_object **res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:280,1
    - Dst: vasprintf
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:281,1
    - Dst: va_end
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:282,1
    - Dst: json_pointer_object_get_recursive
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:294,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - obj
    - res
    - path_fmt
    argTypes:
    - struct json_object*
    - struct json_object**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 299
    functionName: json_pointer_getf
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - va_end
    - vasprintf
    - json_pointer_object_get_recursive
    - free
    - va_start
    linkageType: ''
    returnType: int
    signature: int json_pointer_getf(struct json_object *obj, struct json_object **res,
      const char *path_fmt, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:318,1
    - Dst: strrchr
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:330,1
    - Dst: json_pointer_set_single_path
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:333,1
    - Dst: strdup
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:337,1
    - Dst: json_pointer_object_get_recursive
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:343,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:344,1
    - Dst: json_pointer_set_single_path
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - obj
    - path
    - value
    - array_set_cb
    - priv
    argTypes:
    - struct json_object**
    - char*
    - struct json_object*
    - json_pointer_array_set_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 301
    functionDepth: 4
    functionLinenumber: 301
    functionLinenumberEnd: 351
    functionName: json_pointer_set_with_array_cb
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - json_pointer_object_get_recursive
    - strrchr
    - free
    - strdup
    - json_pointer_set_single_path
    - json_object_put
    linkageType: ''
    returnType: int
    signature: "int json_pointer_set_with_array_cb(struct json_object **obj, const
      char *path,\n\t\t\t\t   struct json_object *value,\n\t\t\t\t   json_pointer_array_set_cb
      array_set_cb, void *priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer_set_with_array_cb
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - obj
    - path
    - value
    argTypes:
    - struct json_object**
    - char*
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 5
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: json_pointer_set
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - json_pointer_set_with_array_cb
    linkageType: ''
    returnType: int
    signature: int json_pointer_set(struct json_object **obj, const char *path, struct
      json_object *value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:374,1
    - Dst: vasprintf
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:375,1
    - Dst: va_end
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:376,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:383,1
    - Dst: strrchr
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:396,1
    - Dst: json_pointer_object_get_recursive
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:403,1
    - Dst: json_pointer_set_single_path
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:410,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_pointer.c:413,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - obj
    - value
    - path_fmt
    argTypes:
    - struct json_object**
    - struct json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 415
    functionName: json_pointer_setf
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_pointer.c
    functionUses: 0
    functionsReached:
    - va_end
    - vasprintf
    - json_pointer_object_get_recursive
    - strrchr
    - free
    - json_pointer_set_single_path
    - json_object_put
    - va_start
    linkageType: ''
    returnType: int
    signature: "int json_pointer_setf(struct json_object **obj, struct json_object
      *value, const char *path_fmt,\n                      ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_get_object
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:69,1
    - Dst: JASSERT
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:70,1
    - Dst: lh_table_head
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: json_object_iter_begin
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object_iterator.c
    functionUses: 0
    functionsReached:
    - json_object_get_object
    - JASSERT
    - lh_table_head
    linkageType: ''
    returnType: struct json_object_iterator
    signature: struct json_object_iterator json_object_iter_begin(struct json_object
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JASSERT
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:85,1
    - Dst: JASSERT
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:86,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: json_object_iter_end
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object_iterator.c
    functionUses: 0
    functionsReached:
    - JASSERT
    - json_object_is_type
    linkageType: ''
    returnType: struct json_object_iterator
    signature: struct json_object_iterator json_object_iter_end(const struct json_object
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JASSERT
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:98,1
    - Dst: JASSERT
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:99,1
    - Dst: lh_entry_next
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct json_object_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: json_object_iter_next
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object_iterator.c
    functionUses: 0
    functionsReached:
    - lh_entry_next
    - JASSERT
    linkageType: ''
    returnType: void
    signature: void json_object_iter_next(struct json_object_iterator *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JASSERT
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:109,1
    - Dst: JASSERT
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct json_object_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: json_object_iter_peek_name
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object_iterator.c
    functionUses: 0
    functionsReached:
    - JASSERT
    linkageType: ''
    returnType: char
    signature: char *json_object_iter_peek_name(const struct json_object_iterator
      *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JASSERT
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:120,1
    - Dst: JASSERT
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:121,1
    - Dst: lh_entry_v
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct json_object_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: json_object_iter_peek_value
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object_iterator.c
    functionUses: 0
    functionsReached:
    - lh_entry_v
    - JASSERT
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_iter_peek_value(const struct json_object_iterator
      *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JASSERT
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:132,1
    - Dst: JASSERT
      Src: /src/json-c-json-c-0.17-20230812/json_object_iterator.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iter1
    - iter2
    argTypes:
    - struct json_object_iterator*
    - struct json_object_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: json_object_iter_equal
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object_iterator.c
    functionUses: 0
    functionsReached:
    - JASSERT
    linkageType: ''
    returnType: json_bool
    signature: "json_bool json_object_iter_equal(const struct json_object_iterator
      *iter1,\n                                 const struct json_object_iterator
      *iter2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: json_object_iter_init_default
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object_iterator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_iterator
    signature: struct json_object_iterator json_object_iter_init_default(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: JSON_C_CONST_FUNCTION
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_C_CONST_FUNCTION(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: JSON_C_CONST_FUNCTION
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_C_CONST_FUNCTION(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - key
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 507
    functionName: json_object_object_foreach
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_object_foreach(obj, key, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - key
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 521
    functionName: json_object_object_foreach
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_object_foreach(obj, key, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - iter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: json_object_object_foreachC
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_object_foreachC(obj, iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - debug
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: mc_set_debug
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mc_set_debug(int debug)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: mc_get_debug
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mc_get_debug(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - syslog
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: mc_set_syslog
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mc_set_syslog(int syslog)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/json-c-json-c-0.17-20230812/debug.c:55,1
    - Dst: vsyslog
      Src: /src/json-c-json-c-0.17-20230812/debug.c:59,1
    - Dst: vprintf
      Src: /src/json-c-json-c-0.17-20230812/debug.c:63,1
    - Dst: va_end
      Src: /src/json-c-json-c-0.17-20230812/debug.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: mc_debug
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.c
    functionUses: 0
    functionsReached:
    - vsyslog
    - va_end
    - va_start
    - vprintf
    linkageType: ''
    returnType: void
    signature: void mc_debug(const char *msg, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/json-c-json-c-0.17-20230812/debug.c:71,1
    - Dst: vsyslog
      Src: /src/json-c-json-c-0.17-20230812/debug.c:75,1
    - Dst: vfprintf
      Src: /src/json-c-json-c-0.17-20230812/debug.c:79,1
    - Dst: va_end
      Src: /src/json-c-json-c-0.17-20230812/debug.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: mc_error
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.c
    functionUses: 0
    functionsReached:
    - vsyslog
    - vfprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void mc_error(const char *msg, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/json-c-json-c-0.17-20230812/debug.c:86,1
    - Dst: vsyslog
      Src: /src/json-c-json-c-0.17-20230812/debug.c:90,1
    - Dst: vfprintf
      Src: /src/json-c-json-c-0.17-20230812/debug.c:94,1
    - Dst: va_end
      Src: /src/json-c-json-c-0.17-20230812/debug.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: mc_info
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.c
    functionUses: 0
    functionsReached:
    - vsyslog
    - vfprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: void mc_info(const char *msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: __STRING
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __STRING(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: JASSERT
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JASSERT(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: JASSERT
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JASSERT(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: MC_ERROR
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MC_ERROR(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: MC_SET_DEBUG
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MC_SET_DEBUG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: MC_GET_DEBUG
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MC_GET_DEBUG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: MC_SET_SYSLOG
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MC_SET_SYSLOG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: MC_DEBUG
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MC_DEBUG(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: MC_INFO
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MC_INFO(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: MC_SET_DEBUG
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MC_SET_DEBUG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: MC_GET_DEBUG
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MC_GET_DEBUG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: MC_SET_SYSLOG
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MC_SET_SYSLOG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: MC_DEBUG
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MC_DEBUG(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: MC_INFO
    functionSourceFile: /src/json-c-json-c-0.17-20230812/debug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MC_INFO(x, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:78,1
    - Dst: json_object_array_del_idx
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:79,1
    - Dst: json_object_object_del
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:81,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - jpres
    argTypes:
    - struct json_pointer_get_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: __json_patch_apply_remove
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_patch.c
    functionUses: 0
    functionsReached:
    - json_object_put
    - json_object_object_del
    - json_object_array_del_idx
    - json_object_is_type
    linkageType: ''
    returnType: int
    signature: int __json_patch_apply_remove(struct json_pointer_get_result *jpres)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer_get_internal
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:96,1
    - Dst: _set_err_from_ptrget
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:98,1
    - Dst: __json_patch_apply_remove
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:102,1
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - res
    - path
    - patch_error
    argTypes:
    - struct json_object**
    - char*
    - struct json_patch_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: json_patch_apply_remove
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_patch.c
    functionUses: 1
    functionsReached:
    - __json_patch_apply_remove
    - _set_err
    - json_pointer_get_internal
    - _set_err_from_ptrget
    linkageType: ''
    returnType: int
    signature: int json_patch_apply_remove(struct json_object **res, const char *path,
      struct json_patch_error *patch_error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:118,1
    - Dst: json_object_array_insert_idx
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:126,1
    - Dst: json_object_array_put_idx
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - parent
    - idx
    - value
    - priv
    argTypes:
    - struct json_object*
    - size_t
    - struct json_object*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: json_object_array_insert_idx_cb
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_patch.c
    functionUses: 0
    functionsReached:
    - json_object_array_length
    - json_object_array_insert_idx
    - json_object_array_put_idx
    linkageType: ''
    returnType: int
    signature: "int json_object_array_insert_idx_cb(struct json_object *parent, size_t
      idx,\n                                           struct json_object *value,
      void *priv)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_object_object_get_ex
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:141,1
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:142,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:146,1
    - Dst: _set_err_from_ptrget
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:147,1
    - Dst: json_pointer_set_with_array_cb
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:151,1
    - Dst: json_object_get
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:151,1
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:155,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - res
    - patch_elem
    - path
    - add
    - patch_error
    argTypes:
    - struct json_object**
    - struct json_object*
    - char*
    - int
    - struct json_patch_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 134
    functionDepth: 5
    functionLinenumber: 134
    functionLinenumberEnd: 160
    functionName: json_patch_apply_add_replace
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_patch.c
    functionUses: 0
    functionsReached:
    - json_pointer_set_with_array_cb
    - json_pointer_get
    - json_object_object_get_ex
    - _set_err_from_ptrget
    - _set_err
    - json_object_put
    - json_object_get
    linkageType: ''
    returnType: int
    signature: "int json_patch_apply_add_replace(struct json_object **res,\n                                        struct
      json_object *patch_elem,\n                                        const char
      *path, int add, struct json_patch_error *patch_error)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:168,1
    - Dst: json_object_array_insert_idx
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - parent
    - idx
    - value
    - priv
    argTypes:
    - struct json_object*
    - size_t
    - struct json_object*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 190
    functionName: json_object_array_move_cb
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_patch.c
    functionUses: 0
    functionsReached:
    - json_object_array_length
    - json_object_array_insert_idx
    linkageType: ''
    returnType: int
    signature: "int json_object_array_move_cb(struct json_object *parent, size_t idx,\n
      \                                    struct json_object *value, void *priv)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_object_object_get_ex
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:203,1
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:204,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:208,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:210,1
    - Dst: strncmp
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:211,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:219,1
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:221,1
    - Dst: json_pointer_get_internal
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:225,1
    - Dst: _set_err_from_ptrget
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:228,1
    - Dst: json_object_get
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:234,1
    - Dst: __json_patch_apply_remove
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:239,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:241,1
    - Dst: json_pointer_set_with_array_cb
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:247,1
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:250,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - res
    - patch_elem
    - path
    - move
    - patch_error
    argTypes:
    - struct json_object**
    - struct json_object*
    - char*
    - int
    - struct json_patch_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 255
    functionName: json_patch_apply_move_copy
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_patch.c
    functionUses: 0
    functionsReached:
    - json_pointer_set_with_array_cb
    - json_object_get_string
    - json_object_object_get_ex
    - _set_err_from_ptrget
    - strlen
    - _set_err
    - json_pointer_get_internal
    - strncmp
    - __json_patch_apply_remove
    - json_object_put
    - json_object_get
    linkageType: ''
    returnType: int
    signature: "int json_patch_apply_move_copy(struct json_object **res,\n                                      struct
      json_object *patch_elem,\n                                      const char *path,
      int move, struct json_patch_error *patch_error)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:274,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:278,1
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:279,1
    - Dst: json_object_deep_copy
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:285,1
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:287,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:293,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:295,1
    - Dst: json_object_object_get_ex
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:300,1
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:301,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:304,1
    - Dst: json_object_object_get_ex
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:305,1
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:306,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:309,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:311,1
    - Dst: json_patch_apply_test
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:312,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:313,1
    - Dst: json_patch_apply_remove
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:314,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:315,1
    - Dst: json_patch_apply_add_replace
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:316,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:317,1
    - Dst: json_patch_apply_add_replace
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:318,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:319,1
    - Dst: json_patch_apply_move_copy
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:320,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:321,1
    - Dst: json_patch_apply_move_copy
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:322,1
    - Dst: _set_err
      Src: /src/json-c-json-c-0.17-20230812/json_patch.c:324,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 4
    argNames:
    - copy_from
    - patch
    - base
    - patch_error
    argTypes:
    - struct json_object*
    - struct json_object*
    - struct json_object**
    - struct json_patch_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 257
    functionDepth: 6
    functionLinenumber: 257
    functionLinenumberEnd: 332
    functionName: json_patch_apply
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_patch.c
    functionUses: 0
    functionsReached:
    - strcmp
    - json_object_array_get_idx
    - json_object_object_get_ex
    - json_object_get_string
    - json_patch_apply_test
    - json_object_deep_copy
    - _set_err
    - json_patch_apply_remove
    - json_patch_apply_move_copy
    - json_object_array_length
    - json_object_is_type
    - json_patch_apply_add_replace
    linkageType: ''
    returnType: int
    signature: "int json_patch_apply(struct json_object *copy_from, struct json_object
      *patch,\n                     struct json_object **base, struct json_patch_error
      *patch_error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - regs
    - h
    argTypes:
    - int[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: do_cpuid
    functionSourceFile: /src/json-c-json-c-0.17-20230812/random_seed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_cpuid(int regs[], int h)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_cpuid
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:74,1
    - Dst: get_rdrand_seed
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:91,1
    - Dst: get_rdrand_seed
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 105
    functionName: has_rdrand
    functionSourceFile: /src/json-c-json-c-0.17-20230812/random_seed.c
    functionUses: 0
    functionsReached:
    - get_rdrand_seed
    - do_cpuid
    linkageType: ''
    returnType: int
    signature: int has_rdrand(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_SEED
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: get_rdrand_seed
    functionSourceFile: /src/json-c-json-c-0.17-20230812/random_seed.c
    functionUses: 1
    functionsReached:
    - DEBUG_SEED
    linkageType: ''
    returnType: int
    signature: int get_rdrand_seed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_SEED
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:141,1
    - Dst: _rdrand32_step
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: get_rdrand_seed
    functionSourceFile: /src/json-c-json-c-0.17-20230812/random_seed.c
    functionUses: 1
    functionsReached:
    - _rdrand32_step
    - DEBUG_SEED
    linkageType: ''
    returnType: int
    signature: int get_rdrand_seed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_SEED
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: get_rdrand_seed
    functionSourceFile: /src/json-c-json-c-0.17-20230812/random_seed.c
    functionUses: 1
    functionsReached:
    - DEBUG_SEED
    linkageType: ''
    returnType: int
    signature: int get_rdrand_seed(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_SEED
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:181,1
    - Dst: getrandom
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:187,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:197,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - seed
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 205
    functionName: get_getrandom_seed
    functionSourceFile: /src/json-c-json-c-0.17-20230812/random_seed.c
    functionUses: 0
    functionsReached:
    - fprintf
    - getrandom
    - DEBUG_SEED
    - strerror
    linkageType: ''
    returnType: int
    signature: int get_getrandom_seed(int *seed)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_SEED
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:224,1
    - Dst: stat
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:227,1
    - Dst: open
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:232,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:235,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:235,1
    - Dst: read
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:239,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:241,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:245,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - seed
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 250
    functionName: get_dev_random_seed
    functionSourceFile: /src/json-c-json-c-0.17-20230812/random_seed.c
    functionUses: 0
    functionsReached:
    - DEBUG_SEED
    - open
    - read
    - close
    - strerror
    - fprintf
    - stat
    linkageType: ''
    returnType: int
    signature: int get_dev_random_seed(int *seed)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_SEED
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:277,1
    - Dst: LOBYTE
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:280,1
    - Dst: LOWORD
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:280,1
    - Dst: GetVersion
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:280,1
    - Dst: CryptAcquireContextA
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:283,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:285,1
    - Dst: GetLastError
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:285,1
    - Dst: CryptGenRandom
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:290,1
    - Dst: CryptReleaseContext
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:291,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:294,1
    - Dst: GetLastError
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - seed
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 300
    functionName: get_cryptgenrandom_seed
    functionSourceFile: /src/json-c-json-c-0.17-20230812/random_seed.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - DEBUG_SEED
    - LOWORD
    - LOBYTE
    - CryptGenRandom
    - CryptAcquireContextA
    - GetVersion
    - fprintf
    - CryptReleaseContext
    linkageType: ''
    returnType: int
    signature: int get_cryptgenrandom_seed(int *seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_SEED
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:311,1
    - Dst: time
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: get_time_seed
    functionSourceFile: /src/json-c-json-c-0.17-20230812/random_seed.c
    functionUses: 0
    functionsReached:
    - time
    - DEBUG_SEED
    linkageType: ''
    returnType: int
    signature: int get_time_seed(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_rdrand
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:326,1
    - Dst: get_rdrand_seed
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:327,1
    - Dst: arc4random
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:331,1
    - Dst: get_getrandom_seed
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:336,1
    - Dst: get_dev_random_seed
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:343,1
    - Dst: get_cryptgenrandom_seed
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:350,1
    - Dst: get_time_seed
      Src: /src/json-c-json-c-0.17-20230812/random_seed.c:354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 356
    functionName: json_c_get_random_seed
    functionSourceFile: /src/json-c-json-c-0.17-20230812/random_seed.c
    functionUses: 0
    functionsReached:
    - has_rdrand
    - get_time_seed
    - get_cryptgenrandom_seed
    - get_dev_random_seed
    - get_getrandom_seed
    - get_rdrand_seed
    - arc4random
    linkageType: ''
    returnType: int
    signature: int json_c_get_random_seed(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:41,1
    - Dst: malloc
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:46,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: printbuf_new
    functionSourceFile: /src/json-c-json-c-0.17-20230812/printbuf.c
    functionUses: 0
    functionsReached:
    - calloc
    - free
    - malloc
    linkageType: ''
    returnType: struct printbuf
    signature: struct printbuf *printbuf_new(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MC_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:86,1
    - Dst: realloc
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - p
    - min_size
    argTypes:
    - struct printbuf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 95
    functionName: printbuf_extend
    functionSourceFile: /src/json-c-json-c-0.17-20230812/printbuf.c
    functionUses: 0
    functionsReached:
    - MC_DEBUG
    - realloc
    linkageType: ''
    returnType: int
    signature: int printbuf_extend(struct printbuf *p, int min_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printbuf_extend
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:107,1
    - Dst: memcpy
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - struct printbuf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: printbuf_memappend
    functionSourceFile: /src/json-c-json-c-0.17-20230812/printbuf.c
    functionUses: 0
    functionsReached:
    - printbuf_extend
    - memcpy
    linkageType: ''
    returnType: int
    signature: int printbuf_memappend(struct printbuf *p, const char *buf, int size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printbuf_extend
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:131,1
    - Dst: memset
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:136,1
    - Dst: memset
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - pb
    - offset
    - charvalue
    - len
    argTypes:
    - struct printbuf*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 142
    functionName: printbuf_memset
    functionSourceFile: /src/json-c-json-c-0.17-20230812/printbuf.c
    functionUses: 0
    functionsReached:
    - memset
    - printbuf_extend
    linkageType: ''
    returnType: int
    signature: int printbuf_memset(struct printbuf *pb, int offset, int charvalue,
      int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:152,1
    - Dst: vsnprintf
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:153,1
    - Dst: va_end
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:154,1
    - Dst: va_start
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:162,1
    - Dst: vasprintf
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:163,1
    - Dst: va_end
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:165,1
    - Dst: va_end
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:168,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:169,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:170,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - p
    - msg
    argTypes:
    - struct printbuf*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 177
    functionName: sprintbuf
    functionSourceFile: /src/json-c-json-c-0.17-20230812/printbuf.c
    functionUses: 0
    functionsReached:
    - va_end
    - vasprintf
    - printbuf_memappend
    - free
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: int sprintbuf(struct printbuf *p, const char *msg, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct printbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: printbuf_reset
    functionSourceFile: /src/json-c-json-c-0.17-20230812/printbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void printbuf_reset(struct printbuf *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:189,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/printbuf.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct printbuf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: printbuf_free
    functionSourceFile: /src/json-c-json-c-0.17-20230812/printbuf.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void printbuf_free(struct printbuf *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _vscprintf
      Src: /src/json-c-json-c-0.17-20230812/vasprintf_compat.h:34,1
    - Dst: va_copy
      Src: /src/json-c-json-c-0.17-20230812/vasprintf_compat.h:39,1
    - Dst: vsnprintf
      Src: /src/json-c-json-c-0.17-20230812/vasprintf_compat.h:40,1
    - Dst: va_end
      Src: /src/json-c-json-c-0.17-20230812/vasprintf_compat.h:41,1
    - Dst: malloc
      Src: /src/json-c-json-c-0.17-20230812/vasprintf_compat.h:48,1
    - Dst: vsprintf
      Src: /src/json-c-json-c-0.17-20230812/vasprintf_compat.h:54,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/vasprintf_compat.h:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - fmt
    - ap
    argTypes:
    - char**
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 64
    functionName: vasprintf
    functionSourceFile: /src/json-c-json-c-0.17-20230812/vasprintf_compat.h
    functionUses: 3
    functionsReached:
    - va_end
    - malloc
    - vsprintf
    - free
    - va_copy
    - _vscprintf
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: int vasprintf(char **buf, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: jt_hexdigit
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jt_hexdigit(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: is_ws_char
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ws_char(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: is_hex_char
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_hex_char(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - jerr
    argTypes:
    - enum json_tokener_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: json_tokener_error_desc
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *json_tokener_error_desc(enum json_tokener_error jerr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tok
    argTypes:
    - struct json_tokener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: json_tokener_get_error
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum json_tokener_error
    signature: enum json_tokener_error json_tokener_get_error(struct json_tokener
      *tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - uc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: IS_HIGH_SURROGATE
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HIGH_SURROGATE(uc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - uc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: IS_LOW_SURROGATE
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_LOW_SURROGATE(uc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hi
    - ','
    - lo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: DECODE_SURROGATE_PAIR
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_SURROGATE_PAIR(hi, lo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:157,1
    - Dst: calloc
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:160,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:163,1
    - Dst: printbuf_new
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:166,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:169,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:170,1
    - Dst: json_tokener_reset
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - depth
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: json_tokener_new_ex
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached:
    - calloc
    - printbuf_new
    - free
    - json_tokener_reset
    linkageType: ''
    returnType: struct json_tokener
    signature: struct json_tokener *json_tokener_new_ex(int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_new_ex
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: json_tokener_new
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached:
    - json_tokener_new_ex
    linkageType: ''
    returnType: struct json_tokener
    signature: struct json_tokener *json_tokener_new(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_reset
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:185,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:187,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:188,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tok
    argTypes:
    - struct json_tokener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: json_tokener_free
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached:
    - json_tokener_reset
    - printbuf_free
    - free
    linkageType: ''
    returnType: void
    signature: void json_tokener_free(struct json_tokener *tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:196,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - tok
    - depth
    argTypes:
    - struct json_tokener*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: json_tokener_reset_level
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached:
    - free
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void json_tokener_reset_level(struct json_tokener *tok, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_reset_level
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tok
    argTypes:
    - struct json_tokener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: json_tokener_reset
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 2
    functionsReached:
    - json_tokener_reset_level
    linkageType: ''
    returnType: void
    signature: void json_tokener_reset(struct json_tokener *tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_parse_verbose
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 220
    functionName: json_tokener_parse
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached:
    - json_tokener_parse_verbose
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_tokener_parse(const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_new
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:227,1
    - Dst: json_tokener_parse_ex
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:230,1
    - Dst: json_tokener_get_parse_end
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:239,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:239,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:245,1
    - Dst: json_tokener_free
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - str
    - error
    argTypes:
    - char*
    - enum json_tokener_error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 251
    functionName: json_tokener_parse_verbose
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 1
    functionsReached:
    - json_tokener_parse_ex
    - strlen
    - json_tokener_get_parse_end
    - json_tokener_free
    - json_object_put
    - json_tokener_new
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_tokener_parse_verbose(const char *str, enum
      json_tokener_error *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - tok
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: PEEK_CHAR
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PEEK_CHAR(dest, tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - tok
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: ADVANCE_CHAR
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADVANCE_CHAR(str, tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - s
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: printbuf_memappend_checked
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: printbuf_memappend_checked(p, s, l)
  - BBCount: 162
    BranchProfiles: []
    Callsites:
    - Dst: uselocale
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:317,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:332,1
    - Dst: duplocale
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:340,1
    - Dst: newlocale
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:341,1
    - Dst: freelocale
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:344,1
    - Dst: freelocale
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:350,1
    - Dst: uselocale
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:352,1
    - Dst: setlocale
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:357,1
    - Dst: strdup
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:360,1
    - Dst: setlocale
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:364,1
    - Dst: PEEK_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:368,1
    - Dst: is_ws_char
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:377,1
    - Dst: ADVANCE_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:379,1
    - Dst: PEEK_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:379,1
    - Dst: printbuf_reset
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:384,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:385,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:401,1
    - Dst: json_object_new_array
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:411,1
    - Dst: printbuf_reset
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:421,1
    - Dst: printbuf_reset
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:427,1
    - Dst: printbuf_reset
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:440,1
    - Dst: printbuf_reset
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:448,1
    - Dst: printbuf_reset
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:463,1
    - Dst: json_object_get
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:473,1
    - Dst: json_tokener_reset_level
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:474,1
    - Dst: ADVANCE_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:502,1
    - Dst: PEEK_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:503,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:513,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:517,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:532,1
    - Dst: json_min
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:533,1
    - Dst: json_min
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:534,1
    - Dst: strncasecmp
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:536,1
    - Dst: strncmp
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:537,1
    - Dst: strncasecmp
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:548,1
    - Dst: strncmp
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:549,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:553,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:587,1
    - Dst: ADVANCE_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:596,1
    - Dst: PEEK_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:596,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:598,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:603,1
    - Dst: ADVANCE_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:614,1
    - Dst: PEEK_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:614,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:616,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:621,1
    - Dst: MC_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:622,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:628,1
    - Dst: MC_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:631,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:648,1
    - Dst: json_object_new_string_len
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:651,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:663,1
    - Dst: ADVANCE_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:669,1
    - Dst: PEEK_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:669,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:671,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:685,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:694,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:696,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:698,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:700,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:702,1
    - Dst: is_hex_char
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:721,1
    - Dst: jt_hexdigit
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:727,1
    - Dst: ADVANCE_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:732,1
    - Dst: PEEK_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:733,1
    - Dst: IS_LOW_SURROGATE
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:751,1
    - Dst: DECODE_SURROGATE_PAIR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:754,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:762,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:772,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:779,1
    - Dst: IS_HIGH_SURROGATE
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:781,1
    - Dst: IS_LOW_SURROGATE
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:802,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:805,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:813,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:822,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:827,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:842,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:861,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:876,1
    - Dst: json_min
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:877,1
    - Dst: json_min
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:878,1
    - Dst: strncasecmp
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:880,1
    - Dst: strncmp
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:881,1
    - Dst: json_object_new_boolean
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:885,1
    - Dst: strncasecmp
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:897,1
    - Dst: strncmp
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:898,1
    - Dst: json_object_new_boolean
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:902,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:930,1
    - Dst: strchr
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:935,1
    - Dst: strchr
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:937,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:941,1
    - Dst: ADVANCE_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:985,1
    - Dst: PEEK_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:985,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:987,1
    - Dst: is_ws_char
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1000,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1006,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1019,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1021,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1027,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1028,1
    - Dst: json_parse_int64
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1037,1
    - Dst: json_object_new_int64
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1044,1
    - Dst: json_parse_uint64
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1052,1
    - Dst: json_object_new_int64
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1068,1
    - Dst: json_object_new_uint64
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1077,1
    - Dst: json_tokener_parse_double
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1086,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1087,1
    - Dst: json_object_new_double_s
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1089,1
    - Dst: json_object_array_shrink
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1112,1
    - Dst: json_tokener_reset_level
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1132,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1138,1
    - Dst: json_object_array_shrink
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1151,1
    - Dst: printbuf_reset
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1184,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1202,1
    - Dst: strdup
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1204,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1216,1
    - Dst: ADVANCE_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1222,1
    - Dst: PEEK_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1222,1
    - Dst: printbuf_memappend_checked
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1224,1
    - Dst: json_tokener_reset_level
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1253,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1257,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1258,1
    - Dst: ADVANCE_CHAR
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1283,1
    - Dst: uselocale
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1308,1
    - Dst: freelocale
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1309,1
    - Dst: setlocale
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1311,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1312,1
    - Dst: json_object_get
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1317,1
    - Dst: json_tokener_reset_level
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1322,1
    - Dst: MC_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1326,1
    CyclomaticComplexity: 276
    EdgeCount: 276
    ICount: 717
    argCount: 3
    argNames:
    - tok
    - str
    - len
    argTypes:
    - struct json_tokener*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 1329
    functionName: json_tokener_parse_ex
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 1
    functionsReached:
    - json_tokener_reset_level
    - strncasecmp
    - printbuf_length
    - json_object_new_array
    - IS_HIGH_SURROGATE
    - json_object_new_uint64
    - jt_hexdigit
    - json_tokener_parse_double
    - printbuf_memappend_checked
    - json_object_new_double
    - strdup
    - json_object_new_boolean
    - json_parse_int64
    - json_object_object_add
    - setlocale
    - json_parse_uint64
    - strlen
    - ADVANCE_CHAR
    - uselocale
    - strncmp
    - json_object_array_shrink
    - DECODE_SURROGATE_PAIR
    - is_hex_char
    - json_object_new_object
    - printbuf_reset
    - PEEK_CHAR
    - json_object_new_string_len
    - strchr
    - freelocale
    - json_object_new_double_s
    - MC_DEBUG
    - json_object_get
    - json_object_new_int64
    - newlocale
    - duplocale
    - free
    - is_ws_char
    - json_min
    - IS_LOW_SURROGATE
    - json_object_array_add
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_tokener_parse_ex(struct json_tokener *tok,
      const char *str, int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - c
    - nBytes
    argTypes:
    - char
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1355
    functionName: json_tokener_validate_utf8
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_bool
    signature: json_bool json_tokener_validate_utf8(const char c, unsigned int *nBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tok
    - flags
    argTypes:
    - struct json_tokener*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1360
    functionName: json_tokener_set_flags
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_tokener_set_flags(struct json_tokener *tok, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tok
    argTypes:
    - struct json_tokener*
    assertStmts:
    - condition: (tok->char_offset >= 0)
      pos:
        line_end: 1363
        line_start: 1363
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.c
    constantsTouched: []
    func_position:
      end: 1366
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1366
    functionName: json_tokener_get_parse_end
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t json_tokener_get_parse_end(struct json_tokener *tok)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/json-c-json-c-0.17-20230812/json_tokener.c:1371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - len
    - retval
    argTypes:
    - char*
    - int
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1375
    functionName: json_tokener_parse_double
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_tokener.c
    functionUses: 1
    functionsReached:
    - strtod
    linkageType: ''
    returnType: int
    signature: int json_tokener_parse_double(const char *buf, int len, double *retval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - bufptr
    - ','
    - bufsize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: printbuf_memappend_fast
    functionSourceFile: /src/json-c-json-c-0.17-20230812/printbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: printbuf_memappend_fast(p, bufptr, bufsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: printbuf_length
    functionSourceFile: /src/json-c-json-c-0.17-20230812/printbuf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: printbuf_length(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mystr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: _printbuf_check_literal
    functionSourceFile: /src/json-c-json-c-0.17-20230812/printbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _printbuf_check_literal(mystr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pb
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: printbuf_strappend
    functionSourceFile: /src/json-c-json-c-0.17-20230812/printbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: printbuf_strappend(pb, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: is_plain_digit
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_plain_digit(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: JC_OBJECT
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_object
    signature: struct json_object_object *JC_OBJECT(struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: JC_OBJECT_C
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_object
    signature: struct json_object_object *JC_OBJECT_C(const struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: JC_ARRAY
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_array
    signature: struct json_object_array *JC_ARRAY(struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: JC_ARRAY_C
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_array
    signature: struct json_object_array *JC_ARRAY_C(const struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: JC_BOOL
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_boolean
    signature: struct json_object_boolean *JC_BOOL(struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: JC_BOOL_C
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_boolean
    signature: struct json_object_boolean *JC_BOOL_C(const struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: JC_DOUBLE
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_double
    signature: struct json_object_double *JC_DOUBLE(struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: JC_DOUBLE_C
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_double
    signature: struct json_object_double *JC_DOUBLE_C(const struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: JC_INT
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_int
    signature: struct json_object_int *JC_INT(struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: JC_INT_C
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_int
    signature: struct json_object_int *JC_INT_C(const struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: JC_STRING
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_string
    signature: struct json_object_string *JC_STRING(struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: JC_STRING_C
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object_string
    signature: struct json_object_string *JC_STRING_C(const struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: JC_CONCAT
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JC_CONCAT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: JC_CONCAT3
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JC_CONCAT3(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - jtype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: JSON_OBJECT_NEW
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_OBJECT_NEW(jtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JC_STRING_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:172,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:175,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: get_string_component_mutable
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - JC_STRING_C
    - JC_STRING
    linkageType: ''
    returnType: char
    signature: char *get_string_component_mutable(struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_string_component_mutable
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: get_string_component
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - get_string_component_mutable
    linkageType: ''
    returnType: char
    signature: char *get_string_component(const struct json_object *jso)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:211,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:214,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:216,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:218,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:220,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:222,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:224,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:226,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:228,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:237,1
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:239,1
    - Dst: printbuf_memappend_fast
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:241,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:249,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 4
    argNames:
    - pb
    - str
    - len
    - flags
    argTypes:
    - struct printbuf*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 251
    functionName: json_escape_str
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - printbuf_memappend
    - printbuf_memappend_fast
    - snprintf
    linkageType: ''
    returnType: int
    signature: int json_escape_str(struct printbuf *pb, const char *str, size_t len,
      int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:261,1
    - Dst: __sync_add_and_fetch
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts:
    - condition: (jso->_ref_count < UINT32_MAX)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 270
    functionName: json_object_get
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 3
    functionsReached:
    - assert
    - __sync_add_and_fetch
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_get(struct json_object *jso)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:280,1
    - Dst: __sync_sub_and_fetch
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:289,1
    - Dst: struct json_object*::_user_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:297,1
    - Dst: json_object_object_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:300,1
    - Dst: json_object_array_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:301,1
    - Dst: json_object_string_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:302,1
    - Dst: json_object_generic_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:303,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts:
    - condition: (jso->_ref_count > 0)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 306
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 306
    functionName: json_object_put
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 7
    functionsReached:
    - json_object_string_delete
    - assert
    - struct json_object*::_user_delete
    - json_object_generic_delete
    - json_object_object_delete
    - json_object_array_delete
    - __sync_sub_and_fetch
    linkageType: ''
    returnType: int
    signature: int json_object_put(struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:312,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: json_object_generic_delete
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - printbuf_free
    - free
    linkageType: ''
    returnType: void
    signature: void json_object_generic_delete(struct json_object *jso)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - o_type
    - alloc_size
    - to_json_string
    argTypes:
    - enum json_type
    - size_t
    - json_object_to_json_string_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 334
    functionName: json_object_new
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: struct json_object
    signature: "struct json_object *json_object_new(enum json_type o_type, size_t
      alloc_size,\n                                                  json_object_to_json_string_fn
      *to_json_string)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - jso
    - type
    argTypes:
    - struct json_object*
    - enum json_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: json_object_is_type
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int json_object_is_type(const struct json_object *jso, enum json_type
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: json_object_get_type
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum json_type
    signature: enum json_type json_object_get_type(const struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: json_object_get_userdata
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *json_object_get_userdata(json_object *jso)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:360,1
    - Dst: json_object*::_user_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - jso
    - userdata
    - user_delete
    argTypes:
    - json_object*
    - void*
    - json_object_delete_fn*
    assertStmts:
    - condition: (jso != NULL)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 368
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 368
    functionName: json_object_set_userdata
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object*::_user_delete
    - assert
    linkageType: ''
    returnType: void
    signature: void json_object_set_userdata(json_object *jso, void *userdata, json_object_delete_fn
      *user_delete)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set_userdata
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:375,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - jso
    - to_string_func
    - userdata
    - user_delete
    argTypes:
    - json_object*
    - json_object_to_json_string_fn*
    - void*
    - json_object_delete_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 404
    functionName: json_object_set_serializer
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_set_userdata
    linkageType: ''
    returnType: void
    signature: "void json_object_set_serializer(json_object *jso, json_object_to_json_string_fn
      *to_string_func,\n                                void *userdata, json_object_delete_fn
      *user_delete)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printbuf_new
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:418,1
    - Dst: printbuf_reset
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:420,1
    - Dst: struct json_object*::_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - jso
    - flags
    - length
    argTypes:
    - struct json_object*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 432
    functionName: json_object_to_json_string_length
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - struct json_object*::_to_json_string
    - printbuf_new
    - printbuf_reset
    linkageType: ''
    returnType: char
    signature: char *json_object_to_json_string_length(struct json_object *jso, int
      flags, size_t *length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_to_json_string_length
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - jso
    - flags
    argTypes:
    - struct json_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: json_object_to_json_string_ext
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_to_json_string_length
    linkageType: ''
    returnType: char
    signature: char *json_object_to_json_string_ext(struct json_object *jso, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 3
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: json_object_to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_to_json_string_ext
    linkageType: ''
    returnType: char
    signature: char *json_object_to_json_string(struct json_object *jso)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:452,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pb
    - level
    - flags
    argTypes:
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 459
    functionName: indent
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - printbuf_memset
    linkageType: ''
    returnType: void
    signature: void indent(struct printbuf *pb, int level, int flags)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:469,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:474,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:477,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:480,1
    - Dst: indent
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:481,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:483,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:485,1
    - Dst: json_escape_str
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:486,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:486,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:487,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:490,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:493,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:495,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:499,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:500,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:502,1
    - Dst: struct json_object_iter::val::_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:503,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:508,1
    - Dst: indent
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:509,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:512,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:514,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 4
    argNames:
    - jso
    - pb
    - level
    - flags
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 515
    functionName: json_object_object_to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - printbuf_strappend
    - strlen
    - json_escape_str
    - struct json_object_iter::val::_to_json_string
    - indent
    linkageType: ''
    returnType: int
    signature: "int json_object_object_to_json_string(struct json_object *jso, struct
      printbuf *pb,\n                                             int level, int flags)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:474,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:477,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:480,1
    - Dst: indent
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:481,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:483,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:485,1
    - Dst: json_escape_str
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:486,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:486,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:487,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:490,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:493,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:495,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:499,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:500,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:502,1
    - Dst: val::_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:503,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 470
    functionDepth: 4
    functionLinenumber: 470
    functionLinenumberEnd: 505
    functionName: json_object_object_foreachC
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - printbuf_strappend
    - strlen
    - json_escape_str
    - val::_to_json_string
    - indent
    linkageType: ''
    returnType: void
    signature: void json_object_object_foreachC(jso, iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_entry_k_is_constant
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:519,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:520,1
    - Dst: lh_entry_k
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:520,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:521,1
    - Dst: lh_entry_v
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ent
    argTypes:
    - struct lh_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: json_object_lh_entry_free
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - lh_entry_k_is_constant
    - lh_entry_v
    - lh_entry_k
    - free
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void json_object_lh_entry_free(struct lh_entry *ent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:526,1
    - Dst: JC_OBJECT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:526,1
    - Dst: json_object_generic_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - jso_base
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: json_object_object_delete
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - JC_OBJECT
    - lh_table_free
    - json_object_generic_delete
    linkageType: ''
    returnType: void
    signature: void json_object_object_delete(struct json_object *jso_base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_OBJECT_NEW
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:532,1
    - Dst: lh_kchar_table_new
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:536,1
    - Dst: json_object_generic_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 544
    functionName: json_object_new_object
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - JSON_OBJECT_NEW
    - json_object_generic_delete
    - lh_kchar_table_new
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_object(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JC_OBJECT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 555
    functionName: json_object_get_object
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - JC_OBJECT_C
    linkageType: ''
    returnType: struct lh_table
    signature: struct lh_table *json_object_get_object(const struct json_object *jso)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:564,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:564,1
    - Dst: lh_get_hash
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:568,1
    - Dst: JC_OBJECT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:568,1
    - Dst: lh_table_lookup_entry_w_hash
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:572,1
    - Dst: JC_OBJECT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:572,1
    - Dst: strdup
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:582,1
    - Dst: lh_table_insert_w_hash
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:585,1
    - Dst: JC_OBJECT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:585,1
    - Dst: lh_entry_v
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:587,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:589,1
    - Dst: lh_entry_set_val
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - jso
    - key
    - val
    - opts
    argTypes:
    - struct json_object*
    - char*
    - struct json_object*
    - unsigned
    assertStmts:
    - condition: (json_object_get_type(jso) == json_type_object)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 592
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 592
    functionName: json_object_object_add_ex
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - lh_entry_v
    - assert
    - JC_OBJECT
    - lh_entry_set_val
    - lh_get_hash
    - strdup
    - lh_table_insert_w_hash
    - lh_table_lookup_entry_w_hash
    - json_object_put
    - json_object_get_type
    linkageType: ''
    returnType: int
    signature: "int json_object_object_add_ex(struct json_object *jso, const char
      *const key,\n                              struct json_object *const val, const
      unsigned opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_object_add_ex
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - jso
    - key
    - val
    argTypes:
    - struct json_object*
    - char*
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: json_object_object_add
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 2
    functionsReached:
    - json_object_object_add_ex
    linkageType: ''
    returnType: int
    signature: int json_object_object_add(struct json_object *jso, const char *key,
      struct json_object *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:601,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:601,1
    - Dst: lh_table_length
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:602,1
    - Dst: JC_OBJECT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts:
    - condition: (json_object_get_type(jso) == json_type_object)
      pos:
        line_end: 600
        line_start: 600
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: json_object_object_length
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - lh_table_length
    - assert
    - JC_OBJECT_C
    - json_object_get_type
    linkageType: ''
    returnType: int
    signature: int json_object_object_length(const struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: json_c_object_sizeof
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t json_c_object_sizeof(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_object_get_ex
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - jso
    - key
    argTypes:
    - struct json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 615
    functionName: json_object_object_get
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_object_get_ex
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_object_get(const struct json_object
      *jso, const char *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_lookup_ex
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:629,1
    - Dst: JC_OBJECT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - jso
    - key
    - value
    argTypes:
    - struct json_object*
    - char*
    - struct json_object**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 636
    functionName: json_object_object_get_ex
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 5
    functionsReached:
    - JC_OBJECT_C
    - lh_table_lookup_ex
    linkageType: ''
    returnType: json_bool
    signature: "json_bool json_object_object_get_ex(const struct json_object *jso,
      const char *key,\n                                    struct json_object **value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:640,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:640,1
    - Dst: lh_table_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:641,1
    - Dst: JC_OBJECT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - jso
    - key
    argTypes:
    - struct json_object*
    - char*
    assertStmts:
    - condition: (json_object_get_type(jso) == json_type_object)
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionName: json_object_object_del
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - lh_table_delete
    - assert
    - JC_OBJECT
    - json_object_get_type
    linkageType: ''
    returnType: void
    signature: void json_object_object_del(struct json_object *jso, const char *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:652,1
    - Dst: JC_BOOL
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:654,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:655,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:657,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - jso
    - pb
    - level
    - flags
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 661
    functionName: json_object_boolean_to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - printbuf_strappend
    - JC_BOOL
    linkageType: ''
    returnType: int
    signature: "int json_object_boolean_to_json_string(struct json_object *jso, struct
      printbuf *pb,\n                                              int level, int
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_OBJECT_NEW
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - json_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: json_object_new_boolean
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - JSON_OBJECT_NEW
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_boolean(json_bool b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JC_BOOL_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:678,1
    - Dst: JC_INT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:680,1
    - Dst: JC_INT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:682,1
    - Dst: JC_INT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:683,1
    - Dst: json_abort
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:684,1
    - Dst: JC_DOUBLE_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:686,1
    - Dst: JC_STRING_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 690
    functionName: json_object_get_boolean
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - JC_STRING_C
    - json_abort
    - JC_BOOL_C
    - JC_INT_C
    - JC_DOUBLE_C
    linkageType: ''
    returnType: json_bool
    signature: json_bool json_object_get_boolean(const struct json_object *jso)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JC_BOOL
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - jso
    - new_value
    argTypes:
    - struct json_object*
    - json_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: json_object_set_boolean
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - JC_BOOL
    linkageType: ''
    returnType: int
    signature: int json_object_set_boolean(struct json_object *jso, json_bool new_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:707,1
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:708,1
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:708,1
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:710,1
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:710,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:711,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - jso
    - pb
    - level
    - flags
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 712
    functionName: json_object_int_to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - JC_INT
    - printbuf_memappend
    - snprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: "int json_object_int_to_json_string(struct json_object *jso, struct
      printbuf *pb, int level,\n                                          int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_int64
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 717
    functionName: json_object_new_int
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_new_int64
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_int(int32_t i)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JC_INT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:731,1
    - Dst: json_parse_int64
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:750,1
    - Dst: get_string_component
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:750,1
    - Dst: JC_DOUBLE_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:765,1
    - Dst: JC_BOOL_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:771,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 719
    functionDepth: 3
    functionLinenumber: 719
    functionLinenumberEnd: 774
    functionName: json_object_get_int
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - JC_BOOL_C
    - json_parse_int64
    - JC_INT_C
    - JC_DOUBLE_C
    - get_string_component
    linkageType: ''
    returnType: int32_t
    signature: int32_t json_object_get_int(const struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set_int64
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - jso
    - new_value
    argTypes:
    - struct json_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 779
    functionName: json_object_set_int
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_set_int64
    linkageType: ''
    returnType: int
    signature: int json_object_set_int(struct json_object *jso, int new_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_OBJECT_NEW
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 789
    functionName: json_object_new_int64
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 2
    functionsReached:
    - JSON_OBJECT_NEW
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_int64(int64_t i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_OBJECT_NEW
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 799
    functionName: json_object_new_uint64
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - JSON_OBJECT_NEW
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_uint64(uint64_t i)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JC_INT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:811,1
    - Dst: json_abort
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:819,1
    - Dst: JC_DOUBLE_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:825,1
    - Dst: JC_DOUBLE_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:827,1
    - Dst: JC_DOUBLE_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:829,1
    - Dst: JC_BOOL_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:830,1
    - Dst: json_parse_int64
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:832,1
    - Dst: get_string_component
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:832,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 801
    functionDepth: 3
    functionLinenumber: 801
    functionLinenumberEnd: 837
    functionName: json_object_get_int64
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_abort
    - JC_BOOL_C
    - JC_INT_C
    - JC_DOUBLE_C
    - json_parse_int64
    - get_string_component
    linkageType: ''
    returnType: int64_t
    signature: int64_t json_object_get_int64(const struct json_object *jso)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: JC_INT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:849,1
    - Dst: json_abort
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:857,1
    - Dst: JC_DOUBLE_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:863,1
    - Dst: JC_DOUBLE_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:865,1
    - Dst: JC_DOUBLE_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:867,1
    - Dst: JC_BOOL_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:868,1
    - Dst: json_parse_uint64
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:870,1
    - Dst: get_string_component
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:870,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 875
    functionName: json_object_get_uint64
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_abort
    - JC_BOOL_C
    - JC_INT_C
    - JC_DOUBLE_C
    - get_string_component
    - json_parse_uint64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t json_object_get_uint64(const struct json_object *jso)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:881,1
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - jso
    - new_value
    argTypes:
    - struct json_object*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 884
    functionName: json_object_set_int64
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - JC_INT
    linkageType: ''
    returnType: int
    signature: int json_object_set_int64(struct json_object *jso, int64_t new_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:890,1
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - jso
    - new_value
    argTypes:
    - struct json_object*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 893
    functionName: json_object_set_uint64
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - JC_INT
    linkageType: ''
    returnType: int
    signature: int json_object_set_uint64(struct json_object *jso, uint64_t new_value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:900,1
    - Dst: json_abort
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:937,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - jso
    - val
    argTypes:
    - struct json_object*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 939
    functionName: json_object_int_inc
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - JC_INT
    - json_abort
    linkageType: ''
    returnType: int
    signature: int json_object_int_inc(struct json_object *jso, int64_t val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:956,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:961,1
    - Dst: strdup
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:964,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:967,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:983,1
    - Dst: strdup
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:988,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:991,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1002,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1009,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - double_format
    - global_or_thread
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 1014
    functionName: json_c_set_serialization_double_format
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    - _json_c_set_last_err
    linkageType: ''
    returnType: int
    signature: int json_c_set_serialization_double_format(const char *double_format,
      int global_or_thread)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JC_DOUBLE
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1019,1
    - Dst: isnan
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1027,1
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1029,1
    - Dst: isinf
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1031,1
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1034,1
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1036,1
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1056,1
    - Dst: strchr
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1061,1
    - Dst: strchr
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1065,1
    - Dst: strstr
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1067,1
    - Dst: is_plain_digit
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1071,1
    - Dst: is_plain_digit
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1071,1
    - Dst: strchr
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1074,1
    - Dst: strcat
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1079,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1105,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 5
    argNames:
    - jso
    - pb
    - level
    - flags
    - format
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1016
    functionDepth: 3
    functionLinenumber: 1016
    functionLinenumberEnd: 1107
    functionName: json_object_double_to_json_string_format
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - JC_DOUBLE
    - strcat
    - printbuf_memappend
    - strchr
    - snprintf
    - is_plain_digit
    - isnan
    - strstr
    - isinf
    linkageType: ''
    returnType: int
    signature: "int json_object_double_to_json_string_format(struct json_object *jso,
      struct printbuf *pb,\n                                                    int
      level, int flags, const char *format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_double_to_json_string_format
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - jso
    - pb
    - level
    - flags
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1109
    functionDepth: 4
    functionLinenumber: 1109
    functionLinenumberEnd: 1113
    functionName: json_object_double_to_json_string_default
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_double_to_json_string_format
    linkageType: ''
    returnType: int
    signature: "int json_object_double_to_json_string_default(struct json_object *jso,
      struct printbuf *pb,\n                                                     int
      level, int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_double_to_json_string_format
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - jso
    - pb
    - level
    - flags
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1115
    functionDepth: 4
    functionLinenumber: 1115
    functionLinenumberEnd: 1120
    functionName: json_object_double_to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_double_to_json_string_format
    linkageType: ''
    returnType: int
    signature: "int json_object_double_to_json_string(struct json_object *jso, struct
      printbuf *pb, int level,\n                                      int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_OBJECT_NEW
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1130
    functionName: json_object_new_double
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - JSON_OBJECT_NEW
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_double(double d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1135,1
    - Dst: strdup
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1139,1
    - Dst: json_object_generic_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1142,1
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - d
    - ds
    argTypes:
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1132
    functionDepth: 2
    functionLinenumber: 1132
    functionLinenumberEnd: 1149
    functionName: json_object_new_double_s
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - json_object_new_double
    - json_object_set_serializer
    - json_object_generic_delete
    - strdup
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_double_s(double d, const char *ds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_userdata_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - jso
    - pb
    - level
    - flags
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1160
    functionName: _json_object_userdata_to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_userdata_to_json_string
    linkageType: ''
    returnType: int
    signature: "int _json_object_userdata_to_json_string(struct json_object *jso,
      struct printbuf *pb,\n                                                int level,
      int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1165,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - jso
    - pb
    - level
    - flags
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1162
    functionDepth: 3
    functionLinenumber: 1162
    functionLinenumberEnd: 1168
    functionName: json_object_userdata_to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - printbuf_memappend
    - strlen
    linkageType: ''
    returnType: int
    signature: "int json_object_userdata_to_json_string(struct json_object *jso, struct
      printbuf *pb, int level,\n                                        int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - jso
    - userdata
    argTypes:
    - struct json_object*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1173
    functionName: json_object_free_userdata
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void json_object_free_userdata(struct json_object *jso, void *userdata)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JC_DOUBLE_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1184,1
    - Dst: JC_INT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1186,1
    - Dst: JC_INT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1188,1
    - Dst: JC_INT_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1189,1
    - Dst: json_abort
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1190,1
    - Dst: JC_BOOL_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1192,1
    - Dst: strtod
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1195,1
    - Dst: get_string_component
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1195,1
    - Dst: get_string_component
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1175
    functionDepth: 3
    functionLinenumber: 1175
    functionLinenumberEnd: 1231
    functionName: json_object_get_double
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_abort
    - JC_BOOL_C
    - JC_INT_C
    - JC_DOUBLE_C
    - get_string_component
    - strtod
    linkageType: ''
    returnType: double
    signature: double json_object_get_double(const struct json_object *jso)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JC_DOUBLE
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1237,1
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - jso
    - new_value
    argTypes:
    - struct json_object*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1241
    functionName: json_object_set_double
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_set_serializer
    - JC_DOUBLE
    linkageType: ''
    returnType: int
    signature: int json_object_set_double(struct json_object *jso, double new_value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1248,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1250,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1251,1
    - Dst: json_escape_str
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1252,1
    - Dst: get_string_component
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1252,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1253,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - jso
    - pb
    - level
    - flags
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1245
    functionDepth: 4
    functionLinenumber: 1245
    functionLinenumberEnd: 1257
    functionName: json_object_string_to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - printbuf_strappend
    - JC_STRING
    - json_escape_str
    - get_string_component
    linkageType: ''
    returnType: int
    signature: "int json_object_string_to_json_string(struct json_object *jso, struct
      printbuf *pb,\n                                             int level, int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1261,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1262,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1262,1
    - Dst: json_object_generic_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1264
    functionName: json_object_string_delete
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - free
    - JC_STRING
    - json_object_generic_delete
    linkageType: ''
    returnType: void
    signature: void json_object_string_delete(struct json_object *jso)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1292,1
    - Dst: memcpy
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1302
    functionName: _json_object_new_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_new
    - memcpy
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *_json_object_new_string(const char *s, const size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1306,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1307
    functionName: json_object_new_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - _json_object_new_string
    - strlen
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_string(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1312
    functionName: json_object_new_string_len
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - _json_object_new_string
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_string_len(const char *s, const
      int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_string_component
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1320,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1314
    functionDepth: 3
    functionLinenumber: 1314
    functionLinenumberEnd: 1323
    functionName: json_object_get_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 2
    functionsReached:
    - json_object_to_json_string
    - get_string_component
    linkageType: ''
    returnType: char
    signature: char *json_object_get_string(struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1330
    functionName: _json_object_get_string_len
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t _json_object_get_string_len(const struct json_object_string
      *jso)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _json_object_get_string_len
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1337,1
    - Dst: JC_STRING_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1340
    functionName: json_object_get_string_len
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - JC_STRING_C
    - _json_object_get_string_len
    linkageType: ''
    returnType: int
    signature: int json_object_get_string_len(const struct json_object *jso)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1356,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1359,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1359,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1360,1
    - Dst: get_string_component_mutable
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1367,1
    - Dst: malloc
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1374,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1377,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1378,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1378,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1379,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1382,1
    - Dst: memcpy
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1389,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1391,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - jso
    - s
    - len
    argTypes:
    - json_object*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1393
    functionName: _json_object_set_string_len
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - get_string_component_mutable
    - JC_STRING
    - malloc
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: int _json_object_set_string_len(json_object *jso, const char *s, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _json_object_set_string_len
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1397,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - jso
    - s
    argTypes:
    - json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1395
    functionDepth: 3
    functionLinenumber: 1395
    functionLinenumberEnd: 1398
    functionName: json_object_set_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - _json_object_set_string_len
    - strlen
    linkageType: ''
    returnType: int
    signature: int json_object_set_string(json_object *jso, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _json_object_set_string_len
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - jso
    - s
    - len
    argTypes:
    - json_object*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1400
    functionDepth: 3
    functionLinenumber: 1400
    functionLinenumberEnd: 1403
    functionName: json_object_set_string_len
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 2
    functionsReached:
    - _json_object_set_string_len
    linkageType: ''
    returnType: int
    signature: int json_object_set_string_len(json_object *jso, const char *s, int
      len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1413,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1414,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1419,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1422,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1425,1
    - Dst: indent
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1426,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1427,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1431,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1432,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1434,1
    - Dst: struct json_object*::_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1436,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1441,1
    - Dst: indent
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1442,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1446,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1447,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - jso
    - pb
    - level
    - flags
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1407
    functionDepth: 4
    functionLinenumber: 1407
    functionLinenumberEnd: 1448
    functionName: json_object_array_to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - printbuf_strappend
    - json_object_array_get_idx
    - json_object_array_length
    - struct json_object*::_to_json_string
    - indent
    linkageType: ''
    returnType: int
    signature: "int json_object_array_to_json_string(struct json_object *jso, struct
      printbuf *pb, int level,\n                                            int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1450
    functionDepth: 2
    functionLinenumber: 1450
    functionLinenumberEnd: 1453
    functionName: json_object_array_entry_free
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void json_object_array_entry_free(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: array_list_free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1457,1
    - Dst: JC_ARRAY
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1457,1
    - Dst: json_object_generic_delete
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1455
    functionDepth: 2
    functionLinenumber: 1455
    functionLinenumberEnd: 1459
    functionName: json_object_array_delete
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - JC_ARRAY
    - json_object_generic_delete
    - array_list_free
    linkageType: ''
    returnType: void
    signature: void json_object_array_delete(struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_array_ext
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1464
    functionName: json_object_new_array
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - json_object_new_array_ext
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_array(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_OBJECT_NEW
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1467,1
    - Dst: array_list_new2
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1470,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - initial_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1465
    functionDepth: 1
    functionLinenumber: 1465
    functionLinenumberEnd: 1477
    functionName: json_object_new_array_ext
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - JSON_OBJECT_NEW
    - free
    - array_list_new2
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_array_ext(int initial_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JC_ARRAY_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1488
    functionName: json_object_get_array
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - JC_ARRAY_C
    linkageType: ''
    returnType: struct array_list
    signature: struct array_list *json_object_get_array(const struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1492,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1492,1
    - Dst: array_list_sort
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1493,1
    - Dst: JC_ARRAY
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts:
    - condition: (json_object_get_type(jso) == json_type_array)
      pos:
        line_end: 1491
        line_start: 1491
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 1494
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1494
    functionName: json_object_array_sort
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - assert
    - array_list_sort
    - JC_ARRAY
    - json_object_get_type
    linkageType: ''
    returnType: void
    signature: void json_object_array_sort(struct json_object *jso, int (*sort_fn)(const
      void *, const void *))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1502,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1502,1
    - Dst: array_list_bsearch
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1503,1
    - Dst: JC_ARRAY_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - jso
    argTypes:
    - struct json_object*
    - struct json_object*
    assertStmts:
    - condition: (json_object_get_type(jso) == json_type_array)
      pos:
        line_end: 1501
        line_start: 1501
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 1509
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1509
    functionName: json_object_array_bsearch
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - assert
    - JC_ARRAY_C
    - array_list_bsearch
    - json_object_get_type
    linkageType: ''
    returnType: struct json_object
    signature: "struct json_object *json_object_array_bsearch(const struct json_object
      *key,\n                                              const struct json_object
      *jso,\n                                              int (*sort_fn)(const void
      *, const void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1513,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1513,1
    - Dst: array_list_length
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1514,1
    - Dst: JC_ARRAY_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - jso
    argTypes:
    - struct json_object*
    assertStmts:
    - condition: (json_object_get_type(jso) == json_type_array)
      pos:
        line_end: 1512
        line_start: 1512
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 1515
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1515
    functionName: json_object_array_length
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 5
    functionsReached:
    - assert
    - array_list_length
    - JC_ARRAY_C
    - json_object_get_type
    linkageType: ''
    returnType: size_t
    signature: size_t json_object_array_length(const struct json_object *jso)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1519,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1519,1
    - Dst: array_list_add
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1520,1
    - Dst: JC_ARRAY
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - jso
    - val
    argTypes:
    - struct json_object*
    - struct json_object*
    assertStmts:
    - condition: (json_object_get_type(jso) == json_type_array)
      pos:
        line_end: 1518
        line_start: 1518
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 2
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: json_object_array_add
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 2
    functionsReached:
    - assert
    - array_list_add
    - JC_ARRAY
    - json_object_get_type
    linkageType: ''
    returnType: int
    signature: int json_object_array_add(struct json_object *jso, struct json_object
      *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1525,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1525,1
    - Dst: array_list_insert_idx
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1526,1
    - Dst: JC_ARRAY
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - jso
    - idx
    - val
    argTypes:
    - struct json_object*
    - size_t
    - struct json_object*
    assertStmts:
    - condition: (json_object_get_type(jso) == json_type_array)
      pos:
        line_end: 1524
        line_start: 1524
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 1527
      start: 1523
    functionDepth: 2
    functionLinenumber: 1523
    functionLinenumberEnd: 1527
    functionName: json_object_array_insert_idx
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 2
    functionsReached:
    - assert
    - array_list_insert_idx
    - JC_ARRAY
    - json_object_get_type
    linkageType: ''
    returnType: int
    signature: int json_object_array_insert_idx(struct json_object *jso, size_t idx,
      struct json_object *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1531,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1531,1
    - Dst: array_list_put_idx
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1532,1
    - Dst: JC_ARRAY
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - jso
    - idx
    - val
    argTypes:
    - struct json_object*
    - size_t
    - struct json_object*
    assertStmts:
    - condition: (json_object_get_type(jso) == json_type_array)
      pos:
        line_end: 1530
        line_start: 1530
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 1533
      start: 1529
    functionDepth: 2
    functionLinenumber: 1529
    functionLinenumberEnd: 1533
    functionName: json_object_array_put_idx
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 2
    functionsReached:
    - assert
    - array_list_put_idx
    - JC_ARRAY
    - json_object_get_type
    linkageType: ''
    returnType: int
    signature: int json_object_array_put_idx(struct json_object *jso, size_t idx,
      struct json_object *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1537,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1537,1
    - Dst: array_list_del_idx
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1538,1
    - Dst: JC_ARRAY
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - jso
    - idx
    - count
    argTypes:
    - struct json_object*
    - size_t
    - size_t
    assertStmts:
    - condition: (json_object_get_type(jso) == json_type_array)
      pos:
        line_end: 1536
        line_start: 1536
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 1539
      start: 1535
    functionDepth: 1
    functionLinenumber: 1535
    functionLinenumberEnd: 1539
    functionName: json_object_array_del_idx
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - assert
    - JC_ARRAY
    - array_list_del_idx
    - json_object_get_type
    linkageType: ''
    returnType: int
    signature: int json_object_array_del_idx(struct json_object *jso, size_t idx,
      size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1543,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1543,1
    - Dst: array_list_get_idx
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1544,1
    - Dst: JC_ARRAY_C
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - jso
    - idx
    argTypes:
    - struct json_object*
    - size_t
    assertStmts:
    - condition: (json_object_get_type(jso) == json_type_array)
      pos:
        line_end: 1542
        line_start: 1542
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 1545
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1545
    functionName: json_object_array_get_idx
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 3
    functionsReached:
    - assert
    - JC_ARRAY_C
    - array_list_get_idx
    - json_object_get_type
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_array_get_idx(const struct json_object
      *jso, size_t idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1551,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1552,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1557,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1557,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - jso1
    - jso2
    argTypes:
    - struct json_object*
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1547
    functionDepth: 2
    functionLinenumber: 1547
    functionLinenumberEnd: 1562
    functionName: json_array_equal
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_array_length
    - json_object_equal
    - json_object_array_get_idx
    linkageType: ''
    returnType: int
    signature: int json_array_equal(struct json_object *jso1, struct json_object *jso2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_abort
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1567,1
    - Dst: array_list_shrink
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1568,1
    - Dst: JC_ARRAY
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - jso
    - empty_slots
    argTypes:
    - struct json_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1564
    functionDepth: 2
    functionLinenumber: 1564
    functionLinenumberEnd: 1569
    functionName: json_object_array_shrink
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - json_abort
    - JC_ARRAY
    - array_list_shrink
    linkageType: ''
    returnType: int
    signature: int json_object_array_shrink(struct json_object *jso, int empty_slots)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1574
    functionName: json_object_new_null
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_new_null(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1581,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1581,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1582,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1582,1
    - Dst: lh_table_lookup_ex
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1586,1
    - Dst: JC_OBJECT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1586,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1589,1
    - Dst: lh_table_lookup_ex
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1596,1
    - Dst: JC_OBJECT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - jso1
    - jso2
    argTypes:
    - struct json_object*
    - struct json_object*
    assertStmts:
    - condition: (json_object_get_type(jso1) == json_type_object)
      pos:
        line_end: 1580
        line_start: 1580
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    - condition: (json_object_get_type(jso2) == json_type_object)
      pos:
        line_end: 1581
        line_start: 1581
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 1602
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1602
    functionName: json_object_all_values_equal
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_equal
    - assert
    - JC_OBJECT
    - lh_table_lookup_ex
    - json_object_get_type
    linkageType: ''
    returnType: int
    signature: int json_object_all_values_equal(struct json_object *jso1, struct json_object
      *jso2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_lookup_ex
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1586,1
    - Dst: JC_OBJECT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1586,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1591
    functionName: json_object_object_foreachC
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_equal
    - JC_OBJECT
    - lh_table_lookup_ex
    linkageType: ''
    returnType: void
    signature: void json_object_object_foreachC(jso1, iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_lookup_ex
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1596,1
    - Dst: JC_OBJECT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1594
    functionDepth: 1
    functionLinenumber: 1594
    functionLinenumberEnd: 1599
    functionName: json_object_object_foreachC
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - JC_OBJECT
    - lh_table_lookup_ex
    linkageType: ''
    returnType: void
    signature: void json_object_object_foreachC(jso2, iter)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JC_BOOL
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1617,1
    - Dst: JC_BOOL
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1617,1
    - Dst: JC_DOUBLE
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1619,1
    - Dst: JC_DOUBLE
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1619,1
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1623,1
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1624,1
    - Dst: _json_object_get_string_len
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1643,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1643,1
    - Dst: _json_object_get_string_len
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1644,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1644,1
    - Dst: memcmp
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1645,1
    - Dst: get_string_component
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1645,1
    - Dst: get_string_component
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1645,1
    - Dst: _json_object_get_string_len
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1646,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1646,1
    - Dst: json_object_all_values_equal
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1649,1
    - Dst: json_array_equal
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1651,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - jso1
    - jso2
    argTypes:
    - struct json_object*
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1604
    functionDepth: 3
    functionLinenumber: 1604
    functionLinenumberEnd: 1657
    functionName: json_object_equal
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 3
    functionsReached:
    - JC_DOUBLE
    - JC_INT
    - JC_STRING
    - _json_object_get_string_len
    - json_object_all_values_equal
    - json_array_equal
    - memcmp
    - JC_BOOL
    - get_string_component
    linkageType: ''
    returnType: int
    signature: int json_object_equal(struct json_object *jso1, struct json_object
      *jso2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1668,1
    - Dst: strdup
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1669,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1672,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - struct json_object*
    - struct json_object*
    assertStmts:
    - condition: (src->_userdata)
      pos:
        line_end: 1667
        line_start: 1667
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 1687
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1687
    functionName: json_object_copy_serializer_data
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - assert
    - _json_c_set_last_err
    - strdup
    linkageType: ''
    returnType: int
    signature: int json_object_copy_serializer_data(struct json_object *src, struct
      json_object *dst)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_boolean
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1702,1
    - Dst: JC_BOOL
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1702,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1704,1
    - Dst: JC_DOUBLE
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1704,1
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1707,1
    - Dst: json_object_new_int64
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1710,1
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1710,1
    - Dst: json_object_new_uint64
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1713,1
    - Dst: JC_INT
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1713,1
    - Dst: json_abort
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1715,1
    - Dst: json_object_new_string_len
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1720,1
    - Dst: get_string_component
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1720,1
    - Dst: _json_object_get_string_len
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1721,1
    - Dst: JC_STRING
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1721,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1724,1
    - Dst: json_object_new_array
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1726,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 5
    argNames:
    - src
    - parent
    - key
    - index
    - dst
    argTypes:
    - json_object*
    - json_object*
    - char*
    - size_t
    - json_object**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1697
    functionDepth: 3
    functionLinenumber: 1697
    functionLinenumberEnd: 1739
    functionName: json_c_shallow_copy_default
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 0
    functionsReached:
    - json_object_new_int64
    - json_abort
    - json_object_new_array
    - JC_DOUBLE
    - json_object_new_uint64
    - JC_INT
    - JC_STRING
    - _json_object_get_string_len
    - json_object_new_double
    - get_string_component
    - json_object_new_boolean
    - JC_BOOL
    - json_object_new_object
    - json_object_new_string_len
    linkageType: ''
    returnType: int
    signature: "int json_c_shallow_copy_default(json_object *src, json_object *parent,
      const char *key,\n                                size_t index, json_object
      **dst)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: shallow_copy
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1756,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1763,1
    - Dst: json_object_object_foreachC
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1768,1
    - Dst: json_object_deep_copy_recursive
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1774,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1777,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1781,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1783,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1790,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1794,1
    - Dst: json_object_deep_copy_recursive
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1798,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1801,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1805,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1807,1
    - Dst: json_object_copy_serializer_data
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1819,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 6
    argNames:
    - src
    - parent
    - key_in_parent
    - index_in_parent
    - dst
    - shallow_copy
    argTypes:
    - struct json_object*
    - struct json_object*
    - char*
    - size_t
    - struct json_object**
    - json_c_shallow_copy_fn*
    assertStmts:
    - condition: (*dst != NULL)
      pos:
        line_end: 1762
        line_start: 1762
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
    constantsTouched: []
    func_position:
      end: 1822
      start: 1747
    functionDepth: 4
    functionLinenumber: 1747
    functionLinenumberEnd: 1822
    functionName: json_object_deep_copy_recursive
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - json_object_array_get_idx
    - json_object_copy_serializer_data
    - json_object_object_foreachC
    - assert
    - shallow_copy
    - json_object_array_length
    - json_object_deep_copy_recursive
    - json_object_object_add
    - json_object_put
    - json_object_array_add
    linkageType: ''
    returnType: int
    signature: "int json_object_deep_copy_recursive(struct json_object *src, struct
      json_object *parent,\n                                           const char
      *key_in_parent, size_t index_in_parent,\n                                           struct
      json_object **dst,\n                                           json_c_shallow_copy_fn
      *shallow_copy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_object_deep_copy_recursive
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1839,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - src
    - dst
    - shallow_copy
    argTypes:
    - struct json_object*
    - struct json_object**
    - json_c_shallow_copy_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1824
    functionDepth: 5
    functionLinenumber: 1824
    functionLinenumberEnd: 1847
    functionName: json_object_deep_copy
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 1
    functionsReached:
    - json_object_deep_copy_recursive
    - json_object_put
    linkageType: ''
    returnType: int
    signature: "int json_object_deep_copy(struct json_object *src, struct json_object
      **dst,\n                          json_c_shallow_copy_fn *shallow_copy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1852,1
    - Dst: abort
      Src: /src/json-c-json-c-0.17-20230812/json_object.c:1853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1849
    functionDepth: 1
    functionLinenumber: 1849
    functionLinenumberEnd: 1854
    functionName: json_abort
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_object.c
    functionUses: 7
    functionsReached:
    - fprintf
    - abort
    linkageType: ''
    returnType: void
    signature: void json_abort(const char *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: json_util_get_last_err
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *json_util_get_last_err(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:73,1
    - Dst: vsnprintf
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:75,1
    - Dst: va_end
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - err_fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: _json_c_set_last_err
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 2
    functionsReached:
    - va_end
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: void _json_c_set_last_err(const char *err_fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_from_fd_ex
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: json_object_from_fd
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 0
    functionsReached:
    - json_object_from_fd_ex
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_from_fd(int fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printbuf_new
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:92,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:94,1
    - Dst: json_tokener_new_ex
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:100,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:103,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:105,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:106,1
    - Dst: read
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:110,1
    - Dst: printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:112,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:117,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:118,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:118,1
    - Dst: json_tokener_free
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:119,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:120,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:126,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:127,1
    - Dst: json_tokener_free
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:128,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:129,1
    - Dst: json_tokener_parse_ex
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:133,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:133,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:135,1
    - Dst: json_tokener_error_desc
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:136,1
    - Dst: json_tokener_get_error
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:136,1
    - Dst: json_tokener_free
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:138,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - fd
    - in_depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 141
    functionName: json_object_from_fd_ex
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 1
    functionsReached:
    - json_tokener_new_ex
    - printbuf_length
    - json_tokener_error_desc
    - json_tokener_parse_ex
    - printbuf_memappend
    - _json_c_set_last_err
    - read
    - printbuf_free
    - printbuf_new
    - json_tokener_free
    - strerror
    - json_tokener_get_error
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_from_fd_ex(int fd, int in_depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:148,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:150,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:151,1
    - Dst: json_object_from_fd
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:154,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: json_object_from_file
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 0
    functionsReached:
    - open
    - _json_c_set_last_err
    - close
    - strerror
    - json_object_from_fd
    linkageType: ''
    returnType: struct json_object
    signature: struct json_object *json_object_from_file(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:168,1
    - Dst: open
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:172,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:174,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:175,1
    - Dst: _json_object_to_fd
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:178,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - filename
    - obj
    - flags
    argTypes:
    - char*
    - struct json_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 183
    functionName: json_object_to_file_ext
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 0
    functionsReached:
    - open
    - _json_c_set_last_err
    - close
    - strerror
    - _json_object_to_fd
    linkageType: ''
    returnType: int
    signature: int json_object_to_file_ext(const char *filename, struct json_object
      *obj, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:189,1
    - Dst: _json_object_to_fd
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - obj
    - flags
    argTypes:
    - int
    - struct json_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: json_object_to_fd
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 2
    functionsReached:
    - _json_c_set_last_err
    - _json_object_to_fd
    linkageType: ''
    returnType: int
    signature: int json_object_to_fd(int fd, struct json_object *obj, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:203,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:208,1
    - Dst: write
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:212,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:214,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - fd
    - obj
    - flags
    - filename
    argTypes:
    - int
    - struct json_object*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 224
    functionName: _json_object_to_fd
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 2
    functionsReached:
    - strlen
    - _json_c_set_last_err
    - json_object_to_json_string_ext
    - strerror
    - write
    linkageType: ''
    returnType: int
    signature: int _json_object_to_fd(int fd, struct json_object *obj, int flags,
      const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_to_file_ext
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - obj
    argTypes:
    - char*
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: json_object_to_file
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 0
    functionsReached:
    - json_object_to_file_ext
    linkageType: ''
    returnType: int
    signature: int json_object_to_file(const char *filename, struct json_object *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - retval
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: json_parse_double
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 0
    functionsReached:
    - strtod
    linkageType: ''
    returnType: int
    signature: int json_parse_double(const char *buf, double *retval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - retval
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: json_parse_int64
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 3
    functionsReached:
    - strtoll
    linkageType: ''
    returnType: int
    signature: int json_parse_int64(const char *buf, int64_t *retval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - retval
    argTypes:
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 278
    functionName: json_parse_uint64
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 2
    functionsReached:
    - strtoull
    linkageType: ''
    returnType: int
    signature: int json_parse_uint64(const char *buf, uint64_t *retval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:286,1
    - Dst: realloc
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: rpl_realloc
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 0
    functionsReached:
    - malloc
    - realloc
    linkageType: ''
    returnType: void
    signature: void *rpl_realloc(void *p, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: NELEM
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NELEM(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NELEM
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:308,1
    - Dst: _json_c_set_last_err
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:310,1
    - Dst: NELEM
      Src: /src/json-c-json-c-0.17-20230812/json_util.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - o_type
    argTypes:
    - enum json_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 315
    functionName: json_type_to_name
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.c
    functionUses: 0
    functionsReached:
    - _json_c_set_last_err
    - NELEM
    linkageType: ''
    returnType: char
    signature: char *json_type_to_name(enum json_type o_type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - jso
    - future_flags
    - userfunc
    - userarg
    argTypes:
    - json_object*
    - int
    - json_c_visit_userfunc*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: json_c_visit
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_visit.c
    functionUses: 1
    functionsReached:
    - _json_c_visit
    linkageType: ''
    returnType: int
    signature: int json_c_visit(json_object *jso, int future_flags, json_c_visit_userfunc
      *userfunc, void *userarg)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: userfunc
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:34,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:43,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:48,1
    - Dst: _json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:62,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:71,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:80,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:84,1
    - Dst: _json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:85,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:94,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:102,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:103,1
    - Dst: userfunc
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:111,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:123,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 6
    argNames:
    - jso
    - parent_jso
    - jso_key
    - jso_index
    - userfunc
    - userarg
    argTypes:
    - json_object*
    - json_object*
    - char*
    - size_t*
    - json_c_visit_userfunc*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 128
    functionName: _json_c_visit
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_visit.c
    functionUses: 2
    functionsReached:
    - json_object_array_get_idx
    - _json_c_visit
    - json_object_array_length
    - userfunc
    - fprintf
    - json_object_get_type
    linkageType: ''
    returnType: int
    signature: "int _json_c_visit(json_object *jso, json_object *parent_jso, const
      char *jso_key,\n                         size_t *jso_index, json_c_visit_userfunc
      *userfunc, void *userarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:62,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/json_visit.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: json_object_object_foreach
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_visit.c
    functionUses: 0
    functionsReached:
    - _json_c_visit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void json_object_object_foreach(jso, key, child)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/json-c-json-c-0.17-20230812/strerror_override.c:74,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/strerror_override.c:76,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - errno_in
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 110
    functionName: _json_c_strerror
    functionSourceFile: /src/json-c-json-c-0.17-20230812/strerror_override.c
    functionUses: 0
    functionsReached:
    - getenv
    - strerror
    linkageType: ''
    returnType: char
    signature: char *_json_c_strerror(int errno_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _vsnprintf
      Src: /src/json-c-json-c-0.17-20230812/snprintf_compat.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - str
    - size
    - format
    - ap
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: json_c_vsnprintf
    functionSourceFile: /src/json-c-json-c-0.17-20230812/snprintf_compat.h
    functionUses: 0
    functionsReached:
    - _vsnprintf
    linkageType: ''
    returnType: int
    signature: int json_c_vsnprintf(char *str, size_t size, const char *format, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/json-c-json-c-0.17-20230812/snprintf_compat.h:30,1
    - Dst: json_c_vsnprintf
      Src: /src/json-c-json-c-0.17-20230812/snprintf_compat.h:31,1
    - Dst: va_end
      Src: /src/json-c-json-c-0.17-20230812/snprintf_compat.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: json_c_snprintf
    functionSourceFile: /src/json-c-json-c-0.17-20230812/snprintf_compat.h
    functionUses: 0
    functionsReached:
    - json_c_vsnprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: int json_c_snprintf(char *str, size_t size, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - entry
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: lh_foreach
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lh_foreach(table, entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - table
    - ','
    - entry
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: lh_foreach_safe
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lh_foreach_safe(table, entry, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - lh_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: lh_table_head
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _LH_INLINE
    signature: _LH_INLINE *lh_table_head(const lh_table *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: struct lh_table*::hash_fn
      Src: /src/json-c-json-c-0.17-20230812/linkhash.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - k
    argTypes:
    - struct lh_table*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: lh_get_hash
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 1
    functionsReached:
    - struct lh_table*::hash_fn
    linkageType: ''
    returnType: _LH_INLINE unsigned long
    signature: _LH_INLINE unsigned long lh_get_hash(const struct lh_table *t, const
      void *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: _LH_UNCONST
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _LH_UNCONST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: _LH_UNCONST
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _LH_UNCONST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _LH_UNCONST
      Src: /src/json-c-json-c-0.17-20230812/linkhash.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct lh_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: lh_entry_k
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 1
    functionsReached:
    - _LH_UNCONST
    linkageType: ''
    returnType: _LH_INLINE
    signature: _LH_INLINE *lh_entry_k(const struct lh_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct lh_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: lh_entry_k_is_constant
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _LH_INLINE
    signature: _LH_INLINE lh_entry_k_is_constant(const struct lh_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _LH_UNCONST
      Src: /src/json-c-json-c-0.17-20230812/linkhash.h:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct lh_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: lh_entry_v
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 3
    functionsReached:
    - _LH_UNCONST
    linkageType: ''
    returnType: _LH_INLINE
    signature: _LH_INLINE *lh_entry_v(const struct lh_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - e
    - newval
    argTypes:
    - struct lh_entry*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 419
    functionName: lh_entry_set_val
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _LH_INLINE
    signature: _LH_INLINE lh_entry_set_val(struct lh_entry *e, void *newval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct lh_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: lh_entry_next
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _LH_INLINE
    signature: _LH_INLINE *lh_entry_next(const struct lh_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct lh_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: lh_entry_prev
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _LH_INLINE
    signature: _LH_INLINE *lh_entry_prev(const struct lh_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: json_min
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_min(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: json_max
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_max(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: json_c_version
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_c_version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *json_c_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: json_c_version_num
    functionSourceFile: /src/json-c-json-c-0.17-20230812/json_c_version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int json_c_version_num(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - h
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: json_global_set_string_hash
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int json_global_set_string_hash(const int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - k
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: lh_ptr_hash
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long lh_ptr_hash(const void *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k1
    - k2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: lh_ptr_equal
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lh_ptr_equal(const void *k1, const void *k2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: hashsize
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashsize(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: hashmask
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hashmask(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: rot
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rot(x, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: mix
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mix(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: final
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: final(a,b,c)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: mix
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:275,1
    - Dst: __has_feature
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:297,1
    - Dst: mix
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:354,1
    - Dst: mix
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:412,1
    - Dst: final
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:437,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 201
    argCount: 3
    argNames:
    - key
    - length
    - initval
    argTypes:
    - void*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 439
    functionName: hashlittle
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached:
    - final
    - mix
    - __has_feature
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hashlittle(const void *key, size_t length, uint32_t initval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - k
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 454
    functionName: lh_perllike_str_hash
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long lh_perllike_str_hash(const void *k)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_c_get_random_seed
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:469,1
    - Dst: __sync_val_compare_and_swap
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:480,1
    - Dst: InterlockedCompareExchange
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:482,1
    - Dst: hashlittle
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:489,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:489,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - k
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 490
    functionName: lh_char_hash
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached:
    - strlen
    - __sync_val_compare_and_swap
    - json_c_get_random_seed
    - InterlockedCompareExchange
    - hashlittle
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long lh_char_hash(const void *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - k1
    - k2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: lh_char_equal
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int lh_char_equal(const void *k1, const void *k2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:504,1
    - Dst: calloc
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:505,1
    - Dst: calloc
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:511,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - size
    - free_fn
    - hash_fn
    - equal_fn
    argTypes:
    - int
    - lh_entry_free_fn*
    - lh_hash_fn*
    - lh_equal_fn*
    assertStmts:
    - condition: (size > 0)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
    constantsTouched: []
    func_position:
      end: 523
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 523
    functionName: lh_table_new
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached:
    - calloc
    - assert
    - free
    linkageType: ''
    returnType: struct lh_table
    signature: "struct lh_table *lh_table_new(int size, lh_entry_free_fn *free_fn,
      lh_hash_fn *hash_fn,\n                              lh_equal_fn *equal_fn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_new
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - free_fn
    argTypes:
    - int
    - lh_entry_free_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: lh_kchar_table_new
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 1
    functionsReached:
    - lh_table_new
    linkageType: ''
    returnType: struct lh_table
    signature: struct lh_table *lh_kchar_table_new(int size, lh_entry_free_fn *free_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_new
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - free_fn
    argTypes:
    - int
    - lh_entry_free_fn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 533
    functionName: lh_kptr_table_new
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached:
    - lh_table_new
    linkageType: ''
    returnType: struct lh_table
    signature: struct lh_table *lh_kptr_table_new(int size, lh_entry_free_fn *free_fn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_new
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:540,1
    - Dst: lh_get_hash
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:546,1
    - Dst: lh_table_insert_w_hash
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:550,1
    - Dst: lh_table_free
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:552,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:556,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - t
    - new_size
    argTypes:
    - struct lh_table*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 564
    functionName: lh_table_resize
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached:
    - lh_table_new
    - lh_get_hash
    - free
    - lh_table_insert_w_hash
    - lh_table_free
    linkageType: ''
    returnType: int
    signature: int lh_table_resize(struct lh_table *t, int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct lh_table*::free_fn
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:572,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:574,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct lh_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 576
    functionName: lh_table_free
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 2
    functionsReached:
    - free
    - struct lh_table*::free_fn
    linkageType: ''
    returnType: void
    signature: void lh_table_free(struct lh_table *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_resize
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:587,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - t
    - k
    - v
    - h
    - opts
    argTypes:
    - struct lh_table*
    - void*
    - void*
    - unsigned long
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 620
    functionName: lh_table_insert_w_hash
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 2
    functionsReached:
    - lh_table_resize
    linkageType: ''
    returnType: int
    signature: "int lh_table_insert_w_hash(struct lh_table *t, const void *k, const
      void *v, const unsigned long h,\n                           const unsigned opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_insert_w_hash
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:623,1
    - Dst: lh_get_hash
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - k
    - v
    argTypes:
    - struct lh_table*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: lh_table_insert
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached:
    - lh_get_hash
    - lh_table_insert_w_hash
    linkageType: ''
    returnType: int
    signature: int lh_table_insert(struct lh_table *t, const void *k, const void *v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct lh_table*::equal_fn
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:636,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - t
    - k
    - h
    argTypes:
    - struct lh_table*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 643
    functionName: lh_table_lookup_entry_w_hash
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 1
    functionsReached:
    - struct lh_table*::equal_fn
    linkageType: ''
    returnType: struct lh_entry
    signature: "struct lh_entry *lh_table_lookup_entry_w_hash(struct lh_table *t,
      const void *k,\n                                              const unsigned
      long h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_lookup_entry_w_hash
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:647,1
    - Dst: lh_get_hash
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - k
    argTypes:
    - struct lh_table*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 648
    functionName: lh_table_lookup_entry
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached:
    - lh_table_lookup_entry_w_hash
    - lh_get_hash
    linkageType: ''
    returnType: struct lh_entry
    signature: struct lh_entry *lh_table_lookup_entry(struct lh_table *t, const void
      *k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_lookup_entry
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:652,1
    - Dst: lh_entry_v
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - t
    - k
    - v
    argTypes:
    - struct lh_table*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 662
    functionName: lh_table_lookup_ex
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 4
    functionsReached:
    - lh_entry_v
    - lh_table_lookup_entry
    linkageType: ''
    returnType: json_bool
    signature: json_bool lh_table_lookup_ex(struct lh_table *t, const void *k, void
      **v)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: struct lh_table*::free_fn
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:679,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - t
    - e
    argTypes:
    - struct lh_table*
    - struct lh_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 703
    functionName: lh_table_delete_entry
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 0
    functionsReached:
    - struct lh_table*::free_fn
    linkageType: ''
    returnType: int
    signature: int lh_table_delete_entry(struct lh_table *t, struct lh_entry *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lh_table_lookup_entry
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:707,1
    - Dst: lh_table_delete_entry
      Src: /src/json-c-json-c-0.17-20230812/linkhash.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t
    - k
    argTypes:
    - struct lh_table*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 711
    functionName: lh_table_delete
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 1
    functionsReached:
    - lh_table_delete_entry
    - lh_table_lookup_entry
    linkageType: ''
    returnType: int
    signature: int lh_table_delete(struct lh_table *t, const void *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct lh_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 716
    functionName: lh_table_length
    functionSourceFile: /src/json-c-json-c-0.17-20230812/linkhash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lh_table_length(struct lh_table *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sym
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: __warn_references
    functionSourceFile: /src/json-c-json-c-0.17-20230812/libjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __warn_references(sym, msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MC_SET_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:13,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:19,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:20,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:20,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:21,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:21,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:22,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:22,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:23,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:23,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:25,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:30,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:31,1
    - Dst: json_object_object_del
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:33,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:34,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:37,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:41,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:47,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:49,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:51,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:53,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:53,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:56,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:62,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:64,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:66,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:73,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 11
    functionDepth: 4
    functionLinenumber: 11
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c
    functionUses: 0
    functionsReached:
    - strcmp
    - json_object_object_del
    - MC_SET_DEBUG
    - json_object_new_string
    - json_object_object_add
    - printf
    - json_object_put
    - json_object_new_object
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:30,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:31,1
    - Dst: json_object_object_del
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:33,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:34,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: json_object_object_foreach
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    - json_object_object_del
    linkageType: ''
    returnType: void
    signature: void json_object_object_foreach(my_object, key0, val0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:47,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:49,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:51,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:53,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: json_object_object_foreach
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    - json_object_new_string
    - json_object_object_add
    linkageType: ''
    returnType: void
    signature: void json_object_object_foreach(my_object, key, val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:62,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:64,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: json_object_object_foreach
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void json_object_object_foreach(my_object, key2, val2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:21,1
    - Dst: json_object_object_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:21,1
    - Dst: json_object_object_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:22,1
    - Dst: json_object_object_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:23,1
    - Dst: json_object_object_get_ex
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:25,1
    - Dst: json_object_object_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:26,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:27,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:31,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:33,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:34,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:36,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:36,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:37,1
    - Dst: fflush
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:39,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:42,1
    - Dst: json_patch_apply
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:42,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:43,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:44,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:45,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:46,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:47,1
    - Dst: json_patch_apply
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:49,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:51,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:52,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:52,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:53,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:53,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:54,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:55,1
    - Dst: fflush
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:56,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:57,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:60,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:61,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:63,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:64,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:64,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:65,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:65,1
    - Dst: fflush
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:66,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:67,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:69,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - jo
    argTypes:
    - struct json_object*
    assertStmts:
    - condition: (jperr.errno_code == 0)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c
    - condition: (0)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c
    - condition: (0)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c
    - condition: (jperr.errno_code != 0)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c
    - condition: (0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c
    - condition: (-1 == json_patch_apply(doc, patch, &res, &jperr))
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c
    constantsTouched: []
    func_position:
      end: 74
      start: 19
    functionDepth: 7
    functionLinenumber: 19
    functionLinenumberEnd: 74
    functionName: test_json_patch_op
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c
    functionUses: 0
    functionsReached:
    - json_object_equal
    - json_object_get_string
    - json_object_object_get_ex
    - fflush
    - assert
    - json_patch_apply
    - json_object_to_json_string
    - json_object_object_get
    - strerror
    - printf
    - fprintf
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void test_json_patch_op(struct json_object *jo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:79,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:82,1
    - Dst: json_object_from_file
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:83,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:85,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:85,1
    - Dst: exit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:86,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:89,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:90,1
    - Dst: test_json_patch_op
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:91,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - testdir
    - filename
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 8
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: test_json_patch_using_file
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c
    functionUses: 0
    functionsReached:
    - exit
    - json_object_from_file
    - json_object_array_get_idx
    - snprintf
    - json_object_array_length
    - test_json_patch_op
    - strerror
    - printf
    - fprintf
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void test_json_patch_using_file(const char *testdir, const char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:102,1
    - Dst: strncmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:111,1
    - Dst: json_c_version
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:111,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:113,1
    - Dst: json_c_version
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:114,1
    - Dst: json_c_version_num
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:117,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:119,1
    - Dst: json_c_version_num
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:120,1
    - Dst: test_json_patch_using_file
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:124,1
    - Dst: test_json_patch_using_file
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 97
    functionDepth: 9
    functionLinenumber: 97
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c
    functionUses: 0
    functionsReached:
    - strncmp
    - test_json_patch_using_file
    - json_c_version_num
    - printf
    - fprintf
    - json_c_version
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_strerror.c:10,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_strerror.c:10,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_strerror.c:11,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_strerror.c:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 13
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_strerror.c
    functionUses: 0
    functionsReached:
    - puts
    - strerror
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:11,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:12,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:13,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:13,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:14,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:15,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:16,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:17,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:18,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:18,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:19,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:19,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:20,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:21,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:22,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:23,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:24,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:24,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:25,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:25,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:26,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:27,1
    - Dst: json_object_new_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:28,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:29,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:30,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:30,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:31,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:32,1
    - Dst: json_object_new_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:33,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:34,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:35,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:35,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:36,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:36,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:37,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:38,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:38,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:39,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:39,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:40,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:41,1
    - Dst: json_object_new_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:42,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:43,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:44,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:44,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:45,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:46,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:46,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:47,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:48,1
    - Dst: json_object_new_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:50,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:51,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:52,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:52,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:53,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:53,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:54,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:55,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:55,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:56,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:56,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:57,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:58,1
    - Dst: json_object_new_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:59,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:60,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:61,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:61,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:62,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:62,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:63,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:64,1
    - Dst: json_object_new_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:65,1
    - Dst: json_object_int_inc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:66,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:67,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:67,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:68,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:68,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:69,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:70,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (json_object_get_int64(tmp) == INT64_MIN)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int(tmp) == 642642642)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int64(tmp) == INT64_MAX)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_uint64(tmp) == 400)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int(tmp) == INT32_MAX)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_uint64(tmp) == UINT64_MAX)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int64(tmp) == 400)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_uint64(tmp) == 200)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int(tmp) == INT32_MIN)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int64(tmp) == (int64_t)INT32_MAX + 100L)
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int64(tmp) == INT64_MAX)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_uint64(tmp) == 0)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int64(tmp) == INT64_MAX)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_uint64(tmp) == (uint64_t)INT64_MAX)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int64(tmp) == 200)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int64(tmp) != INT64_MIN)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int64(tmp) == -100)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int(tmp) == 246)
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_int64(tmp) == (int64_t)INT32_MIN - 100L)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    - condition: (json_object_get_uint64(tmp) == (uint64_t)INT64_MAX + 100U)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    constantsTouched: []
    func_position:
      end: 74
      start: 9
    functionDepth: 4
    functionLinenumber: 9
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
    functionUses: 0
    functionsReached:
    - json_object_new_int64
    - json_object_new_uint64
    - assert
    - json_object_int_inc
    - json_object_get_uint64
    - json_object_new_int
    - json_object_get_int64
    - json_object_get_int
    - printf
    - json_object_put
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MC_SET_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:21,1
    - Dst: test_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:24,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:25,1
    - Dst: test_utf8_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:26,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:27,1
    - Dst: test_verbose_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:28,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:29,1
    - Dst: test_incremental_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:30,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    functionUses: 0
    functionsReached:
    - puts
    - test_basic_parse
    - test_incremental_parse
    - test_utf8_parse
    - MC_SET_DEBUG
    - test_verbose_parse
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:42,1
    - Dst: getenv
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:42,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:49,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:50,1
    - Dst: do_clear_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:52,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:53,1
    - Dst: json_tokener_new
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:55,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:56,1
    - Dst: getenv
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:63,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:64,1
    - Dst: json_tokener_parse_ex
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:65,1
    - Dst: json_tokener_get_error
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:66,1
    - Dst: do_clear_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:71,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:72,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:74,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:76,1
    - Dst: json_tokener_free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:79,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:81,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:83,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - test_string
    - clear_serializer
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: (chunksize > 0)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    constantsTouched: []
    func_position:
      end: 84
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 84
    functionName: single_incremental_parse
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    functionUses: 0
    functionsReached:
    - strcmp
    - json_tokener_parse_ex
    - strlen
    - assert
    - do_clear_serializer
    - json_object_to_json_string
    - atoi
    - json_tokener_free
    - printf
    - json_tokener_get_error
    - getenv
    - json_tokener_parse
    - json_object_put
    - json_tokener_new
    linkageType: ''
    returnType: void
    signature: void single_incremental_parse(const char *test_string, int clear_serializer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:90,1
    - Dst: do_clear_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:92,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:93,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:93,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:94,1
    - Dst: getenv
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:96,1
    - Dst: single_incremental_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - test_string
    - clear_serializer
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: single_basic_parse
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    functionUses: 0
    functionsReached:
    - do_clear_serializer
    - json_object_to_json_string
    - printf
    - getenv
    - json_tokener_parse
    - single_incremental_parse
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void single_basic_parse(const char *test_string, int clear_serializer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:101,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:102,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:103,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:104,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:105,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:106,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:107,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:108,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:109,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:110,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:111,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:112,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:113,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:115,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:116,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:117,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:118,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:120,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:121,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:122,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:123,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:124,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:125,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:126,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:128,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:129,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:130,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:131,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:132,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:133,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:134,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:135,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:136,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:138,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:139,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:142,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:143,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:144,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:145,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:147,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:148,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:155,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:156,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:157,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:158,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:159,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:160,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:162,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:163,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:164,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:165,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:166,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:167,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:168,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:169,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:170,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:171,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:172,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:173,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:174,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:175,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:176,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:177,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:180,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:183,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:184,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:185,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:186,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:187,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:188,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:191,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:192,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:193,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:194,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:195,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:196,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:197,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:198,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 99
    functionDepth: 5
    functionLinenumber: 99
    functionLinenumberEnd: 200
    functionName: test_basic_parse
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    functionUses: 1
    functionsReached:
    - single_basic_parse
    linkageType: ''
    returnType: void
    signature: void test_basic_parse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:209,1
    - Dst: single_basic_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: test_utf8_parse
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    functionUses: 1
    functionsReached:
    - single_basic_parse
    linkageType: ''
    returnType: void
    signature: void test_utf8_parse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jso
    argTypes:
    - json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: do_clear_serializer
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    functionUses: 2
    functionsReached:
    - json_c_visit
    linkageType: ''
    returnType: void
    signature: void do_clear_serializer(json_object *jso)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - jso
    - flags
    - parent_jso
    - jso_key
    - jso_index
    - userarg
    argTypes:
    - json_object*
    - int
    - json_object*
    - char*
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: clear_serializer
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    functionUses: 2
    functionsReached:
    - json_object_set_serializer
    linkageType: ''
    returnType: int
    signature: "int clear_serializer(json_object *jso, int flags, json_object *parent_jso,\n
      \                           const char *jso_key, size_t *jso_index, void *userarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_parse_verbose
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:234,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:235,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:236,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:238,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:239,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:241,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:242,1
    - Dst: json_tokener_parse_verbose
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:243,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:244,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:247,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (error == json_tokener_error_parse_object_key_name)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    - condition: (new_obj == NULL)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    - condition: (new_obj == NULL)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    - condition: (new_obj == NULL)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    - condition: (new_obj == NULL)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    - condition: (error == json_tokener_error_parse_boolean)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    constantsTouched: []
    func_position:
      end: 250
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 250
    functionName: test_verbose_parse
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    functionUses: 1
    functionsReached:
    - assert
    - json_tokener_parse
    - json_tokener_parse_verbose
    - puts
    linkageType: ''
    returnType: void
    signature: void test_verbose_parse(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:613,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:614,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:615,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:618,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:619,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:621,1
    - Dst: json_tokener_new
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:624,1
    - Dst: json_tokener_set_flags
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:632,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:635,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:641,1
    - Dst: json_tokener_parse_ex
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:643,1
    - Dst: json_tokener_get_error
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:645,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:649,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:650,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:652,1
    - Dst: json_tokener_error_desc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:653,1
    - Dst: json_tokener_get_parse_end
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:654,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:655,1
    - Dst: json_tokener_get_parse_end
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:656,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:659,1
    - Dst: json_tokener_error_desc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:660,1
    - Dst: strncmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:667,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:668,1
    - Dst: json_tokener_error_desc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:669,1
    - Dst: json_tokener_get_parse_end
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:670,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:671,1
    - Dst: json_tokener_get_parse_end
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:672,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:675,1
    - Dst: json_type_to_name
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:676,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:676,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:677,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:683,1
    - Dst: json_tokener_reset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:686,1
    - Dst: json_tokener_free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:694,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse.c:696,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 697
    functionName: test_incremental_parse
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    functionUses: 1
    functionsReached:
    - json_tokener_reset
    - puts
    - json_tokener_error_desc
    - json_tokener_parse_ex
    - strlen
    - json_tokener_set_flags
    - json_object_to_json_string
    - json_type_to_name
    - json_tokener_get_parse_end
    - strncmp
    - json_object_get_type
    - json_tokener_free
    - printf
    - json_tokener_get_error
    - json_tokener_parse
    - json_object_put
    - json_tokener_new
    linkageType: ''
    returnType: void
    signature: void test_incremental_parse(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:30,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - j1
    - j2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: sort_fn
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test1.c
    functionUses: 0
    functionsReached:
    - json_object_get_int
    linkageType: ''
    returnType: int
    signature: int sort_fn(const void *j1, const void *j2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_object_to_json_string_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:43,1
    - Dst: strdup
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:44,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:46,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:49,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:50,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:51,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:52,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:53,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - obj
    - flags
    argTypes:
    - json_object*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test1.c
    functionUses: 10
    functionsReached:
    - strcmp
    - json_object_to_json_string_length
    - strlen
    - free
    - strdup
    - json_object_to_json_string_ext
    - printf
    linkageType: ''
    returnType: char
    signature: char *to_json_string(json_object *obj, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: json_object_to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test1.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_to_json_string(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:68,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:69,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:69,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:70,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:70,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:71,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:71,1
    - Dst: json_object_array_put_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:72,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:72,1
    - Dst: json_object_array_put_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:73,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:73,1
    - Dst: json_object_array_put_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:74,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: make_array
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test1.c
    functionUses: 0
    functionsReached:
    - json_object_new_int
    - json_object_new_array
    - json_object_array_put_idx
    - json_object_array_add
    linkageType: ''
    returnType: json_object
    signature: json_object *make_array(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:90,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:91,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:93,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:94,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:96,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:97,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:97,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:99,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:99,1
    - Dst: json_object_array_del_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:103,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:104,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:105,1
    - Dst: json_object_array_del_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:109,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:110,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:111,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:113,1
    - Dst: make_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:116,1
    - Dst: json_object_array_del_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:117,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:118,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:119,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:121,1
    - Dst: make_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:124,1
    - Dst: json_object_array_del_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:125,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:126,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:127,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:129,1
    - Dst: make_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:132,1
    - Dst: json_object_array_del_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:133,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:134,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:135,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:136,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:136,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:137,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:137,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:138,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:138,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:140,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:141,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 143
    functionName: test_array_del_idx
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test1.c
    functionUses: 0
    functionsReached:
    - json_object_array_get_idx
    - json_object_to_json_string
    - json_object_array_length
    - json_object_new_string
    - json_object_array_del_idx
    - printf
    - json_object_put
    - make_array
    - json_object_array_add
    linkageType: ''
    returnType: void
    signature: void test_array_del_idx(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:156,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:157,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:158,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:160,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:161,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:161,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:163,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:163,1
    - Dst: json_object_array_put_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:166,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:166,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:167,1
    - Dst: json_object_array_put_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:171,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:171,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:172,1
    - Dst: json_object_array_put_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:176,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:176,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:177,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:181,1
    - Dst: json_object_array_put_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:182,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:183,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:186,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 190
    functionName: test_array_list_expand_internal
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test1.c
    functionUses: 0
    functionsReached:
    - json_object_array_get_idx
    - json_object_to_json_string
    - json_object_array_put_idx
    - json_object_new_int
    - json_object_array_length
    - printf
    - json_object_put
    - make_array
    linkageType: ''
    returnType: void
    signature: void test_array_list_expand_internal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:198,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:199,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:199,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:200,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:200,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:201,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:201,1
    - Dst: json_object_array_insert_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:203,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:203,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:204,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:205,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:205,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:206,1
    - Dst: json_object_array_insert_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:208,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:208,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:210,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:211,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:211,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:212,1
    - Dst: json_object_array_insert_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:214,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:214,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:216,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:217,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:217,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:218,1
    - Dst: json_object_array_insert_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:220,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:220,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:221,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:222,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:222,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:223,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (1 == json_object_equal(my_array, jo1))
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/json-c-json-c-0.17-20230812/tests/test1.c
    - condition: (1 == json_object_equal(my_array, jo1))
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/json-c-json-c-0.17-20230812/tests/test1.c
    - condition: (1 == json_object_equal(my_array, jo1))
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/json-c-json-c-0.17-20230812/tests/test1.c
    - condition: (1 == json_object_equal(my_array, jo1))
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/json-c-json-c-0.17-20230812/tests/test1.c
    constantsTouched: []
    func_position:
      end: 226
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 226
    functionName: test_array_insert_idx
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test1.c
    functionUses: 0
    functionsReached:
    - json_object_equal
    - json_object_new_array
    - assert
    - json_object_new_int
    - json_object_array_insert_idx
    - json_tokener_parse
    - json_object_put
    - json_object_array_add
    linkageType: ''
    returnType: void
    signature: void test_array_insert_idx(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MC_SET_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:236,1
    - Dst: parse_flags
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:239,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:242,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:243,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:243,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:244,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:244,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:245,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:247,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:248,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:248,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:249,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:249,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:250,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:252,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:253,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:253,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:254,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:254,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:255,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:256,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:257,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:259,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:260,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:260,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:261,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:261,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:262,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:263,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:264,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:266,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:267,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:267,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:268,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:268,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:270,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:271,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:271,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:272,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:272,1
    - Dst: json_object_new_null
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:274,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:275,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:275,1
    - Dst: json_object_new_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:277,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:278,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:278,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:279,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:279,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:280,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:280,1
    - Dst: json_object_array_put_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:281,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:281,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:282,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:283,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:285,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:286,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:286,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:288,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:288,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:290,1
    - Dst: test_array_insert_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:292,1
    - Dst: test_array_del_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:294,1
    - Dst: test_array_list_expand_internal
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:295,1
    - Dst: json_object_new_array_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:297,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:298,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:298,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:299,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:299,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:300,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:300,1
    - Dst: json_object_array_put_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:301,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:301,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:302,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:303,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:305,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:306,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:306,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:308,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:308,1
    - Dst: json_object_array_sort
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:309,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:310,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:311,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:313,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:314,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:314,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:316,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:316,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:318,1
    - Dst: json_object_array_bsearch
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:319,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:320,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:321,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:322,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:324,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:325,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:328,1
    - Dst: fflush
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:329,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:331,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:331,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:332,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:332,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:333,1
    - Dst: json_object_new_boolean
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:333,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:334,1
    - Dst: json_object_new_boolean
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:334,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:335,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:335,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:337,1
    - Dst: json_object_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:338,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:339,1
    - Dst: json_object_object_del
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:340,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:343,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:343,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:344,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:347,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:350,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:350,1
    - Dst: json_object_new_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:353,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:354,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:355,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:356,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:357,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:357,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:359,1
    - Dst: json_object_new_array_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:360,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:363,1
    - Dst: fflush
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:364,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:365,1
    - Dst: json_object_new_array_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:370,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:373,1
    - Dst: fflush
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:374,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:375,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:380,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:381,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:382,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:383,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 103
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 228
    functionDepth: 5
    functionLinenumber: 228
    functionLinenumberEnd: 387
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test1.c
    functionUses: 0
    functionsReached:
    - json_object_new_array
    - json_object_object_del
    - fflush
    - json_object_get_int
    - json_object_to_json_string_ext
    - test_array_del_idx
    - json_object_array_sort
    - json_object_object_add
    - json_object_new_boolean
    - test_array_insert_idx
    - json_object_to_json_string
    - json_object_new_string
    - json_object_array_length
    - printf
    - json_object_new_object
    - json_object_array_put_idx
    - json_object_new_null
    - json_object_new_int
    - json_object_put
    - json_object_get
    - json_object_get_string
    - json_object_array_get_idx
    - parse_flags
    - MC_SET_DEBUG
    - json_object_array_bsearch
    - json_object_new_array_ext
    - test_array_list_expand_internal
    - json_object_array_add
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:350,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test1.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: json_object_object_foreach
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test1.c
    functionUses: 0
    functionsReached:
    - printf
    - json_object_to_json_string
    linkageType: ''
    returnType: void
    signature: void json_object_object_foreach(my_object, key, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: json_object_to_json_string
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test2.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_object_to_json_string(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MC_SET_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/tests/test2.c:25,1
    - Dst: parse_flags
      Src: /src/json-c-json-c-0.17-20230812/tests/test2.c:28,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test2.c:31,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test2.c:38,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test2.c:38,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test2.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test2.c
    functionUses: 0
    functionsReached:
    - parse_flags
    - json_object_to_json_string
    - MC_SET_DEBUG
    - printf
    - json_tokener_parse
    - json_object_put
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintbuf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - jso
    - pb
    - level
    - flags
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: my_custom_serializer
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    functionUses: 0
    functionsReached:
    - sprintbuf
    linkageType: ''
    returnType: int
    signature: int my_custom_serializer(struct json_object *jso, struct printbuf *pb,
      int level, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_c_shallow_copy_default
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:100,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:103,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:105,1
    - Dst: json_object_get_userdata
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:106,1
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - src
    - parent
    - key
    - index
    - dst
    argTypes:
    - json_object*
    - json_object*
    - char*
    - size_t
    - json_object**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: my_shallow_copy
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    functionUses: 0
    functionsReached:
    - strcmp
    - json_object_get_userdata
    - printf
    - json_object_set_serializer
    - json_c_shallow_copy_default
    linkageType: ''
    returnType: int
    signature: "int my_shallow_copy(json_object *src, json_object *parent, const char
      *key, size_t index,\n                    json_object **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:119,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:124,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:125,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:126,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:128,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:129,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:130,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:132,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:135,1
    - Dst: json_object_deep_copy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:135,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:136,1
    - Dst: json_object_deep_copy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:136,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:137,1
    - Dst: json_object_deep_copy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:137,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:139,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:141,1
    - Dst: json_object_deep_copy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:141,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:142,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:143,1
    - Dst: json_object_deep_copy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:143,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:144,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:145,1
    - Dst: json_object_deep_copy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:145,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:146,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:148,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:150,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:150,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:151,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:151,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:152,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:152,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:154,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:156,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:156,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:156,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:157,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:158,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:158,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:158,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:159,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:160,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:160,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:160,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:161,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:163,1
    - Dst: json_object_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:165,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:166,1
    - Dst: json_object_deep_copy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:166,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:167,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:168,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:170,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:172,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:173,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:174,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:175,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:175,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:176,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:178,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:179,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:180,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:180,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:181,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:183,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:184,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:185,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:186,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:186,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:187,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:189,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:190,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:191,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:193,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:194,1
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:197,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:198,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:201,1
    - Dst: json_object_deep_copy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:201,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:202,1
    - Dst: json_object_deep_copy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:202,1
    - Dst: json_object_object_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:204,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:205,1
    - Dst: json_object_get_userdata
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:206,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:207,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:207,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:209,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:210,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:210,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:211,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:212,1
    - Dst: do_benchmark
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:216,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:219,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:220,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (src1 != NULL)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: "(0 == strcmp(json_object_to_json_string_ext(src2, JSON_C_TO_STRING_PRETTY),\n\t
        \                  json_object_to_json_string_ext(dst2, JSON_C_TO_STRING_PRETTY)))"
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (dest_with_serializer != NULL)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (src2 != NULL)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (strcmp(dst_userdata, "dummy userdata") == 0)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (1 == json_object_equal(src1, dst1))
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (-1 == json_object_deep_copy(src3, &dst3, NULL))
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (-1 == json_object_deep_copy(src1, &dst1, NULL))
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (-1 == json_object_deep_copy(src1, &dst1, NULL))
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (-1 == json_object_deep_copy(src1, &dst1, NULL))
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (0 == json_object_deep_copy(src1, &dst1, NULL))
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (1 == json_object_equal(src3, dst3))
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (0 == json_object_deep_copy(src3, &dst3, NULL))
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (-1 == json_object_deep_copy(src2, &dst2, NULL))
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: "(0 == strcmp(json_object_to_json_string_ext(src3, JSON_C_TO_STRING_PRETTY),\n\t
        \                  json_object_to_json_string_ext(dst3, JSON_C_TO_STRING_PRETTY)))"
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (1 == json_object_equal(src2, dst2))
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (strcmp(special_output, "OTHER") == 0)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: "(0 == strcmp(json_object_to_json_string_ext(src1, JSON_C_TO_STRING_PRETTY),\n\t
        \                  json_object_to_json_string_ext(dst1, JSON_C_TO_STRING_PRETTY)))"
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (src3 != NULL)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (0 == json_object_deep_copy(src2, &dst2, NULL))
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    - condition: (0 == json_object_deep_copy(src1, &dst1, my_shallow_copy))
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    constantsTouched: []
    func_position:
      end: 224
      start: 113
    functionDepth: 6
    functionLinenumber: 113
    functionLinenumberEnd: 224
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    functionUses: 0
    functionsReached:
    - strcmp
    - json_object_equal
    - json_object_get_userdata
    - json_object_deep_copy
    - assert
    - json_object_to_json_string
    - do_benchmark
    - json_object_new_string
    - json_object_to_json_string_ext
    - json_object_object_get
    - json_object_object_add
    - printf
    - json_object_set_serializer
    - json_tokener_parse
    - json_object_get
    - json_object_put
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:238,1
    - Dst: time
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:240,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:243,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:243,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:244,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:246,1
    - Dst: time
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:248,1
    - Dst: time
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:250,1
    - Dst: json_object_deep_copy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:254,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:255,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:258,1
    - Dst: time
      Src: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - src2
    argTypes:
    - json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 226
    functionDepth: 6
    functionLinenumber: 226
    functionLinenumberEnd: 261
    functionName: do_benchmark
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
    functionUses: 1
    functionsReached:
    - json_object_get_string
    - time
    - json_object_deep_copy
    - printf
    - json_tokener_parse
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void do_benchmark(json_object *src2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:14,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:14,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:15,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:15,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:16,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:16,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:17,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:17,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - jo1
    - json_pointer
    - expected_int
    argTypes:
    - struct json_object*
    - char*
    - int
    assertStmts:
    - condition: (0 == json_pointer_get(jo1, json_pointer, NULL))
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_get(jo1, json_pointer, &jo2))
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (json_object_is_type(jo2, json_type_int))
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (expected_int == json_object_get_int(jo2))
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 5
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: test_example_int
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    functionUses: 0
    functionsReached:
    - json_pointer_get
    - assert
    - json_object_get_int
    - json_object_is_type
    - printf
    linkageType: ''
    returnType: void
    signature: void test_example_int(struct json_object *jo1, const char *json_pointer,
      int expected_int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:87,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:88,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:89,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:90,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:90,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:95,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:95,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:96,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:96,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:97,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:97,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:98,1
    - Dst: json_object_new_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:101,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:102,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:102,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:103,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:103,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:106,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:106,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:107,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:107,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:108,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:109,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:109,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:110,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:111,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:115,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:115,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:116,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:116,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:117,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:118,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:118,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:118,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:119,1
    - Dst: test_example_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:122,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0 == json_pointer_get(jo1, "/foo", NULL))
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_get(jo1, "/foo", &jo2))
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (NULL != jo2)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (json_object_equal(jo2, jo3))
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_get(jo1, "/foo/0", NULL))
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_get(jo1, "/foo/0", &jo2))
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == strcmp("bar", json_object_get_string(jo2)))
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_get(jo1, "", NULL))
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_get(jo1, "", &jo2))
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (json_object_equal(jo2, jo1))
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (NULL != jo2)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (NULL != jo1)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    constantsTouched: []
    func_position:
      end: 125
      start: 62
    functionDepth: 6
    functionLinenumber: 62
    functionLinenumberEnd: 125
    functionName: test_example_get
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    functionUses: 0
    functionsReached:
    - strcmp
    - json_object_equal
    - json_pointer_get
    - json_object_get_string
    - json_object_new_array
    - assert
    - json_object_new_string
    - test_example_int
    - printf
    - json_tokener_parse
    - json_object_put
    - json_object_array_add
    linkageType: ''
    returnType: void
    signature: void test_example_get(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:130,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:133,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:134,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:134,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:135,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:135,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:136,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:136,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:137,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:137,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:139,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:139,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:140,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:140,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:141,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:141,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:141,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:143,1
    - Dst: json_pointer_getf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:143,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:144,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:144,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:145,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:145,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:145,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:147,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:148,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:148,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:149,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:149,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:150,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:150,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:152,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:152,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:153,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:153,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:154,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:154,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:154,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:156,1
    - Dst: json_pointer_getf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:156,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:158,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0 == strcmp("1", json_object_get_string(jo2)))
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_object_get_int(jo2))
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_getf(jo1, &jo2, "%s", "\0"))
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (jo1 != NULL)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (json_object_is_type(jo2, json_type_string))
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (jo1 != NULL)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_get(jo1, "/obj/obj/obj/0/obj1", &jo2))
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (json_object_is_type(jo2, json_type_int))
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_get(jo1, "/obj/obj/obj/0/obj2", &jo2))
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_object_get_int(jo2))
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == strcmp("1", json_object_get_string(jo2)))
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == strcmp("1", json_object_get_string(jo2)))
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_get(jo1, "/arr/0/obj/2/obj1", &jo2))
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (json_object_is_type(jo2, json_type_int))
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_get(jo1, "/arr/0/obj/2/obj2", &jo2))
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_getf(jo1, &jo2, "/%s/%d/%s/%d/%s", "arr", 0, "obj",
        2, "obj2"))
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (json_object_is_type(jo2, json_type_string))
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (json_object_is_type(jo2, json_type_string))
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    constantsTouched: []
    func_position:
      end: 161
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 161
    functionName: test_recursion_get
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    functionUses: 0
    functionsReached:
    - strcmp
    - json_pointer_getf
    - json_pointer_get
    - json_object_get_string
    - assert
    - json_object_get_int
    - json_object_is_type
    - printf
    - json_tokener_parse
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void test_recursion_get(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:165,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:167,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:168,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:169,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:169,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:174,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:174,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:175,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:175,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:176,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:177,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:178,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:182,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:182,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:183,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:185,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:185,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:186,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:188,1
    - Dst: json_pointer_getf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:188,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:189,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:191,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:191,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:192,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:194,1
    - Dst: json_pointer_getf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:194,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:195,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:196,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:200,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:200,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:201,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:203,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:203,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:204,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:206,1
    - Dst: json_pointer_getf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:206,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:207,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:209,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:209,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:210,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:213,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:213,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:214,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:217,1
    - Dst: json_pointer_getf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:217,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:218,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:220,1
    - Dst: json_pointer_getf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:220,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:221,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:223,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:223,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:224,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:226,1
    - Dst: json_pointer_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:226,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:227,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:228,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (errno == EINVAL)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_get(jo1, "/foo/a", NULL))
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_getf(jo1, NULL, "/%s/a", "foo"))
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_get(jo1, "/foo/10", NULL))
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_getf(jo1, NULL, NULL))
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_get(jo1, "/foo/-1", NULL))
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_getf(jo1, NULL, "/%s/%d", "foo", 22))
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_getf(NULL, NULL, NULL))
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_get(jo1, "/foo/-", NULL))
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (jo2 == NULL)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_get(jo1, NULL, NULL))
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_get(jo1, "/foo/4", NULL))
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == ENOENT)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_getf(jo1, NULL, "%s", "/foo/22"))
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == ENOENT)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == ENOENT)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == ENOENT)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (NULL != jo1)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_get(jo1, "foo/bar", NULL))
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_get(jo1, "foo/bar", &jo2))
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_get(NULL, "foo/bar", NULL))
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_get(NULL, NULL, NULL))
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_get(jo1, "/foo/01", NULL))
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    constantsTouched: []
    func_position:
      end: 231
      start: 163
    functionDepth: 5
    functionLinenumber: 163
    functionLinenumberEnd: 231
    functionName: test_wrong_inputs_get
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    functionUses: 0
    functionsReached:
    - json_pointer_getf
    - json_pointer_get
    - json_object_get_string
    - assert
    - printf
    - json_tokener_parse
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void test_wrong_inputs_get(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:235,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:237,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:238,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:239,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:239,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:241,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:241,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:241,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:242,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:242,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:242,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:242,1
    - Dst: json_object_object_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:243,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:244,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:245,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:245,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:245,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:246,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:247,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:248,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:248,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:248,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:249,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:250,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:250,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:251,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:252,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:252,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:252,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:253,1
    - Dst: json_pointer_setf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:253,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:253,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:254,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:255,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:255,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:255,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:256,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:257,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:257,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:257,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:258,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:260,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:263,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:263,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:264,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:264,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:265,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:267,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:267,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:267,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:268,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:268,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:269,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:269,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:271,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:273,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:274,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:276,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:276,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:276,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:277,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:277,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:279,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:281,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:283,1
    - Dst: json_pointer_setf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:283,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:283,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:284,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:284,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:286,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (1 == json_object_equal(jo1, jo2))
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_setf(&jo1, json_object_new_int(0), "%s%s/%d",
        "/fud", "/gaw", 0))
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (1 == json_object_equal(jo1, jo2))
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_setf(&jo1, json_object_new_int(7), "/%u", 7))
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_set(&jo1, "", json_object_new_int(10)))
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (jo1 != NULL)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_set(&jo1, "/fud/gaw/0", json_object_new_int(0)))
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (json_object_equal(jo2, jo1))
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (10 == json_object_get_int(jo1))
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_set(&jo1, "/7", json_object_new_int(7)))
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_set(&jo1, "/foo/1", json_object_new_string("cod")))
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_set(&jo1, "/fud/gaw", (jo2 = json_tokener_parse("[1,2,3]"))))
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_set(&jo1, "/fud/gaw", jo2))
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_set(&jo1, "/", json_object_new_int(9)))
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: "(0 == strcmp(\"cod\", json_object_get_string(json_object_array_get_idx(\n\t
        \                             json_object_object_get(jo1, \"foo\"), 1))))"
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (errno == ENOENT)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_set(&jo1, "/fud", json_object_new_object()))
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_set(&jo1, "/fud/gaw/-", json_object_new_int(4)))
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    constantsTouched: []
    func_position:
      end: 288
      start: 233
    functionDepth: 6
    functionLinenumber: 233
    functionLinenumberEnd: 288
    functionName: test_example_set
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    functionUses: 0
    functionsReached:
    - strcmp
    - json_pointer_setf
    - json_object_get_string
    - json_object_array_get_idx
    - json_pointer_set
    - json_object_equal
    - assert
    - json_object_new_int
    - json_object_new_string
    - json_object_get_int
    - json_object_object_get
    - printf
    - json_tokener_parse
    - json_object_new_object
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void test_example_set(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:292,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:294,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:295,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:296,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:296,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:298,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:298,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:299,1
    - Dst: json_pointer_setf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:299,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:300,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:300,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:301,1
    - Dst: json_pointer_setf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:301,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:302,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:304,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:304,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:304,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:305,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:306,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:308,1
    - Dst: json_pointer_setf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:309,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:309,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:310,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:311,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:313,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:313,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:313,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:314,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:315,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:317,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:318,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:318,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:319,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:319,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:319,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:320,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:320,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:323,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:324,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:324,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:325,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:326,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:327,1
    - Dst: json_pointer_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:327,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:328,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:329,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:331,1
    - Dst: json_pointer_setf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:331,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:331,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (0 != json_pointer_set(NULL, NULL, NULL))
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_setf(NULL, NULL, NULL))
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_setf(&jo1, NULL, NULL))
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_set(&jo1, "/fud/gaw", jo2))
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (jo1 != NULL)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_set(&jo1, NULL, NULL))
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: "(0 !=\n\t       json_pointer_setf(&jo1, (jo2 = json_object_new_string(\"cod\")),
        \"%s\", \"foo/bar\"))"
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_set(&jo1, "/fud", json_object_new_object()))
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_set(&jo1, "/fud/gaw/0", jo2))
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_set(&jo1, "/fud/gaw", jo2))
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_set(&jo1, "foo/bar", (jo2 = json_object_new_string("cod"))))
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_set(&jo1, "0", (jo2 = json_object_new_string("cod"))))
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 != json_pointer_set(&jo1, "/fud/gaw/", jo2))
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    - condition: (0 == json_pointer_setf(&jo1, json_object_new_string("cod"), "%s",
        "\0"))
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    constantsTouched: []
    func_position:
      end: 334
      start: 290
    functionDepth: 6
    functionLinenumber: 290
    functionLinenumberEnd: 334
    functionName: test_wrong_inputs_set
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    functionUses: 0
    functionsReached:
    - json_object_get_string
    - json_pointer_set
    - json_object_new_object
    - assert
    - json_object_new_int
    - json_object_new_string
    - printf
    - json_tokener_parse
    - json_pointer_setf
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void test_wrong_inputs_set(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_example_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:338,1
    - Dst: test_recursion_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:339,1
    - Dst: test_wrong_inputs_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:340,1
    - Dst: test_example_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:341,1
    - Dst: test_wrong_inputs_set
      Src: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 7
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    functionUses: 0
    functionsReached:
    - test_example_get
    - test_example_set
    - test_wrong_inputs_set
    - test_recursion_get
    - test_wrong_inputs_get
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_string_len
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:21,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:22,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:24,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:28,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:29,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:33,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:34,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:35,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:36,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:37,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:38,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:41,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:43,1
    - Dst: json_object_get_string_len
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:46,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:47,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:49,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:52,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:54,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:55,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_null.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_null.c
    functionUses: 0
    functionsReached:
    - strcmp
    - puts
    - json_object_get_string
    - json_object_to_json_string
    - json_tokener_parse
    - json_object_get_string_len
    - printf
    - json_object_put
    - json_object_new_string_len
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MC_SET_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:17,1
    - Dst: test_case_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c
    functionUses: 0
    functionsReached:
    - test_case_parse
    - MC_SET_DEBUG
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_new
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:30,1
    - Dst: json_tokener_set_flags
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:31,1
    - Dst: json_tokener_parse_ex
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:33,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:34,1
    - Dst: json_tokener_parse_ex
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:36,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:37,1
    - Dst: json_tokener_parse_ex
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:39,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:40,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:42,1
    - Dst: json_tokener_free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (new_obj == NULL)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c
    - condition: (new_obj == NULL)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c
    - condition: (new_obj == NULL)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: test_case_parse
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c
    functionUses: 1
    functionsReached:
    - json_tokener_parse_ex
    - json_tokener_set_flags
    - assert
    - json_tokener_free
    - printf
    - json_tokener_new
    linkageType: ''
    returnType: void
    signature: void test_case_parse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - jso
    - userdata
    argTypes:
    - json_object*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: freeit
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void freeit(json_object *jso, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintbuf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - o
    - pb
    - level
    - flags
    argTypes:
    - struct json_object*
    - struct printbuf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: custom_serializer
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c
    functionUses: 0
    functionsReached:
    - sprintbuf
    linkageType: ''
    returnType: int
    signature: int custom_serializer(struct json_object *o, struct printbuf *pb, int
      level, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MC_SET_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:34,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:36,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:37,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:38,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:38,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:39,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:39,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:41,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:41,1
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:44,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:46,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:47,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:49,1
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:51,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:52,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:54,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:54,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:56,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:60,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:61,1
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:62,1
    - Dst: json_object_get
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:63,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:64,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:65,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:66,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:67,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:70,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:71,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:75,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:76,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:77,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:78,1
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:80,1
    - Dst: UNCONST
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:80,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:81,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:82,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (freeit_was_called)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c
    - condition: (freeit_was_called)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c
    constantsTouched: []
    func_position:
      end: 87
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c
    functionUses: 0
    functionsReached:
    - UNCONST
    - assert
    - json_object_to_json_string
    - MC_SET_DEBUG
    - json_object_new_int
    - json_object_new_string
    - json_object_new_double
    - json_object_to_json_string_ext
    - json_object_object_add
    - printf
    - json_object_set_serializer
    - json_object_put
    - json_object_new_object
    - json_object_get
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: UNCONST
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNCONST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MC_SET_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:24,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:37,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:38,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:38,1
    - Dst: json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:41,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:42,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:43,1
    - Dst: json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:45,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:46,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:47,1
    - Dst: json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:49,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:50,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:51,1
    - Dst: json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:53,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:54,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:55,1
    - Dst: json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:57,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:58,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:59,1
    - Dst: json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:61,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:62,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:63,1
    - Dst: json_c_visit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:65,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:66,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:67,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_visit.c
    functionUses: 0
    functionsReached:
    - json_c_visit
    - json_object_to_json_string
    - MC_SET_DEBUG
    - printf
    - json_tokener_parse
    - json_object_put
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:77,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - jso
    - flags
    - parent_jso
    - jso_key
    - jso_index
    - userarg
    argTypes:
    - json_object*
    - int
    - json_object*
    - char*
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: emit_object
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_visit.c
    functionUses: 0
    functionsReached:
    - printf
    - json_object_to_json_string
    linkageType: ''
    returnType: int
    signature: "int emit_object(json_object *jso, int flags, json_object *parent_jso,
      const char *jso_key,\n                       size_t *jso_index, void *userarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:86,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - jso
    - flags
    - parent_jso
    - jso_key
    - jso_index
    - userarg
    argTypes:
    - json_object*
    - int
    - json_object*
    - char*
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: skip_arrays
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_visit.c
    functionUses: 0
    functionsReached:
    - emit_object
    - json_object_get_type
    linkageType: ''
    returnType: int
    signature: "int skip_arrays(json_object *jso, int flags, json_object *parent_jso,
      const char *jso_key,\n                       size_t *jso_index, void *userarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emit_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:95,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:96,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:98,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:101,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - jso
    - flags
    - parent_jso
    - jso_key
    - jso_index
    - userarg
    argTypes:
    - json_object*
    - int
    - json_object*
    - char*
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: pop_and_stop
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_visit.c
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    - emit_object
    linkageType: ''
    returnType: int
    signature: "int pop_and_stop(json_object *jso, int flags, json_object *parent_jso,
      const char *jso_key,\n                        size_t *jso_index, void *userarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:112,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:113,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - jso
    - flags
    - parent_jso
    - jso_key
    - jso_index
    - userarg
    argTypes:
    - json_object*
    - int
    - json_object*
    - char*
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: err_on_subobj2
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_visit.c
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    - emit_object
    linkageType: ''
    returnType: int
    signature: "int err_on_subobj2(json_object *jso, int flags, json_object *parent_jso,
      const char *jso_key,\n                          size_t *jso_index, void *userarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:124,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - jso
    - flags
    - parent_jso
    - jso_key
    - jso_index
    - userarg
    argTypes:
    - json_object*
    - int
    - json_object*
    - char*
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: pop_array
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_visit.c
    functionUses: 0
    functionsReached:
    - printf
    - emit_object
    linkageType: ''
    returnType: int
    signature: "int pop_array(json_object *jso, int flags, json_object *parent_jso,
      const char *jso_key,\n                     size_t *jso_index, void *userarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:136,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - jso
    - flags
    - parent_jso
    - jso_key
    - jso_index
    - userarg
    argTypes:
    - json_object*
    - int
    - json_object*
    - char*
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: stop_array
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_visit.c
    functionUses: 0
    functionsReached:
    - printf
    - emit_object
    linkageType: ''
    returnType: int
    signature: "int stop_array(json_object *jso, int flags, json_object *parent_jso,
      const char *jso_key,\n                      size_t *jso_index, void *userarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:148,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_visit.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - jso
    - flags
    - parent_jso
    - jso_key
    - jso_index
    - userarg
    argTypes:
    - json_object*
    - int
    - json_object*
    - char*
    - size_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: err_return
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_visit.c
    functionUses: 0
    functionsReached:
    - printf
    - json_object_to_json_string
    linkageType: ''
    returnType: int
    signature: "int err_return(json_object *jso, int flags, json_object *parent_jso,
      const char *jso_key,\n                      size_t *jso_index, void *userarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:26,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:28,1
    - Dst: putchar
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 31
    functionName: print_hex
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test4.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void print_hex(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:38,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:39,1
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:42,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:43,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:44,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:45,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:47,1
    - Dst: abort
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:48,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:51,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:51,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:52,1
    - Dst: json_object_object_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:52,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (jobj != NULL)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/json-c-json-c-0.17-20230812/tests/test4.c
    - condition: (iobj != NULL)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/json-c-json-c-0.17-20230812/tests/test4.c
    - condition: (json_object_object_length(jobj) == 500)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/json-c-json-c-0.17-20230812/tests/test4.c
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: test_lot_of_adds
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test4.c
    functionUses: 0
    functionsReached:
    - json_object_object_length
    - abort
    - assert
    - snprintf
    - json_object_to_json_string
    - json_object_new_int
    - json_object_object_add
    - printf
    - fprintf
    - json_object_put
    - json_object_new_object
    linkageType: ''
    returnType: void
    signature: void test_lot_of_adds(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:61,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:62,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:64,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:66,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:70,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:71,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:75,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:76,1
    - Dst: print_hex
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:77,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:78,1
    - Dst: print_hex
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:79,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:80,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:83,1
    - Dst: test_lot_of_adds
      Src: /src/json-c-json-c-0.17-20230812/tests/test4.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test4.c
    functionUses: 0
    functionsReached:
    - json_object_put
    - strcmp
    - puts
    - json_object_get_string
    - test_lot_of_adds
    - printf
    - json_tokener_parse
    - print_hex
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:26,1
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:33,1
    - Dst: MC_SET_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:35,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:37,1
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:39,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:40,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:41,1
    - Dst: setlocale
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:44,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:50,1
    - Dst: json_object_array_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:52,1
    - Dst: json_object_array_get_idx
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:54,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:55,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:55,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:57,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:59,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:60,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_locale.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_locale.c
    functionUses: 0
    functionsReached:
    - strcmp
    - json_object_array_get_idx
    - snprintf
    - MC_SET_DEBUG
    - json_object_array_length
    - json_object_get_double
    - json_object_to_json_string_ext
    - printf
    - setlocale
    - json_tokener_parse
    - json_object_put
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:46,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:47,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:48,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:52,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:53,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:54,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:55,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:56,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:57,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:58,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:59,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:60,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:61,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:62,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:63,1
    - Dst: getit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:64,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:67,1
    - Dst: checktype_header
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:68,1
    - Dst: checktype
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:69,1
    - Dst: checktype
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:70,1
    - Dst: checktype
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:71,1
    - Dst: checktype
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:72,1
    - Dst: checktype
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:73,1
    - Dst: checktype
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:74,1
    - Dst: checktype
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:75,1
    - Dst: checktype
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:76,1
    - Dst: checktype
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:77,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_cast.c
    functionUses: 0
    functionsReached:
    - checktype
    - getit
    - checktype_header
    - printf
    - json_tokener_parse
    - json_object_put
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_object_get_ex
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:87,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:88,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:90,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:91,1
    - Dst: json_type_to_name
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:91,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:92,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:92,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:93,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:93,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:94,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:95,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:96,1
    - Dst: json_object_get_boolean
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:96,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:97,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - new_obj
    - field
    argTypes:
    - struct json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: getit
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_cast.c
    functionUses: 1
    functionsReached:
    - json_object_get_boolean
    - json_object_object_get_ex
    - json_type_to_name
    - json_object_get_uint64
    - json_object_get_int64
    - json_object_get_int
    - printf
    - json_object_get_double
    - json_object_get_type
    linkageType: ''
    returnType: void
    signature: void getit(struct json_object *new_obj, const char *field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:102,1
    - Dst: json_type_to_name
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:102,1
    - Dst: json_type_to_name
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:103,1
    - Dst: json_type_to_name
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:103,1
    - Dst: json_type_to_name
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:104,1
    - Dst: json_type_to_name
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:104,1
    - Dst: json_type_to_name
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:105,1
    - Dst: json_type_to_name
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: checktype_header
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_cast.c
    functionUses: 1
    functionsReached:
    - printf
    - json_type_to_name
    linkageType: ''
    returnType: void
    signature: void checktype_header(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_object_get_ex
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:110,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:111,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:113,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:114,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:114,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:115,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:115,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:116,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:116,1
    - Dst: json_object_is_type
      Src: /src/json-c-json-c-0.17-20230812/tests/test_cast.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - new_obj
    - field
    argTypes:
    - struct json_object*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: checktype
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_cast.c
    functionUses: 1
    functionsReached:
    - printf
    - json_object_object_get_ex
    - json_object_is_type
    linkageType: ''
    returnType: void
    signature: void checktype(struct json_object *new_obj, const char *field)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:44,1
    - Dst: json_object_to_file
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:57,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:58,1
    - Dst: stat_and_cat
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:60,1
    - Dst: putchar
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:62,1
    - Dst: json_object_to_file_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:65,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:66,1
    - Dst: stat_and_cat
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:69,1
    - Dst: open
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:72,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:75,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:75,1
    - Dst: json_object_to_fd
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:78,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:79,1
    - Dst: json_object_to_fd
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:82,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:83,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:85,1
    - Dst: stat_and_cat
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:87,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 90
    functionName: test_write_to_file
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c
    functionUses: 0
    functionsReached:
    - stat_and_cat
    - json_object_to_fd
    - open
    - json_object_to_file_ext
    - putchar
    - json_object_to_file
    - close
    - strerror
    - printf
    - json_tokener_parse
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void test_write_to_file(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:95,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:98,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:98,1
    - Dst: fstat
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:101,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:103,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:103,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:104,1
    - Dst: malloc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:107,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:110,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:111,1
    - Dst: read
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:114,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:116,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:116,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:117,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:118,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:122,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:123,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 125
    functionName: stat_and_cat
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c
    functionUses: 1
    functionsReached:
    - open
    - read
    - malloc
    - free
    - close
    - strerror
    - printf
    - fstat
    linkageType: ''
    returnType: void
    signature: void stat_and_cat(const char *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:135,1
    - Dst: strncmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:144,1
    - Dst: json_c_version
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:144,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:146,1
    - Dst: json_c_version
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:148,1
    - Dst: json_c_version_num
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:151,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:153,1
    - Dst: json_c_version_num
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:155,1
    - Dst: test_read_valid_with_fd
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:159,1
    - Dst: test_read_valid_nested_with_fd
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:160,1
    - Dst: test_read_nonexistant
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:161,1
    - Dst: test_read_closed
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:162,1
    - Dst: test_write_to_file
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:163,1
    - Dst: test_read_fd_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c
    functionUses: 0
    functionsReached:
    - test_read_fd_equal
    - test_read_valid_nested_with_fd
    - strncmp
    - test_read_nonexistant
    - test_read_closed
    - json_c_version_num
    - test_read_valid_with_fd
    - printf
    - fprintf
    - test_write_to_file
    - json_c_version
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:171,1
    - Dst: open
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:173,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:176,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:176,1
    - Dst: exit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:177,1
    - Dst: json_object_from_fd
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:179,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:182,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:182,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:183,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:187,1
    - Dst: json_util_get_last_err
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:188,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - testdir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 191
    functionName: test_read_valid_with_fd
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c
    functionUses: 1
    functionsReached:
    - exit
    - open
    - snprintf
    - json_object_to_json_string
    - json_util_get_last_err
    - close
    - strerror
    - printf
    - fprintf
    - json_object_put
    - json_object_from_fd
    linkageType: ''
    returnType: void
    signature: void test_read_valid_with_fd(const char *testdir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:196,1
    - Dst: open
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:198,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:201,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:201,1
    - Dst: exit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:202,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:204,1
    - Dst: json_object_from_fd_ex
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:204,1
    - Dst: json_object_from_fd_ex
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:205,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:208,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:209,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:210,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:214,1
    - Dst: json_util_get_last_err
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:215,1
    - Dst: lseek
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:218,1
    - Dst: json_object_from_fd_ex
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:220,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:223,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:224,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:225,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:229,1
    - Dst: json_util_get_last_err
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:231,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - testdir
    argTypes:
    - char*
    assertStmts:
    - condition: (NULL == json_object_from_fd_ex(d, -2))
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c
    constantsTouched: []
    func_position:
      end: 234
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 234
    functionName: test_read_valid_nested_with_fd
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c
    functionUses: 1
    functionsReached:
    - exit
    - assert
    - open
    - snprintf
    - json_object_to_json_string
    - json_util_get_last_err
    - json_object_from_fd_ex
    - close
    - lseek
    - strerror
    - printf
    - fprintf
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void test_read_valid_nested_with_fd(const char *testdir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_from_file
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:240,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:243,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:245,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:249,1
    - Dst: json_util_get_last_err
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: test_read_nonexistant
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c
    functionUses: 1
    functionsReached:
    - printf
    - json_object_from_file
    - json_object_put
    - json_util_get_last_err
    linkageType: ''
    returnType: void
    signature: void test_read_nonexistant(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:257,1
    - Dst: puts
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:260,1
    - Dst: dup2
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:264,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:266,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:268,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:269,1
    - Dst: json_object_from_fd
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:271,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:274,1
    - Dst: fflush
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:275,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:276,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:276,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:277,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:280,1
    - Dst: json_util_get_last_err
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 283
    functionName: test_read_closed
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c
    functionUses: 1
    functionsReached:
    - puts
    - fflush
    - open
    - json_object_to_json_string
    - json_util_get_last_err
    - close
    - dup2
    - printf
    - json_object_put
    - json_object_from_fd
    linkageType: ''
    returnType: void
    signature: void test_read_closed(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:288,1
    - Dst: json_object_from_file
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:290,1
    - Dst: open
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:292,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:295,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:295,1
    - Dst: exit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:296,1
    - Dst: json_object_from_fd
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:298,1
    - Dst: close
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:299,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:301,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:301,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:302,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:302,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:303,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - testdir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 305
    functionName: test_read_fd_equal
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c
    functionUses: 1
    functionsReached:
    - exit
    - json_object_from_file
    - open
    - snprintf
    - json_object_to_json_string
    - close
    - strerror
    - printf
    - fprintf
    - json_object_put
    - json_object_from_fd
    linkageType: ''
    returnType: void
    signature: void test_read_fd_equal(const char *testdir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_parse_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:17,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 19
    functionName: checkit
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c
    functionUses: 0
    functionsReached:
    - printf
    - json_parse_int64
    linkageType: ''
    returnType: void
    signature: void checkit(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_parse_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:25,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: checkit_uint
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c
    functionUses: 0
    functionsReached:
    - printf
    - json_parse_uint64
    linkageType: ''
    returnType: void
    signature: void checkit_uint(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:41,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:42,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:44,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:45,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:47,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:48,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:50,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:52,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:53,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:55,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:56,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:58,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:59,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:61,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:62,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:64,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:65,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:67,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:68,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:70,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:71,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:73,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:74,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:76,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:77,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:79,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:80,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:82,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:83,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:85,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:86,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:88,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:89,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:91,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:92,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:94,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:95,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:97,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:98,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:100,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:101,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:103,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:104,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:106,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:107,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:109,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:110,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:112,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:113,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:115,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:116,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:118,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:119,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:121,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:122,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:125,1
    - Dst: checkit
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:126,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:128,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:129,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:131,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:132,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:134,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:135,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:137,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:139,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:140,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:142,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:143,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:145,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:146,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:148,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:149,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:151,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:152,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:154,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:155,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:157,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:158,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:160,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:161,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:163,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:164,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:166,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:167,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:169,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:170,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:172,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:173,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:175,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:176,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:178,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:179,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:181,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:182,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:184,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:185,1
    - Dst: strcpy
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:188,1
    - Dst: checkit_uint
      Src: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 100
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c
    functionUses: 0
    functionsReached:
    - printf
    - checkit_uint
    - checkit
    - strcpy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:26,1
    - Dst: printbuf_new
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:27,1
    - Dst: sprintbuf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:28,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:29,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:30,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:30,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:31,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: test_basic_printbuf_memset
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c
    functionUses: 0
    functionsReached:
    - printbuf_length
    - sprintbuf
    - printbuf_memset
    - printbuf_free
    - printbuf_new
    - printf
    linkageType: ''
    returnType: void
    signature: void test_basic_printbuf_memset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:39,1
    - Dst: printbuf_new
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:40,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:41,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:42,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:43,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:44,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:45,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:46,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:46,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:47,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:48,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:49,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:50,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:50,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:51,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:52,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:52,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:53,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:54,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:55,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:56,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:57,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:58,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:58,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:61,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:62,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:62,1
    - Dst: printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:65,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:65,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:66,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:66,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:68,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 70
    functionName: test_printbuf_memset_length
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c
    functionUses: 0
    functionsReached:
    - printbuf_length
    - printbuf_memset
    - printbuf_free
    - printbuf_new
    - printf
    linkageType: ''
    returnType: void
    signature: void test_printbuf_memset_length(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:78,1
    - Dst: printbuf_new
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:79,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:80,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:80,1
    - Dst: printbuf_memappend_fast
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:86,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:88,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:89,1
    - Dst: printbuf_reset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:91,1
    - Dst: printbuf_memappend_fast
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:92,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:93,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:93,1
    - Dst: printbuf_reset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:96,1
    - Dst: printbuf_memappend_fast
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:97,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:98,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:98,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:100,1
    - Dst: printbuf_new
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:101,1
    - Dst: malloc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:102,1
    - Dst: memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:103,1
    - Dst: printbuf_memappend_fast
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:104,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:105,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:105,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:107,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:108,1
    - Dst: printbuf_new
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:110,1
    - Dst: malloc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:111,1
    - Dst: memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:112,1
    - Dst: printbuf_memappend_fast
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:113,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:114,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:114,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:116,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:117,1
    - Dst: printbuf_new
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:120,1
    - Dst: printbuf_strappend
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:121,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:122,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:122,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:123,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - before_resize
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 127
    functionName: test_printbuf_memappend
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c
    functionUses: 0
    functionsReached:
    - printbuf_length
    - printbuf_memappend_fast
    - printbuf_strappend
    - malloc
    - printbuf_free
    - printbuf_new
    - free
    - printf
    - memset
    - printbuf_reset
    linkageType: ''
    returnType: void
    signature: void test_printbuf_memappend(int *before_resize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:139,1
    - Dst: printbuf_new
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:140,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:141,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:141,1
    - Dst: malloc
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:143,1
    - Dst: memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:144,1
    - Dst: sprintbuf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:146,1
    - Dst: free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:147,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:148,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:149,1
    - Dst: strlen
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:149,1
    - Dst: printbuf_reset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:151,1
    - Dst: sprintbuf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:152,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:153,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:153,1
    - Dst: sprintbuf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:155,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:156,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:156,1
    - Dst: sprintbuf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:158,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:159,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:159,1
    - Dst: sprintbuf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:161,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:162,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:162,1
    - Dst: sprintbuf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:164,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:165,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:165,1
    - Dst: sprintbuf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:167,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:168,1
    - Dst: printbuf_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:168,1
    - Dst: printbuf_free
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:169,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - before_resize
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 171
    functionName: test_sprintbuf
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c
    functionUses: 0
    functionsReached:
    - printbuf_length
    - strlen
    - sprintbuf
    - malloc
    - printbuf_free
    - printbuf_new
    - free
    - printf
    - memset
    - printbuf_reset
    linkageType: ''
    returnType: void
    signature: void test_sprintbuf(int before_resize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MC_SET_DEBUG
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:177,1
    - Dst: test_basic_printbuf_memset
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:179,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:180,1
    - Dst: test_printbuf_memset_length
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:181,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:182,1
    - Dst: test_printbuf_memappend
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:183,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:184,1
    - Dst: test_sprintbuf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:185,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c
    functionUses: 0
    functionsReached:
    - test_printbuf_memappend
    - test_basic_printbuf_memset
    - test_printbuf_memset_length
    - MC_SET_DEBUG
    - test_sprintbuf
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:12,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:13,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:13,1
    - Dst: json_object_set_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:14,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:15,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:15,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:16,1
    - Dst: json_object_set_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:17,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:18,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:18,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:19,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:20,1
    - Dst: json_object_new_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:21,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:22,1
    - Dst: json_object_get_boolean
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:22,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:23,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:23,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:24,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:24,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:25,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:25,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:26,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:26,1
    - Dst: json_object_set_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:27,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:28,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:28,1
    - Dst: json_object_set_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:29,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:30,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:30,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:31,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:31,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:32,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:33,1
    - Dst: json_object_new_boolean
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:34,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:35,1
    - Dst: json_object_get_boolean
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:35,1
    - Dst: json_object_set_boolean
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:36,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:37,1
    - Dst: json_object_get_boolean
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:37,1
    - Dst: json_object_set_boolean
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:38,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:39,1
    - Dst: json_object_get_boolean
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:39,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:40,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:41,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:42,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:43,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:43,1
    - Dst: json_object_set_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:44,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:45,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:45,1
    - Dst: json_object_set_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:46,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:47,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:47,1
    - Dst: json_object_set_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:48,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:49,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:49,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:50,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:50,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:51,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:51,1
    - Dst: json_object_set_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:52,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:53,1
    - Dst: json_object_get_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:53,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:54,1
    - Dst: json_object_get_int64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:54,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:55,1
    - Dst: json_object_get_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:55,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:56,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:57,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:62,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:63,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:63,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:63,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:64,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:64,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:64,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:65,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:66,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:66,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:66,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:67,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:67,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:67,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:68,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:69,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:69,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:69,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:70,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:70,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:70,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:71,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:72,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:72,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:72,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:73,1
    - Dst: strcmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:73,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:73,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:77,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:78,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:79,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:80,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:82,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:83,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:91,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:92,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:92,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:93,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:94,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:94,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:95,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:96,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:96,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:97,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:98,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:98,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:99,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:100,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:100,1
    - Dst: json_object_set_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:101,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:102,1
    - Dst: json_object_get_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:102,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:103,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:104,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:106,1
    - Dst: json_object_set_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:107,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:108,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:109,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:110,1
    - Dst: strncmp
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:110,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:111,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:112,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (json_object_get_int(tmp) == 123)
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_double(tmp) == 123.123000)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (strncmp(serialized, "12.3", 4) == 0)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_double(tmp) == 12.34)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_double(tmp) == 12000.000000)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_int64(tmp) == INT64_MAX)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_int(tmp) == 123)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_double(tmp) == 6435.34)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_uint64(tmp) == 0)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (strcmp(json_object_get_string(tmp), SHORT) == 0)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_double(tmp) == 0.0)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_double(tmp) == 34.56)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_int(tmp) == 321)
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_double(tmp) == 0.0)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_double(tmp) == 123.000000)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (strcmp(json_object_get_string(tmp), MID) == 0)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_int(tmp) == INT32_MAX)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_boolean(tmp) == 1)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (strcmp(json_object_get_string(tmp), SHORT) == 0)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_double(tmp) == 0.0)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (strcmp(json_object_to_json_string(tmp), "\"" MID "\"") == 0)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_int64(tmp) == INT64_MIN)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (strcmp(json_object_to_json_string(tmp), "\"" SHORT "\"") == 0)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_uint64(tmp) == UINT64_MAX)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_int64(tmp) == 321321321)
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_uint64(tmp) == 9223372036854775808U)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_uint64(tmp) == 123)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (strcmp(json_object_to_json_string(tmp), "\"" HUGE "\"") == 0)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_int(tmp) == INT32_MIN)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (strcmp(json_object_to_json_string(tmp), "\"" SHORT "\"") == 0)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (strcmp(json_object_get_string(tmp), HUGE) == 0)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_int(tmp) == INT32_MAX)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_boolean(tmp) == 1)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_boolean(tmp) == 1)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_double(tmp) == 0.0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_uint64(tmp) == 321321321)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_boolean(tmp) == 0)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    - condition: (json_object_get_int64(tmp) == 123)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    constantsTouched: []
    func_position:
      end: 116
      start: 10
    functionDepth: 4
    functionLinenumber: 10
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
    functionUses: 0
    functionsReached:
    - json_object_new_uint64
    - json_object_set_uint64
    - json_object_set_boolean
    - json_object_new_double
    - json_object_get_int
    - json_object_new_boolean
    - strcmp
    - json_object_set_string
    - json_object_set_int
    - json_object_to_json_string
    - json_object_get_uint64
    - strncmp
    - json_object_new_string
    - json_object_get_int64
    - printf
    - json_object_get_double
    - fprintf
    - json_tokener_parse
    - json_object_get_boolean
    - json_object_set_double
    - json_object_new_int
    - json_object_set_int64
    - json_object_put
    - json_object_get_string
    - assert
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:14,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:15,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:15,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:16,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:18,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:19,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:19,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:20,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:21,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:22,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:22,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:23,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:24,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:25,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:25,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:26,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:27,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:28,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:28,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_float.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 10
    functionDepth: 3
    functionLinenumber: 10
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_float.c
    functionUses: 0
    functionsReached:
    - json_object_new_double
    - json_object_put
    - json_object_to_json_string_ext
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - GET_F
    - ','
    - J
    - ','
    - EXPECTED
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: CHECK_GET
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_GET(GET_F, J, EXPECTED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - J
    - ','
    - EXPECTED
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: CHECK_GET_INT
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_GET_INT(J, EXPECTED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - J
    - ','
    - EXPECTED
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: CHECK_GET_INT64
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_GET_INT64(J, EXPECTED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - J
    - ','
    - EXPECTED
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: CHECK_GET_UINT64
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_GET_UINT64(J, EXPECTED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - J
    - ','
    - EXPECTED
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: CHECK_BASE
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_BASE(J, EXPECTED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_BASE
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:31,1
    - Dst: N_INT
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:31,1
    - Dst: CHECK_BASE
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:32,1
    - Dst: N_INT
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:32,1
    - Dst: CHECK_BASE
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:33,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:33,1
    - Dst: CHECK_BASE
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:34,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:34,1
    - Dst: CHECK_BASE
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:35,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:35,1
    - Dst: CHECK_BASE
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:36,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:36,1
    - Dst: CHECK_BASE
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:37,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:37,1
    - Dst: CHECK_BASE
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:38,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:38,1
    - Dst: CHECK_BASE
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:39,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:39,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:40,1
    - Dst: CHECK_GET_INT
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:42,1
    - Dst: N_I64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:42,1
    - Dst: CHECK_GET_INT
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:43,1
    - Dst: N_I64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:43,1
    - Dst: CHECK_GET_INT
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:44,1
    - Dst: N_I64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:44,1
    - Dst: CHECK_GET_INT
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:45,1
    - Dst: N_I64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:45,1
    - Dst: CHECK_GET_INT
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:46,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:46,1
    - Dst: CHECK_GET_INT
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:47,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:47,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:48,1
    - Dst: CHECK_GET_INT64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:50,1
    - Dst: N_I64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:50,1
    - Dst: CHECK_GET_INT64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:51,1
    - Dst: N_I64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:51,1
    - Dst: CHECK_GET_INT64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:52,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:52,1
    - Dst: CHECK_GET_INT64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:53,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:53,1
    - Dst: CHECK_GET_INT64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:54,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:54,1
    - Dst: CHECK_GET_INT64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:55,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:55,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:56,1
    - Dst: CHECK_GET_UINT64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:58,1
    - Dst: N_U64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:58,1
    - Dst: CHECK_GET_UINT64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:59,1
    - Dst: N_U64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:59,1
    - Dst: CHECK_GET_UINT64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:60,1
    - Dst: N_STR
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:60,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:61,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c:63,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
    functionUses: 0
    functionsReached:
    - N_U64
    - N_STR
    - N_I64
    - CHECK_GET_UINT64
    - CHECK_BASE
    - N_INT
    - CHECK_GET_INT64
    - printf
    - CHECK_GET_INT
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_iter_init_default
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:29,1
    - Dst: json_tokener_parse
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:30,1
    - Dst: json_object_iter_begin
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:31,1
    - Dst: json_object_iter_end
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:32,1
    - Dst: json_object_iter_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:34,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:36,1
    - Dst: json_object_iter_peek_name
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:36,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:37,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:37,1
    - Dst: json_object_iter_peek_value
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:37,1
    - Dst: json_object_iter_next
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:38,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - atgc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c
    functionUses: 0
    functionsReached:
    - json_object_iter_peek_value
    - json_object_put
    - json_object_iter_begin
    - json_object_iter_peek_name
    - json_object_iter_equal
    - json_object_to_json_string
    - json_object_iter_end
    - json_object_iter_next
    - printf
    - json_tokener_parse
    - json_object_iter_init_default
    linkageType: ''
    returnType: int
    signature: int main(int atgc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: NELEM
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/parse_flags.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NELEM(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NELEM
      Src: /src/json-c-json-c-0.17-20230812/tests/parse_flags.c:40,1
    - Dst: strcasecmp
      Src: /src/json-c-json-c-0.17-20230812/tests/parse_flags.c:42,1
    - Dst: NELEM
      Src: /src/json-c-json-c-0.17-20230812/tests/parse_flags.c:48,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/parse_flags.c:50,1
    - Dst: exit
      Src: /src/json-c-json-c-0.17-20230812/tests/parse_flags.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: parse_flags
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/parse_flags.c
    functionUses: 2
    functionsReached:
    - printf
    - exit
    - NELEM
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int parse_flags(int argc, char **argv)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:18,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:19,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:20,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:21,1
    - Dst: json_object_new_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:22,1
    - Dst: json_object_new_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:23,1
    - Dst: json_object_new_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:24,1
    - Dst: json_object_new_uint64
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:25,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:27,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:28,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:30,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:32,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:33,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:35,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:37,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:38,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:40,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:42,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:43,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:45,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:47,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:48,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:50,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:52,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:53,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:55,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:57,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:58,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:60,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:62,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:63,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:65,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:67,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:68,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:70,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:72,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:73,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:75,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:77,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:78,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:80,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:82,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:83,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:85,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:87,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:88,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:90,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:92,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:93,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:95,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:97,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:98,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:99,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:100,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:101,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:102,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:103,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:104,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:107,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:108,1
    - Dst: json_object_new_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:109,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:111,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:112,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:114,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:116,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:117,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:119,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:121,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:122,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:123,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:126,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:127,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:128,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:130,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:131,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:133,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:135,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:136,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:138,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:140,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:141,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:142,1
    - Dst: json_object_new_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:145,1
    - Dst: json_object_new_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:146,1
    - Dst: json_object_new_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:147,1
    - Dst: json_object_new_array
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:148,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:150,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:150,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:151,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:151,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:153,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:153,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:154,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:154,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:156,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:156,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:157,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:157,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:159,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:160,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:162,1
    - Dst: json_object_array_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:164,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:164,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:165,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:166,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:168,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:170,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:171,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:173,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:175,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:176,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:178,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:180,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:181,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:182,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:183,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:186,1
    - Dst: json_object_new_object
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:187,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:189,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:189,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:190,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:190,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:191,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:191,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:192,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:192,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:193,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:193,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:195,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:195,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:196,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:196,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:197,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:197,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:198,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:198,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:199,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:199,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:202,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:203,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:205,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:208,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:208,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:209,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:210,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:212,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:215,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:215,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:216,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:216,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:217,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:218,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:220,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:223,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:223,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:224,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:225,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:227,1
    - Dst: json_object_object_add
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:228,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:228,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:229,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:230,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:232,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:234,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:235,1
    - Dst: json_object_new_int
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:238,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:239,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:241,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:242,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:244,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:246,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:247,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:249,1
    - Dst: json_object_equal
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:251,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:252,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:254,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:256,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_compare.c:257,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 136
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 15
    functionDepth: 4
    functionLinenumber: 15
    functionLinenumberEnd: 260
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_compare.c
    functionUses: 0
    functionsReached:
    - json_object_equal
    - json_object_new_array
    - json_object_new_uint64
    - json_object_new_int
    - json_object_new_string
    - json_object_new_double
    - json_object_object_add
    - printf
    - json_object_put
    - json_object_new_object
    - json_object_array_add
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:19,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:22,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:23,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:23,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:25,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:27,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:27,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:29,1
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:30,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:31,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:31,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:33,1
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:34,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:35,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:35,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:37,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:38,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:39,1
    - Dst: json_object_set_serializer
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:41,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:42,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:42,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:44,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:45,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:47,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:47,1
    - Dst: json_c_set_serialization_double_format
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:48,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:49,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:50,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:50,1
    - Dst: json_c_set_serialization_double_format
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:52,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:53,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:54,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:54,1
    - Dst: json_c_set_serialization_double_format
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:55,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:57,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:58,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:58,1
    - Dst: json_c_set_serialization_double_format
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:59,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:60,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:61,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:61,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:64,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:65,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:66,1
    - Dst: json_c_set_serialization_double_format
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:68,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:69,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:70,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:70,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:72,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:74,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:75,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:75,1
    - Dst: json_c_set_serialization_double_format
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:76,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:77,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:78,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:78,1
    - Dst: json_c_set_serialization_double_format
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:80,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:81,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:82,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:82,1
    - Dst: json_c_set_serialization_double_format
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:84,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:85,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:86,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:86,1
    - Dst: json_c_set_serialization_double_format
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:89,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:90,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:92,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:94,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:95,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:95,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:96,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:99,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:100,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:100,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:101,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:104,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:105,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:105,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:106,1
    - Dst: json_object_new_double
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:108,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:109,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:109,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c
    functionUses: 0
    functionsReached:
    - json_object_to_json_string
    - json_object_new_double
    - json_c_set_serialization_double_format
    - json_object_to_json_string_ext
    - printf
    - json_object_set_serializer
    - json_object_put
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tok
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: json_tokener_get_parse_end
    functionSourceFile: /src/json-c-json-c-0.17-20230812/apps/json_parse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: json_tokener_get_parse_end(tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:57,1
    - Dst: getrusage
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:58,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: showmem
    functionSourceFile: /src/json-c-json-c-0.17-20230812/apps/json_parse.c
    functionUses: 0
    functionsReached:
    - memset
    - fprintf
    - getrusage
    linkageType: ''
    returnType: void
    signature: void showmem(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_tokener_new_ex
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:71,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:74,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:74,1
    - Dst: json_tokener_set_flags
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:77,1
    - Dst: read
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:88,1
    - Dst: json_tokener_parse_ex
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:95,1
    - Dst: json_tokener_get_error
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:96,1
    - Dst: json_tokener_get_parse_end
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:97,1
    - Dst: fflush
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:102,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:104,1
    - Dst: json_tokener_error_desc
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:105,1
    - Dst: json_tokener_free
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:106,1
    - Dst: callback
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:111,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:112,1
    - Dst: json_tokener_free
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:115,1
    - Dst: json_tokener_get_parse_end
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:119,1
    - Dst: assert
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:120,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:125,1
    - Dst: strerror
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:125,1
    - Dst: json_tokener_free
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts:
    - condition: (start_pos <= retu)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/json-c-json-c-0.17-20230812/apps/json_parse.c
    constantsTouched: []
    func_position:
      end: 130
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 130
    functionName: parseit
    functionSourceFile: /src/json-c-json-c-0.17-20230812/apps/json_parse.c
    functionUses: 0
    functionsReached:
    - json_tokener_new_ex
    - json_tokener_error_desc
    - json_tokener_parse_ex
    - callback
    - fflush
    - json_tokener_set_flags
    - assert
    - read
    - json_tokener_get_parse_end
    - json_tokener_free
    - strerror
    - fprintf
    - json_object_put
    - json_tokener_get_error
    linkageType: ''
    returnType: int
    signature: int parseit(int fd, int (*callback)(struct json_object *))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:136,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:140,1
    - Dst: json_object_to_json_string_ext
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:145,1
    - Dst: printf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:146,1
    - Dst: showmem
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - new_obj
    argTypes:
    - struct json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 151
    functionName: showobj
    functionSourceFile: /src/json-c-json-c-0.17-20230812/apps/json_parse.c
    functionUses: 0
    functionsReached:
    - printf
    - fprintf
    - showmem
    - json_object_to_json_string_ext
    linkageType: ''
    returnType: int
    signature: int showobj(struct json_object *new_obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:159,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:160,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:161,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:162,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:163,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:164,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:165,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:166,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:167,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:169,1
    - Dst: fprintf
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:170,1
    - Dst: exit
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - argv0
    - exitval
    - errmsg
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: usage
    functionSourceFile: /src/json-c-json-c-0.17-20230812/apps/json_parse.c
    functionUses: 1
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(const char *argv0, int exitval, const char *errmsg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:178,1
    - Dst: atoi
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:183,1
    - Dst: usage
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:187,1
    - Dst: usage
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:188,1
    - Dst: usage
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:193,1
    - Dst: open
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:197,1
    - Dst: showmem
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:198,1
    - Dst: parseit
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:199,1
    - Dst: exit
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:200,1
    - Dst: showmem
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:201,1
    - Dst: exit
      Src: /src/json-c-json-c-0.17-20230812/apps/json_parse.c:203,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/json-c-json-c-0.17-20230812/apps/json_parse.c
    functionUses: 0
    functionsReached:
    - exit
    - getopt
    - showmem
    - open
    - parseit
    - atoi
    - usage
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char *>
      Src: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc:7,1
    - Dst: json_tokener_new
      Src: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc:8,1
    - Dst: json_tokener_parse_ex
      Src: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc:9,1
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc:12,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc:13,1
    - Dst: json_object_to_json_string
      Src: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc:15,1
    - Dst: json_object_put
      Src: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc:17,1
    - Dst: json_tokener_free
      Src: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 5
    functionDepth: 4
    functionLinenumber: 5
    functionLinenumberEnd: 20
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc
    functionUses: 0
    functionsReached:
    - json_object_get_string
    - json_tokener_parse_ex
    - json_object_to_json_string
    - reinterpret_cast<const char *>
    - json_tokener_free
    - json_tokener_new
    - json_object_put
    - json_object_get_type
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_get_type
      Src: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc:12,1
    - Dst: json_object_get_string
      Src: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 4
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: json_object_object_foreach
    functionSourceFile: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc
    functionUses: 0
    functionsReached:
    - json_object_get_string
    - json_object_get_type
    linkageType: ''
    returnType: void
    signature: void json_object_object_foreach(jobj, key, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/tests/dga/dga_evaluate.c:35,1
    - Dst: exit
      Src: /src/ndpi/tests/dga/dga_evaluate.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: help
    functionSourceFile: /src/ndpi/tests/dga/dga_evaluate.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void help()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/tests/dga/dga_evaluate.c:49,1
    - Dst: assert
      Src: /src/ndpi/tests/dga/dga_evaluate.c:50,1
    - Dst: va_start
      Src: /src/ndpi/tests/dga/dga_evaluate.c:62,1
    - Dst: vprintf
      Src: /src/ndpi/tests/dga/dga_evaluate.c:63,1
    - Dst: va_end
      Src: /src/ndpi/tests/dga/dga_evaluate.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - protocol
    - module_struct
    - log_level
    - file
    - func
    - line
    - format
    argTypes:
    - u_int16_t
    - struct ndpi_detection_module_struct*
    - ndpi_log_level_t
    - char*
    - char*
    - unsigned
    - char*
    assertStmts:
    - condition: (protocol == NDPI_PROTOCOL_UNKNOWN)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/ndpi/tests/dga/dga_evaluate.c
    - condition: (module_struct != NULL)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/ndpi/tests/dga/dga_evaluate.c
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: ndpi_dbg_fn
    functionSourceFile: /src/ndpi/tests/dga/dga_evaluate.c
    functionUses: 0
    functionsReached:
    - assert
    - va_end
    - va_start
    - vprintf
    linkageType: ''
    returnType: void
    signature: "void ndpi_dbg_fn(u_int16_t protocol,\n                        struct
      ndpi_detection_module_struct *module_struct,\n                        ndpi_log_level_t
      log_level, const char *file,\n                        const char *func, unsigned
      line,\n                        const char *format, ...)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: help
      Src: /src/ndpi/tests/dga/dga_evaluate.c:74,1
    - Dst: fopen
      Src: /src/ndpi/tests/dga/dga_evaluate.c:75,1
    - Dst: printf
      Src: /src/ndpi/tests/dga/dga_evaluate.c:78,1
    - Dst: exit
      Src: /src/ndpi/tests/dga/dga_evaluate.c:79,1
    - Dst: ndpi_get_api_version
      Src: /src/ndpi/tests/dga/dga_evaluate.c:89,1
    - Dst: printf
      Src: /src/ndpi/tests/dga/dga_evaluate.c:90,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/tests/dga/dga_evaluate.c:95,1
    - Dst: assert
      Src: /src/ndpi/tests/dga/dga_evaluate.c:96,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/tests/dga/dga_evaluate.c:97,1
    - Dst: set_ndpi_debug_function
      Src: /src/ndpi/tests/dga/dga_evaluate.c:98,1
    - Dst: assert
      Src: /src/ndpi/tests/dga/dga_evaluate.c:99,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/tests/dga/dga_evaluate.c:99,1
    - Dst: fgets
      Src: /src/ndpi/tests/dga/dga_evaluate.c:102,1
    - Dst: strtok
      Src: /src/ndpi/tests/dga/dga_evaluate.c:103,1
    - Dst: ndpi_check_dga_name
      Src: /src/ndpi/tests/dga/dga_evaluate.c:105,1
    - Dst: printf
      Src: /src/ndpi/tests/dga/dga_evaluate.c:107,1
    - Dst: printf
      Src: /src/ndpi/tests/dga/dga_evaluate.c:112,1
    - Dst: fclose
      Src: /src/ndpi/tests/dga/dga_evaluate.c:116,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/tests/dga/dga_evaluate.c:117,1
    - Dst: printf
      Src: /src/ndpi/tests/dga/dga_evaluate.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (ndpi_str != NULL)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/ndpi/tests/dga/dga_evaluate.c
    - condition: (ndpi_finalize_initialization(ndpi_str) == 0)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/ndpi/tests/dga/dga_evaluate.c
    constantsTouched: []
    func_position:
      end: 120
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/ndpi/tests/dga/dga_evaluate.c
    functionUses: 0
    functionsReached:
    - exit
    - fclose
    - printf
    - ndpi_init_detection_module
    - ndpi_set_config
    - assert
    - set_ndpi_debug_function
    - help
    - ndpi_exit_detection_module
    - strtok
    - ndpi_check_dga_name
    - fopen
    - ndpi_get_api_version
    - ndpi_finalize_initialization
    - fgets
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: timeval2usec
    functionSourceFile: /src/ndpi/tests/performance/patriciasearch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t timeval2usec(const struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeval2usec
      Src: /src/ndpi/tests/performance/patriciasearch.c:32,1
    - Dst: timeval2usec
      Src: /src/ndpi/tests/performance/patriciasearch.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - struct timeval*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: tdiff2sec
    functionSourceFile: /src/ndpi/tests/performance/patriciasearch.c
    functionUses: 0
    functionsReached:
    - timeval2usec
    linkageType: ''
    returnType: float
    signature: float tdiff2sec(const struct timeval *begin, const struct timeval *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/tests/performance/patriciasearch.c:42,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/patriciasearch.c:55,1
    - Dst: assert
      Src: /src/ndpi/tests/performance/patriciasearch.c:59,1
    - Dst: ndpi_patricia_new
      Src: /src/ndpi/tests/performance/patriciasearch.c:59,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/patriciasearch.c:61,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/patriciasearch.c:63,1
    - Dst: getline
      Src: /src/ndpi/tests/performance/patriciasearch.c:65,1
    - Dst: strlen
      Src: /src/ndpi/tests/performance/patriciasearch.c:67,1
    - Dst: inet_addr
      Src: /src/ndpi/tests/performance/patriciasearch.c:71,1
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/tests/performance/patriciasearch.c:72,1
    - Dst: assert
      Src: /src/ndpi/tests/performance/patriciasearch.c:73,1
    - Dst: ndpi_patricia_lookup
      Src: /src/ndpi/tests/performance/patriciasearch.c:73,1
    - Dst: fclose
      Src: /src/ndpi/tests/performance/patriciasearch.c:77,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/patriciasearch.c:79,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/patriciasearch.c:81,1
    - Dst: tdiff2sec
      Src: /src/ndpi/tests/performance/patriciasearch.c:82,1
    - Dst: ndpi_get_tot_allocated_memory
      Src: /src/ndpi/tests/performance/patriciasearch.c:83,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/patriciasearch.c:85,1
    - Dst: inet_addr
      Src: /src/ndpi/tests/performance/patriciasearch.c:90,1
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/tests/performance/patriciasearch.c:91,1
    - Dst: assert
      Src: /src/ndpi/tests/performance/patriciasearch.c:95,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/tests/performance/patriciasearch.c:95,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/patriciasearch.c:96,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/patriciasearch.c:98,1
    - Dst: timeval2usec
      Src: /src/ndpi/tests/performance/patriciasearch.c:99,1
    - Dst: timeval2usec
      Src: /src/ndpi/tests/performance/patriciasearch.c:99,1
    - Dst: ndpi_patricia_destroy
      Src: /src/ndpi/tests/performance/patriciasearch.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (ndpi_patricia_search_best(p_v4, &prefix))
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/ndpi/tests/performance/patriciasearch.c
    - condition: (p_v4 = ndpi_patricia_new(32))
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/ndpi/tests/performance/patriciasearch.c
    - condition: (ndpi_patricia_lookup(p_v4, &prefix) != NULL /* node added */)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/ndpi/tests/performance/patriciasearch.c
    constantsTouched: []
    func_position:
      end: 104
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/ndpi/tests/performance/patriciasearch.c
    functionUses: 0
    functionsReached:
    - timeval2usec
    - ndpi_patricia_lookup
    - getline
    - printf
    - strlen
    - fclose
    - assert
    - ndpi_patricia_new
    - ndpi_patricia_search_best
    - ndpi_fill_prefix_v4
    - ndpi_get_tot_allocated_memory
    - tdiff2sec
    - inet_addr
    - fopen
    - gettimeofday
    - ndpi_patricia_destroy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/ndpi/tests/performance/strnstr.cpp:18,1
    - Dst: strncmp
      Src: /src/ndpi/tests/performance/strnstr.cpp:26,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - s
    - find
    - slen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 31
    functionName: ndpi_strnstr
    functionSourceFile: /src/ndpi/tests/performance/strnstr.cpp
    functionUses: 0
    functionsReached:
    - strnlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: char *ndpi_strnstr(const char *s, const char *find, size_t slen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/tests/performance/strnstr.cpp:38,1
    - Dst: strnlen
      Src: /src/ndpi/tests/performance/strnstr.cpp:39,1
    - Dst: memchr
      Src: /src/ndpi/tests/performance/strnstr.cpp:50,1
    - Dst: memchr
      Src: /src/ndpi/tests/performance/strnstr.cpp:57,1
    - Dst: memcmp
      Src: /src/ndpi/tests/performance/strnstr.cpp:64,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - haystack
    - needle
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 72
    functionName: ndpi_strnstr_opt
    functionSourceFile: /src/ndpi/tests/performance/strnstr.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - memchr
    - strnlen
    - strlen
    linkageType: ''
    returnType: char
    signature: char *ndpi_strnstr_opt(const char *haystack, const char *needle, size_t
      len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/tests/performance/strnstr.cpp:79,1
    - Dst: strnlen
      Src: /src/ndpi/tests/performance/strnstr.cpp:85,1
    - Dst: memchr
      Src: /src/ndpi/tests/performance/strnstr.cpp:88,1
    - Dst: memchr
      Src: /src/ndpi/tests/performance/strnstr.cpp:100,1
    - Dst: memcmp
      Src: /src/ndpi/tests/performance/strnstr.cpp:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - haystack
    - needle
    - length_limit
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 114
    functionName: ndpi_strnstr_opt2
    functionSourceFile: /src/ndpi/tests/performance/strnstr.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - memchr
    - strnlen
    - strlen
    linkageType: ''
    returnType: char
    signature: char * ndpi_strnstr_opt2(const char* haystack, const char* needle,
      size_t length_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/ndpi/tests/performance/strnstr.cpp:120,1
    - Dst: dis
      Src: /src/ndpi/tests/performance/strnstr.cpp:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - length
    - gen
    argTypes:
    - size_t
    - std::mt19937
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: random_string
    functionSourceFile: /src/ndpi/tests/performance/strnstr.cpp
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - dis
    linkageType: ''
    returnType: std::string
    signature: std::string random_string(size_t length, std::mt19937 &gen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::high_resolution_clock::now
      Src: /src/ndpi/tests/performance/strnstr.cpp:128,1
    - Dst: strnstr_impl
      Src: /src/ndpi/tests/performance/strnstr.cpp:131,1
    - Dst: std::string::c_str
      Src: /src/ndpi/tests/performance/strnstr.cpp:131,1
    - Dst: std::string::c_str
      Src: /src/ndpi/tests/performance/strnstr.cpp:131,1
    - Dst: std::string::size
      Src: /src/ndpi/tests/performance/strnstr.cpp:131,1
    - Dst: std::chrono::high_resolution_clock::now
      Src: /src/ndpi/tests/performance/strnstr.cpp:132,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/ndpi/tests/performance/strnstr.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - strnstr_impl
    - haystack
    - needle
    argTypes:
    - "std::function<char *(const char *, const char *,\n                                               size_t)>"
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: measure_time
    functionSourceFile: /src/ndpi/tests/performance/strnstr.cpp
    functionUses: 0
    functionsReached:
    - strnstr_impl
    - std::chrono::high_resolution_clock::now
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: double
    signature: "double measure_time(const std::function<char *(const char *, const
      char *,\n                                               size_t)> &strnstr_impl,\n
      \                   const std::string &haystack, const std::string &needle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strnstr_impl
      Src: /src/ndpi/tests/performance/strnstr.cpp:144,1
    - Dst: std::string::c_str
      Src: /src/ndpi/tests/performance/strnstr.cpp:144,1
    - Dst: std::string::c_str
      Src: /src/ndpi/tests/performance/strnstr.cpp:144,1
    - Dst: std::string::size
      Src: /src/ndpi/tests/performance/strnstr.cpp:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - strnstr_impl
    - haystack
    - needle
    - iterations
    argTypes:
    - std::function<char *(const char *, const char *, size_t)>
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: warm_up
    functionSourceFile: /src/ndpi/tests/performance/strnstr.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - strnstr_impl
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void warm_up(const std::function<char *(const char *, const char *,
      size_t)>\n                 &strnstr_impl,\n             const std::string &haystack,
      const std::string &needle,\n             int iterations)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<double>::size
      Src: /src/ndpi/tests/performance/strnstr.cpp:149,1
    - Dst: std::accumulate
      Src: /src/ndpi/tests/performance/strnstr.cpp:150,1
    - Dst: std::vector<double>::begin
      Src: /src/ndpi/tests/performance/strnstr.cpp:150,1
    - Dst: std::vector<double>::end
      Src: /src/ndpi/tests/performance/strnstr.cpp:150,1
    - Dst: static_cast<double>
      Src: /src/ndpi/tests/performance/strnstr.cpp:151,1
    - Dst: std::vector<double>::size
      Src: /src/ndpi/tests/performance/strnstr.cpp:151,1
    - Dst: std::sort
      Src: /src/ndpi/tests/performance/strnstr.cpp:155,1
    - Dst: auto::begin
      Src: /src/ndpi/tests/performance/strnstr.cpp:155,1
    - Dst: auto::end
      Src: /src/ndpi/tests/performance/strnstr.cpp:155,1
    - Dst: auto::erase
      Src: /src/ndpi/tests/performance/strnstr.cpp:156,1
    - Dst: auto::begin
      Src: /src/ndpi/tests/performance/strnstr.cpp:156,1
    - Dst: auto::pop_back
      Src: /src/ndpi/tests/performance/strnstr.cpp:157,1
    - Dst: std::accumulate
      Src: /src/ndpi/tests/performance/strnstr.cpp:159,1
    - Dst: auto::begin
      Src: /src/ndpi/tests/performance/strnstr.cpp:159,1
    - Dst: auto::end
      Src: /src/ndpi/tests/performance/strnstr.cpp:159,1
    - Dst: auto::size
      Src: /src/ndpi/tests/performance/strnstr.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - times
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: average_without_extremes
    functionSourceFile: /src/ndpi/tests/performance/strnstr.cpp
    functionUses: 0
    functionsReached:
    - std::sort
    - std::accumulate
    - auto::erase
    - auto::end
    - std::vector<double>::end
    - static_cast<double>
    - auto::begin
    - std::vector<double>::begin
    - auto::size
    - std::vector<double>::size
    - auto::pop_back
    linkageType: ''
    returnType: double
    signature: double average_without_extremes(const std::vector<double> &times)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::sync_with_stdio
      Src: /src/ndpi/tests/performance/strnstr.cpp:164,1
    - Dst: random_string
      Src: /src/ndpi/tests/performance/strnstr.cpp:189,1
    - Dst: random_string
      Src: /src/ndpi/tests/performance/strnstr.cpp:190,1
    - Dst: warm_up
      Src: /src/ndpi/tests/performance/strnstr.cpp:195,1
    - Dst: std::vector::push_back
      Src: /src/ndpi/tests/performance/strnstr.cpp:199,1
    - Dst: measure_time
      Src: /src/ndpi/tests/performance/strnstr.cpp:199,1
    - Dst: average_without_extremes
      Src: /src/ndpi/tests/performance/strnstr.cpp:202,1
    - Dst: json_max
      Src: /src/ndpi/tests/performance/strnstr.cpp:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 228
    functionName: main
    functionSourceFile: /src/ndpi/tests/performance/strnstr.cpp
    functionUses: 0
    functionsReached:
    - measure_time
    - std::vector::push_back
    - random_string
    - std::ios_base::sync_with_stdio
    - json_max
    - average_without_extremes
    - warm_up
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/ndpi/tests/performance/gcrypt.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: ndpi_malloc
    functionSourceFile: /src/ndpi/tests/performance/gcrypt.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void * ndpi_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/tests/performance/gcrypt.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - unsigned long
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: ndpi_calloc
    functionSourceFile: /src/ndpi/tests/performance/gcrypt.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void * ndpi_calloc(unsigned long count, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/ndpi/tests/performance/gcrypt.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: ndpi_free
    functionSourceFile: /src/ndpi/tests/performance/gcrypt.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ndpi_free(void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/ndpi/tests/performance/gcrypt.c:101,1
    - Dst: abort
      Src: /src/ndpi/tests/performance/gcrypt.c:102,1
    - Dst: gcry_md_reset
      Src: /src/ndpi/tests/performance/gcrypt.c:103,1
    - Dst: gcry_md_setkey
      Src: /src/ndpi/tests/performance/gcrypt.c:104,1
    - Dst: abort
      Src: /src/ndpi/tests/performance/gcrypt.c:105,1
    - Dst: gcry_md_write
      Src: /src/ndpi/tests/performance/gcrypt.c:106,1
    - Dst: memcpy
      Src: /src/ndpi/tests/performance/gcrypt.c:107,1
    - Dst: gcry_md_read
      Src: /src/ndpi/tests/performance/gcrypt.c:107,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/ndpi/tests/performance/gcrypt.c:107,1
    - Dst: gcry_md_close
      Src: /src/ndpi/tests/performance/gcrypt.c:108,1
    - Dst: memcmp
      Src: /src/ndpi/tests/performance/gcrypt.c:109,1
    - Dst: abort
      Src: /src/ndpi/tests/performance/gcrypt.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 111
    functionName: test_md
    functionSourceFile: /src/ndpi/tests/performance/gcrypt.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_get_algo_dlen
    - abort
    - gcry_md_close
    - gcry_md_open
    - gcry_md_read
    - memcmp
    - gcry_md_reset
    - gcry_md_setkey
    - memcpy
    linkageType: ''
    returnType: void
    signature: void test_md(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: gcr_err
    functionSourceFile: /src/ndpi/tests/performance/gcrypt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gcr_err(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/ndpi/tests/performance/gcrypt.c:124,1
    - Dst: gcr_err
      Src: /src/ndpi/tests/performance/gcrypt.c:125,1
    - Dst: gcry_cipher_setkey
      Src: /src/ndpi/tests/performance/gcrypt.c:126,1
    - Dst: gcr_err
      Src: /src/ndpi/tests/performance/gcrypt.c:127,1
    - Dst: gcry_cipher_encrypt
      Src: /src/ndpi/tests/performance/gcrypt.c:128,1
    - Dst: gcr_err
      Src: /src/ndpi/tests/performance/gcrypt.c:130,1
    - Dst: memcmp
      Src: /src/ndpi/tests/performance/gcrypt.c:133,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/gcrypt.c:136,1
    - Dst: abort
      Src: /src/ndpi/tests/performance/gcrypt.c:137,1
    - Dst: gcry_cipher_close
      Src: /src/ndpi/tests/performance/gcrypt.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 141
    functionName: single_encryption1
    functionSourceFile: /src/ndpi/tests/performance/gcrypt.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_setkey
    - abort
    - gcry_cipher_open
    - gcry_cipher_close
    - gcry_cipher_encrypt
    - memcmp
    - printf
    - gcr_err
    linkageType: ''
    returnType: void
    signature: void single_encryption1(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_open
      Src: /src/ndpi/tests/performance/gcrypt.c:149,1
    - Dst: gcr_err
      Src: /src/ndpi/tests/performance/gcrypt.c:150,1
    - Dst: gcry_cipher_setkey
      Src: /src/ndpi/tests/performance/gcrypt.c:151,1
    - Dst: gcr_err
      Src: /src/ndpi/tests/performance/gcrypt.c:152,1
    - Dst: gcry_cipher_reset
      Src: /src/ndpi/tests/performance/gcrypt.c:153,1
    - Dst: gcr_err
      Src: /src/ndpi/tests/performance/gcrypt.c:154,1
    - Dst: gcry_cipher_setiv
      Src: /src/ndpi/tests/performance/gcrypt.c:155,1
    - Dst: gcr_err
      Src: /src/ndpi/tests/performance/gcrypt.c:156,1
    - Dst: gcry_cipher_authenticate
      Src: /src/ndpi/tests/performance/gcrypt.c:157,1
    - Dst: gcr_err
      Src: /src/ndpi/tests/performance/gcrypt.c:158,1
    - Dst: gcry_cipher_decrypt
      Src: /src/ndpi/tests/performance/gcrypt.c:159,1
    - Dst: gcr_err
      Src: /src/ndpi/tests/performance/gcrypt.c:161,1
    - Dst: memcmp
      Src: /src/ndpi/tests/performance/gcrypt.c:163,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/gcrypt.c:166,1
    - Dst: abort
      Src: /src/ndpi/tests/performance/gcrypt.c:167,1
    - Dst: gcry_cipher_checktag
      Src: /src/ndpi/tests/performance/gcrypt.c:170,1
    - Dst: gcr_err
      Src: /src/ndpi/tests/performance/gcrypt.c:171,1
    - Dst: gcry_cipher_close
      Src: /src/ndpi/tests/performance/gcrypt.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: single_encryption2
    functionSourceFile: /src/ndpi/tests/performance/gcrypt.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_reset
    - gcry_cipher_setkey
    - abort
    - gcry_cipher_open
    - gcry_cipher_decrypt
    - gcry_cipher_checktag
    - gcry_cipher_close
    - memcmp
    - printf
    - gcry_cipher_setiv
    - gcry_cipher_authenticate
    - gcr_err
    linkageType: ''
    returnType: void
    signature: void single_encryption2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: timeval2usec
    functionSourceFile: /src/ndpi/tests/performance/gcrypt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t timeval2usec(const struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeval2usec
      Src: /src/ndpi/tests/performance/gcrypt.c:183,1
    - Dst: timeval2usec
      Src: /src/ndpi/tests/performance/gcrypt.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - struct timeval*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: tdiff2sec
    functionSourceFile: /src/ndpi/tests/performance/gcrypt.c
    functionUses: 1
    functionsReached:
    - timeval2usec
    linkageType: ''
    returnType: int
    signature: int tdiff2sec(const struct timeval *begin, const struct timeval *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/gcrypt.c:194,1
    - Dst: test_md
      Src: /src/ndpi/tests/performance/gcrypt.c:196,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/gcrypt.c:198,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/gcrypt.c:199,1
    - Dst: tdiff2sec
      Src: /src/ndpi/tests/performance/gcrypt.c:199,1
    - Dst: fflush
      Src: /src/ndpi/tests/performance/gcrypt.c:199,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/gcrypt.c:201,1
    - Dst: single_encryption1
      Src: /src/ndpi/tests/performance/gcrypt.c:203,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/gcrypt.c:205,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/gcrypt.c:206,1
    - Dst: tdiff2sec
      Src: /src/ndpi/tests/performance/gcrypt.c:206,1
    - Dst: fflush
      Src: /src/ndpi/tests/performance/gcrypt.c:206,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/gcrypt.c:208,1
    - Dst: single_encryption2
      Src: /src/ndpi/tests/performance/gcrypt.c:210,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/gcrypt.c:212,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/gcrypt.c:213,1
    - Dst: tdiff2sec
      Src: /src/ndpi/tests/performance/gcrypt.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 216
    functionName: main
    functionSourceFile: /src/ndpi/tests/performance/gcrypt.c
    functionUses: 0
    functionsReached:
    - fflush
    - test_md
    - tdiff2sec
    - single_encryption1
    - printf
    - gettimeofday
    - single_encryption2
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: timeval2usec
    functionSourceFile: /src/ndpi/tests/performance/substringsearch.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t timeval2usec(const struct timeval *tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timeval2usec
      Src: /src/ndpi/tests/performance/substringsearch.c:32,1
    - Dst: timeval2usec
      Src: /src/ndpi/tests/performance/substringsearch.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - struct timeval*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: tdiff2sec
    functionSourceFile: /src/ndpi/tests/performance/substringsearch.c
    functionUses: 2
    functionsReached:
    - timeval2usec
    linkageType: ''
    returnType: float
    signature: float tdiff2sec(const struct timeval *begin, const struct timeval *end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/tests/performance/substringsearch.c:42,1
    - Dst: ndpi_init_automa
      Src: /src/ndpi/tests/performance/substringsearch.c:43,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/substringsearch.c:52,1
    - Dst: assert
      Src: /src/ndpi/tests/performance/substringsearch.c:55,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/substringsearch.c:57,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/substringsearch.c:59,1
    - Dst: getline
      Src: /src/ndpi/tests/performance/substringsearch.c:61,1
    - Dst: strtok
      Src: /src/ndpi/tests/performance/substringsearch.c:62,1
    - Dst: strtok
      Src: /src/ndpi/tests/performance/substringsearch.c:64,1
    - Dst: strlen
      Src: /src/ndpi/tests/performance/substringsearch.c:67,1
    - Dst: assert
      Src: /src/ndpi/tests/performance/substringsearch.c:71,1
    - Dst: ndpi_add_string_to_automa
      Src: /src/ndpi/tests/performance/substringsearch.c:71,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/tests/performance/substringsearch.c:71,1
    - Dst: fclose
      Src: /src/ndpi/tests/performance/substringsearch.c:78,1
    - Dst: ndpi_finalize_automa
      Src: /src/ndpi/tests/performance/substringsearch.c:80,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/substringsearch.c:82,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/substringsearch.c:84,1
    - Dst: tdiff2sec
      Src: /src/ndpi/tests/performance/substringsearch.c:85,1
    - Dst: ndpi_get_tot_allocated_memory
      Src: /src/ndpi/tests/performance/substringsearch.c:86,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/substringsearch.c:88,1
    - Dst: assert
      Src: /src/ndpi/tests/performance/substringsearch.c:90,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/tests/performance/substringsearch.c:90,1
    - Dst: gettimeofday
      Src: /src/ndpi/tests/performance/substringsearch.c:91,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/substringsearch.c:93,1
    - Dst: timeval2usec
      Src: /src/ndpi/tests/performance/substringsearch.c:94,1
    - Dst: timeval2usec
      Src: /src/ndpi/tests/performance/substringsearch.c:94,1
    - Dst: ndpi_free_automa
      Src: /src/ndpi/tests/performance/substringsearch.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (automa)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/ndpi/tests/performance/substringsearch.c
    - condition: (ndpi_add_string_to_automa(automa, ndpi_strdup(t)) == 0)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/ndpi/tests/performance/substringsearch.c
    - condition: (ndpi_match_string(automa, "github.com") == 1)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/ndpi/tests/performance/substringsearch.c
    constantsTouched: []
    func_position:
      end: 99
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/ndpi/tests/performance/substringsearch.c
    functionUses: 0
    functionsReached:
    - timeval2usec
    - ndpi_free_automa
    - getline
    - printf
    - strlen
    - ndpi_add_string_to_automa
    - assert
    - fclose
    - ndpi_strdup
    - ndpi_get_tot_allocated_memory
    - ndpi_init_automa
    - strtok
    - ndpi_finalize_automa
    - tdiff2sec
    - fopen
    - gettimeofday
    - ndpi_match_string
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/tests/performance/geo.c:9,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/tests/performance/geo.c:13,1
    - Dst: ndpi_load_geoip
      Src: /src/ndpi/tests/performance/geo.c:16,1
    - Dst: fprintf
      Src: /src/ndpi/tests/performance/geo.c:18,1
    - Dst: ndpi_get_geoip_country_continent_city
      Src: /src/ndpi/tests/performance/geo.c:28,1
    - Dst: ndpi_get_geoip_aso
      Src: /src/ndpi/tests/performance/geo.c:29,1
    - Dst: ndpi_get_geoip_asn
      Src: /src/ndpi/tests/performance/geo.c:30,1
    - Dst: printf
      Src: /src/ndpi/tests/performance/geo.c:31,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/tests/performance/geo.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/ndpi/tests/performance/geo.c
    functionUses: 0
    functionsReached:
    - ndpi_init_detection_module
    - ndpi_exit_detection_module
    - ndpi_get_geoip_asn
    - ndpi_load_geoip
    - ndpi_get_geoip_country_continent_city
    - ndpi_get_geoip_aso
    - printf
    - fprintf
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/tests/unit/unit.c:73,1
    - Dst: memset
      Src: /src/ndpi/tests/unit/unit.c:74,1
    - Dst: memset
      Src: /src/ndpi/tests/unit/unit.c:75,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:80,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:85,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:90,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:94,1
    - Dst: ndpi_init_serializer
      Src: /src/ndpi/tests/unit/unit.c:94,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/tests/unit/unit.c:99,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:100,1
    - Dst: ndpi_serialize_uint32_uint32
      Src: /src/ndpi/tests/unit/unit.c:100,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:101,1
    - Dst: ndpi_serialize_uint32_string
      Src: /src/ndpi/tests/unit/unit.c:101,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/tests/unit/unit.c:102,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:103,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/tests/unit/unit.c:103,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/tests/unit/unit.c:104,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:105,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/tests/unit/unit.c:105,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/tests/unit/unit.c:106,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:107,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/tests/unit/unit.c:107,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/tests/unit/unit.c:109,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:110,1
    - Dst: ndpi_serialize_string_double
      Src: /src/ndpi/tests/unit/unit.c:110,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/tests/unit/unit.c:112,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:113,1
    - Dst: ndpi_serialize_string_int64
      Src: /src/ndpi/tests/unit/unit.c:113,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:114,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/tests/unit/unit.c:114,1
    - Dst: ndpi_serialize_end_of_record
      Src: /src/ndpi/tests/unit/unit.c:115,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:119,1
    - Dst: ndpi_serialize_start_of_list
      Src: /src/ndpi/tests/unit/unit.c:119,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/tests/unit/unit.c:123,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/tests/unit/unit.c:124,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:125,1
    - Dst: ndpi_serialize_uint32_uint32
      Src: /src/ndpi/tests/unit/unit.c:125,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:126,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/tests/unit/unit.c:126,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:127,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/tests/unit/unit.c:127,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:129,1
    - Dst: ndpi_serialize_end_of_list
      Src: /src/ndpi/tests/unit/unit.c:129,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:130,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/tests/unit/unit.c:130,1
    - Dst: ndpi_serializer_get_buffer
      Src: /src/ndpi/tests/unit/unit.c:132,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:135,1
    - Dst: json_tokener_parse_verbose
      Src: /src/ndpi/tests/unit/unit.c:139,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:141,1
    - Dst: json_tokener_error_desc
      Src: /src/ndpi/tests/unit/unit.c:142,1
    - Dst: json_object_put
      Src: /src/ndpi/tests/unit/unit.c:146,1
    - Dst: ndpi_serializer_get_header
      Src: /src/ndpi/tests/unit/unit.c:153,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:154,1
    - Dst: ndpi_serializer_get_buffer
      Src: /src/ndpi/tests/unit/unit.c:157,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:158,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:163,1
    - Dst: ndpi_serializer_get_buffer_len
      Src: /src/ndpi/tests/unit/unit.c:163,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:165,1
    - Dst: ndpi_init_deserializer
      Src: /src/ndpi/tests/unit/unit.c:165,1
    - Dst: ndpi_deserialize_get_item_type
      Src: /src/ndpi/tests/unit/unit.c:170,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:175,1
    - Dst: ndpi_deserialize_key_uint32
      Src: /src/ndpi/tests/unit/unit.c:185,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:186,1
    - Dst: ndpi_deserialize_key_string
      Src: /src/ndpi/tests/unit/unit.c:189,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:193,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:198,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:204,1
    - Dst: ndpi_deserialize_value_uint32
      Src: /src/ndpi/tests/unit/unit.c:204,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:205,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:209,1
    - Dst: ndpi_deserialize_value_int64
      Src: /src/ndpi/tests/unit/unit.c:209,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:210,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:214,1
    - Dst: ndpi_deserialize_value_string
      Src: /src/ndpi/tests/unit/unit.c:214,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:218,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:224,1
    - Dst: ndpi_deserialize_value_float
      Src: /src/ndpi/tests/unit/unit.c:224,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:225,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:229,1
    - Dst: ndpi_deserialize_value_double
      Src: /src/ndpi/tests/unit/unit.c:229,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:230,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:234,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:235,1
    - Dst: ndpi_deserialize_next
      Src: /src/ndpi/tests/unit/unit.c:240,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:245,1
    - Dst: ndpi_init_deserializer
      Src: /src/ndpi/tests/unit/unit.c:245,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:246,1
    - Dst: ndpi_init_serializer
      Src: /src/ndpi/tests/unit/unit.c:246,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:247,1
    - Dst: ndpi_deserialize_clone_all
      Src: /src/ndpi/tests/unit/unit.c:247,1
    - Dst: ndpi_serializer_get_buffer
      Src: /src/ndpi/tests/unit/unit.c:249,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:251,1
    - Dst: ndpi_term_serializer
      Src: /src/ndpi/tests/unit/unit.c:253,1
    - Dst: ndpi_term_serializer
      Src: /src/ndpi/tests/unit/unit.c:256,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:259,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 156
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_serialize_uint32_string(&serializer, j++, "Data") != -1)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_start_of_list(&serializer, "List") != -1)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_init_serializer(&serializer, fmt) != -1)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_string_float(&serializer,  kbuf, (float)(i*i), "%f")
        != -1)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_uint32_uint32(&serializer, i, i*i) != -1)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_string_float(&serializer,  kbuf, (float)(i*i), "%f")
        != -1)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_deserialize_value_double(&deserializer, &vd) != -1)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_uint32_uint32(&serializer, j++, i*i) != -1)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_string_int64(&serializer,  kbuf, INT64_MAX) != -1)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_string_string(&serializer, "Last", "Ok") != -1)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_deserialize_value_string(&deserializer, &vs) != -1)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_init_deserializer(&deserializer, &serializer) != -1)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_string_double(&serializer, kbuf, ((double)(FLT_MAX))*2,
        "%lf") != -1)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: "(ndpi_serialize_string_string(&serializer, \"utf-8\", \"k\xFCche\")
        != -1)"
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_string_string(&serializer, kbuf, vbuf) != -1)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_init_serializer(&serializer_cloned, ndpi_serialization_format_json)
        != -1)
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_deserialize_value_uint32(&deserializer, &v32) != -1)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_deserialize_value_int64(&deserializer, &v64) != -1)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_init_deserializer(&deserializer, &serializer) != -1)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_end_of_list(&serializer) != -1)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_string_uint32(&serializer, kbuf, i*i) != -1)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_deserialize_value_float(&deserializer, &vf) != -1)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_deserialize_clone_all(&deserializer, &serializer_cloned) ==
        0)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_string_string(&serializer, kbuf, vbuf) != -1)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/ndpi/tests/unit/unit.c
    constantsTouched: []
    func_position:
      end: 261
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 261
    functionName: serializerUnitTest
    functionSourceFile: /src/ndpi/tests/unit/unit.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_string_uint32
    - ndpi_serialize_string_float
    - ndpi_deserialize_key_string
    - ndpi_deserialize_key_uint32
    - ndpi_serialize_string_string
    - ndpi_deserialize_get_item_type
    - ndpi_serializer_get_buffer_len
    - ndpi_init_deserializer
    - json_tokener_error_desc
    - ndpi_deserialize_next
    - ndpi_deserialize_value_uint32
    - ndpi_serialize_uint32_string
    - ndpi_serialize_uint32_uint32
    - ndpi_deserialize_value_string
    - printf
    - ndpi_serializer_get_header
    - ndpi_deserialize_value_float
    - ndpi_deserialize_value_int64
    - ndpi_deserialize_value_double
    - ndpi_serialize_string_double
    - memset
    - json_object_put
    - ndpi_serialize_end_of_record
    - ndpi_serialize_end_of_list
    - ndpi_term_serializer
    - ndpi_serialize_string_int64
    - assert
    - ndpi_snprintf
    - ndpi_serializer_get_buffer
    - ndpi_deserialize_clone_all
    - ndpi_serialize_start_of_list
    - ndpi_init_serializer
    - json_tokener_parse_verbose
    linkageType: ''
    returnType: int
    signature: int serializerUnitTest()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:276,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:281,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:286,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:290,1
    - Dst: ndpi_init_serializer
      Src: /src/ndpi/tests/unit/unit.c:290,1
    - Dst: NDPI_SET_BIT
      Src: /src/ndpi/tests/unit/unit.c:301,1
    - Dst: NDPI_SET_BIT
      Src: /src/ndpi/tests/unit/unit.c:302,1
    - Dst: NDPI_SET_BIT
      Src: /src/ndpi/tests/unit/unit.c:303,1
    - Dst: NDPI_SET_BIT
      Src: /src/ndpi/tests/unit/unit.c:304,1
    - Dst: ndpi_serialize_proto
      Src: /src/ndpi/tests/unit/unit.c:305,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:306,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/tests/unit/unit.c:306,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:308,1
    - Dst: ndpi_serialize_string_double
      Src: /src/ndpi/tests/unit/unit.c:308,1
    - Dst: ndpi_serializer_get_buffer
      Src: /src/ndpi/tests/unit/unit.c:313,1
    - Dst: strncmp
      Src: /src/ndpi/tests/unit/unit.c:317,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:319,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:320,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:326,1
    - Dst: json_tokener_parse_verbose
      Src: /src/ndpi/tests/unit/unit.c:330,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:332,1
    - Dst: json_tokener_error_desc
      Src: /src/ndpi/tests/unit/unit.c:333,1
    - Dst: json_object_put
      Src: /src/ndpi/tests/unit/unit.c:337,1
    - Dst: ndpi_serializer_get_header
      Src: /src/ndpi/tests/unit/unit.c:343,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:344,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:346,1
    - Dst: strncmp
      Src: /src/ndpi/tests/unit/unit.c:347,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:349,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:350,1
    - Dst: ndpi_serializer_get_buffer
      Src: /src/ndpi/tests/unit/unit.c:355,1
    - Dst: assert
      Src: /src/ndpi/tests/unit/unit.c:356,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:358,1
    - Dst: strncmp
      Src: /src/ndpi/tests/unit/unit.c:359,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:361,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:362,1
    - Dst: ndpi_term_serializer
      Src: /src/ndpi/tests/unit/unit.c:366,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:369,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_serialize_string_float(&serializer,  "float", FLT_MAX, "%f")
        != -1)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_serialize_string_double(&serializer,  "double", ((double)(FLT_MAX))*2,
        "%lf") != -1)
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (buffer != NULL && buffer_len != 0)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (ndpi_init_serializer(&serializer, fmt) != -1)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/ndpi/tests/unit/unit.c
    - condition: (buffer != NULL && buffer_len != 0)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/ndpi/tests/unit/unit.c
    constantsTouched: []
    func_position:
      end: 372
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 372
    functionName: serializeProtoUnitTest
    functionSourceFile: /src/ndpi/tests/unit/unit.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_string_double
    - json_tokener_error_desc
    - ndpi_serialize_string_float
    - assert
    - ndpi_serialize_proto
    - ndpi_serializer_get_buffer
    - strncmp
    - NDPI_SET_BIT
    - printf
    - ndpi_serializer_get_header
    - ndpi_init_serializer
    - json_tokener_parse_verbose
    - json_object_put
    - ndpi_term_serializer
    linkageType: ''
    returnType: int
    signature: int serializeProtoUnitTest(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_api_version
      Src: /src/ndpi/tests/unit/unit.c:383,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:384,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/tests/unit/unit.c:388,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/tests/unit/unit.c:393,1
    - Dst: getopt
      Src: /src/ndpi/tests/unit/unit.c:401,1
    - Dst: printf
      Src: /src/ndpi/tests/unit/unit.c:408,1
    - Dst: serializerUnitTest
      Src: /src/ndpi/tests/unit/unit.c:417,1
    - Dst: serializeProtoUnitTest
      Src: /src/ndpi/tests/unit/unit.c:418,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 376
    functionDepth: 5
    functionLinenumber: 376
    functionLinenumberEnd: 421
    functionName: main
    functionSourceFile: /src/ndpi/tests/unit/unit.c
    functionUses: 0
    functionsReached:
    - getopt
    - ndpi_init_detection_module
    - serializeProtoUnitTest
    - printf
    - ndpi_get_api_version
    - serializerUnitTest
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/influxdb/metric_anomaly.c:33,1
    - Dst: printf
      Src: /src/ndpi/influxdb/metric_anomaly.c:43,1
    - Dst: exit
      Src: /src/ndpi/influxdb/metric_anomaly.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: help
    functionSourceFile: /src/ndpi/influxdb/metric_anomaly.c
    functionUses: 1
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void help()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/ndpi/influxdb/metric_anomaly.c:63,1
    - Dst: atof
      Src: /src/ndpi/influxdb/metric_anomaly.c:69,1
    - Dst: printf
      Src: /src/ndpi/influxdb/metric_anomaly.c:74,1
    - Dst: help
      Src: /src/ndpi/influxdb/metric_anomaly.c:99,1
    - Dst: help
      Src: /src/ndpi/influxdb/metric_anomaly.c:105,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/influxdb/metric_anomaly.c:107,1
    - Dst: printf
      Src: /src/ndpi/influxdb/metric_anomaly.c:109,1
    - Dst: popen
      Src: /src/ndpi/influxdb/metric_anomaly.c:111,1
    - Dst: printf
      Src: /src/ndpi/influxdb/metric_anomaly.c:112,1
    - Dst: ndpi_ses_init
      Src: /src/ndpi/influxdb/metric_anomaly.c:116,1
    - Dst: fgets
      Src: /src/ndpi/influxdb/metric_anomaly.c:118,1
    - Dst: sscanf
      Src: /src/ndpi/influxdb/metric_anomaly.c:126,1
    - Dst: ndpi_ses_add_value
      Src: /src/ndpi/influxdb/metric_anomaly.c:132,1
    - Dst: ndpi_max
      Src: /src/ndpi/influxdb/metric_anomaly.c:135,1
    - Dst: ndpi_max
      Src: /src/ndpi/influxdb/metric_anomaly.c:135,1
    - Dst: localtime
      Src: /src/ndpi/influxdb/metric_anomaly.c:141,1
    - Dst: strftime
      Src: /src/ndpi/influxdb/metric_anomaly.c:143,1
    - Dst: printf
      Src: /src/ndpi/influxdb/metric_anomaly.c:147,1
    - Dst: printf
      Src: /src/ndpi/influxdb/metric_anomaly.c:152,1
    - Dst: printf
      Src: /src/ndpi/influxdb/metric_anomaly.c:156,1
    - Dst: pclose
      Src: /src/ndpi/influxdb/metric_anomaly.c:163,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/ndpi/influxdb/metric_anomaly.c
    functionUses: 0
    functionsReached:
    - getopt
    - strftime
    - ndpi_ses_add_value
    - pclose
    - ndpi_ses_init
    - help
    - ndpi_snprintf
    - atof
    - popen
    - localtime
    - printf
    - sscanf
    - ndpi_max
    - fgets
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: printf
    functionSourceFile: /src/ndpi/src/include/ndpi_replace_printf.h
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: printf(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: fprintf
    functionSourceFile: /src/ndpi/src/include/ndpi_replace_printf.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fprintf(stream, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: printf
    functionSourceFile: /src/ndpi/src/include/ndpi_replace_printf.h
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: printf(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: fprintf
    functionSourceFile: /src/ndpi/src/include/ndpi_replace_printf.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fprintf(stream, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2384
    functionName: ndpi_isalpha
    functionSourceFile: /src/ndpi/src/include/ndpi_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ndpi_isalpha(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2384
    functionDepth: 0
    functionLinenumber: 2384
    functionLinenumberEnd: 2385
    functionName: ndpi_isdigit
    functionSourceFile: /src/ndpi/src/include/ndpi_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ndpi_isdigit(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2385
    functionDepth: 0
    functionLinenumber: 2385
    functionLinenumberEnd: 2386
    functionName: ndpi_isalnum
    functionSourceFile: /src/ndpi/src/include/ndpi_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ndpi_isalnum(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2386
    functionDepth: 0
    functionLinenumber: 2386
    functionLinenumberEnd: 2387
    functionName: ndpi_isspace
    functionSourceFile: /src/ndpi/src/include/ndpi_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ndpi_isspace(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2388
    functionName: ndpi_isprint
    functionSourceFile: /src/ndpi/src/include/ndpi_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ndpi_isprint(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2392
    functionName: ndpi_ispunct
    functionSourceFile: /src/ndpi/src/include/ndpi_api.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ndpi_ispunct(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ndpi_int_one_line_struct
    - ','
    - string_to_compare
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: LINE_STARTS
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LINE_STARTS(ndpi_int_one_line_struct, string_to_compare)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ndpi_int_one_line_struct
    - ','
    - string_to_compare
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: LINE_ENDS
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LINE_ENDS(ndpi_int_one_line_struct, string_to_compare)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ndpi_struct
    - ','
    - flow
    - ','
    - packet
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: NDPI_PARSE_PACKET_LINE_INFO
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_PARSE_PACKET_LINE_INFO(ndpi_struct,flow,packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 10
    argNames:
    - (
    - proto
    - ','
    - m
    - ','
    - log_level
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: NDPI_LOG
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_LOG(proto, m, log_level, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - mod
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 544
    functionName: NDPI_LOG_ERR
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_LOG_ERR(mod, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - mod
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: NDPI_LOG_INFO
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_LOG_INFO(mod, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - mod
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 556
    functionName: NDPI_LOG_DBG
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_LOG_DBG(mod, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - mod
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: NDPI_LOG_DBG2
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_LOG_DBG2(mod, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mod
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: NDPI_LOG
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_LOG(mod, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mod
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: NDPI_LOG_ERR
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_LOG_ERR(mod, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mod
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 572
    functionName: NDPI_LOG_INFO
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_LOG_INFO(mod, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mod
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    functionName: NDPI_LOG_DBG
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_LOG_DBG(mod, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mod
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 574
    functionName: NDPI_LOG_DBG2
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_LOG_DBG2(mod, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - mod
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 579
    functionName: NDPI_LOG_ERR
    functionSourceFile: /src/ndpi/src/include/ndpi_private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_LOG_ERR(mod, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - payload
    - ','
    - payload_len
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: ndpi_match_strprefix
    functionSourceFile: /src/ndpi/src/include/ndpi_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ndpi_match_strprefix(payload, payload_len, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - entropy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: NDPI_ENTROPY_PLAINTEXT
    functionSourceFile: /src/ndpi/src/include/ndpi_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_ENTROPY_PLAINTEXT(entropy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - entropy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: NDPI_ENTROPY_EXECUTABLE
    functionSourceFile: /src/ndpi/src/include/ndpi_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_ENTROPY_EXECUTABLE(entropy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - entropy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: NDPI_ENTROPY_EXECUTABLE_PACKED
    functionSourceFile: /src/ndpi/src/include/ndpi_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_ENTROPY_EXECUTABLE_PACKED(entropy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - entropy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: NDPI_ENTROPY_EXECUTABLE_ENCRYPTED
    functionSourceFile: /src/ndpi/src/include/ndpi_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_ENTROPY_EXECUTABLE_ENCRYPTED(entropy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - entropy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: NDPI_ENTROPY_ENCRYPTED_OR_RANDOM
    functionSourceFile: /src/ndpi/src/include/ndpi_main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_ENTROPY_ENCRYPTED_OR_RANDOM(entropy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: ndpi_chdlc
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_chdlc
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: ndpi_slarp
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_slarp
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: ndpi_cdp
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_cdp
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: ndpi_ethhdr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_ethhdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 375
    functionName: ndpi_arphdr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_arphdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 396
    functionName: ndpi_dhcphdr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_dhcphdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: ndpi_mdns_rsp_entry
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_mdns_rsp_entry
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 414
    functionName: ndpi_snap_extension
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_snap_extension
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: ndpi_llc_header_snap
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_llc_header_snap
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 435
    functionName: ndpi_radiotap_header
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_radiotap_header
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: ndpi_wifi_header
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_wifi_header
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 464
    functionName: ndpi_mpls_header
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_mpls_header
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 486
    functionName: ndpi_iphdr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_iphdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: ndpi_in6_addr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_in6_addr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: ndpi_ip6_hdrctl
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_ip6_hdrctl
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 514
    functionName: ndpi_ipv6hdr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_ipv6hdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 535
    functionName: ndpi_tcphdr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_tcphdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: ndpi_udphdr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_udphdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 556
    functionName: ndpi_dns_packet_header
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_dns_packet_header
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 578
    functionName: ndpi_icmphdr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_icmphdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 592
    functionName: ndpi_icmp6hdr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_icmp6hdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 602
    functionName: ndpi_vxlanhdr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_vxlanhdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 619
    functionName: NDPI_GRE_IS_CSUM
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_GRE_IS_CSUM(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 620
    functionName: NDPI_GRE_IS_ROUTING
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_GRE_IS_ROUTING(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 621
    functionName: NDPI_GRE_IS_KEY
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_GRE_IS_KEY(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 622
    functionName: NDPI_GRE_IS_SEQ
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_GRE_IS_SEQ(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 623
    functionName: NDPI_GRE_IS_STRICT
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_GRE_IS_STRICT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 624
    functionName: NDPI_GRE_IS_REC
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_GRE_IS_REC(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 625
    functionName: NDPI_GRE_IS_FLAGS
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_GRE_IS_FLAGS(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: NDPI_GRE_IS_ACK
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_GRE_IS_ACK(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 627
    functionName: NDPI_GRE_IS_VERSION_0
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_GRE_IS_VERSION_0(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 628
    functionName: NDPI_GRE_IS_VERSION_1
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_GRE_IS_VERSION_1(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: ndpi_gre_basehdr
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_gre_basehdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: ndpi_binary_bitmap_entry
    functionSourceFile: /src/ndpi/src/include/ndpi_typedefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_binary_bitmap_entry
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: __sync_fetch_and_add
    functionSourceFile: /src/ndpi/src/include/ndpi_win32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __sync_fetch_and_add(a,b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_domains.c:37,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/src/lib/ndpi_domains.c:42,1
    - Dst: ndpi_hash_init
      Src: /src/ndpi/src/lib/ndpi_domains.c:45,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_domains.c:46,1
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_domains.c:50,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/ndpi_domains.c:54,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_domains.c:66,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/src/lib/ndpi_domains.c:70,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_domains.c:71,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_domains.c:73,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_domains.c:78,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_domains.c:81,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 2
    argNames:
    - ndpi_str
    - public_suffix_list_path
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 84
    functionName: ndpi_load_domain_suffixes
    functionSourceFile: /src/ndpi/src/lib/ndpi_domains.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_init
    - ndpi_hash_free
    - ndpi_hash_add_entry
    - fclose
    - strlen
    - NDPI_LOG_DBG
    - strstr
    - fopen
    - fgets
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_domain_suffixes(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t      char *public_suffix_list_path)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_domains.c:107,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/ndpi_domains.c:114,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_domains.c:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - ndpi_str
    - hostname
    - domain_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: ndpi_get_host_domain_suffix
    functionSourceFile: /src/ndpi/src/lib/ndpi_domains.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_find_entry
    - strrchr
    - strlen
    linkageType: ''
    returnType: char
    signature: "char * ndpi_get_host_domain_suffix(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\tconst char *hostname,\n\t\t\t\t\tu_int64_t *domain_id
      /* out */)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_domains.c:146,1
    - Dst: isdigit
      Src: /src/ndpi/src/lib/ndpi_domains.c:152,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_domains.c:155,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_domains.c:156,1
    - Dst: ndpi_get_host_domain_suffix
      Src: /src/ndpi/src/lib/ndpi_domains.c:162,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_domains.c:167,1
    - Dst: ndpi_strrstr
      Src: /src/ndpi/src/lib/ndpi_domains.c:170,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 2
    argNames:
    - ndpi_str
    - hostname
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 184
    functionName: ndpi_get_host_domain
    functionSourceFile: /src/ndpi/src/lib/ndpi_domains.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ndpi_get_host_domain_suffix
    - strlen
    - strchr
    - isdigit
    - ndpi_strrstr
    linkageType: ''
    returnType: char
    signature: "char * ndpi_get_host_domain(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t\t
      const char *hostname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_cache.c:40,1
    - Dst: pthread_mutex_init
      Src: /src/ndpi/src/lib/ndpi_cache.c:50,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:51,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_cache.c:57,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - num_entries
    - ttl
    - shared
    argTypes:
    - u_int32_t
    - u_int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 66
    functionName: ndpi_lru_cache_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - pthread_mutex_init
    - ndpi_calloc
    linkageType: ''
    returnType: struct ndpi_lru_cache
    signature: struct ndpi_lru_cache *ndpi_lru_cache_init(u_int32_t num_entries, u_int32_t
      ttl, int shared)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:71,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct ndpi_lru_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ndpi_lru_free_cache
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_lru_free_cache(struct ndpi_lru_cache *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/ndpi/src/lib/ndpi_cache.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct ndpi_lru_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: __lru_cache_lock
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void __lru_cache_lock(struct ndpi_lru_cache *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/ndpi/src/lib/ndpi_cache.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct ndpi_lru_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: __lru_cache_unlock
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void __lru_cache_unlock(struct ndpi_lru_cache *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash
      Src: /src/ndpi/src/lib/ndpi_cache.c:105,1
    - Dst: __lru_cache_lock
      Src: /src/ndpi/src/lib/ndpi_cache.c:108,1
    - Dst: __lru_cache_unlock
      Src: /src/ndpi/src/lib/ndpi_cache.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - c
    - key
    - value
    - clean_key_when_found
    - now_sec
    argTypes:
    - struct ndpi_lru_cache*
    - u_int64_t
    - u_int16_t*
    - u_int8_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 127
    functionName: ndpi_lru_find_cache
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - __lru_cache_lock
    - __lru_cache_unlock
    - ndpi_quick_hash
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_lru_find_cache(struct ndpi_lru_cache *c, u_int64_t key,\n\t\t\t
      \    u_int16_t *value, u_int8_t clean_key_when_found, u_int32_t now_sec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash
      Src: /src/ndpi/src/lib/ndpi_cache.c:132,1
    - Dst: __lru_cache_lock
      Src: /src/ndpi/src/lib/ndpi_cache.c:134,1
    - Dst: __lru_cache_unlock
      Src: /src/ndpi/src/lib/ndpi_cache.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - c
    - key
    - value
    - now_sec
    argTypes:
    - struct ndpi_lru_cache*
    - u_int64_t
    - u_int16_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: ndpi_lru_add_to_cache
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - __lru_cache_lock
    - __lru_cache_unlock
    - ndpi_quick_hash
    linkageType: ''
    returnType: void
    signature: void ndpi_lru_add_to_cache(struct ndpi_lru_cache *c, u_int64_t key,
      u_int16_t value, u_int32_t now_sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - c
    - stats
    argTypes:
    - struct ndpi_lru_cache*
    - struct ndpi_lru_cache_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: ndpi_lru_get_stats
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_lru_get_stats(struct ndpi_lru_cache *c, struct ndpi_lru_cache_stats
      *stats)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_cache.c:172,1
    - Dst: ndpi_lru_cache_idx_to_name
      Src: /src/ndpi/src/lib/ndpi_cache.c:172,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/src/lib/ndpi_cache.c:173,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_cache.c:178,1
    - Dst: ndpi_lru_get_stats
      Src: /src/ndpi/src/lib/ndpi_cache.c:189,1
    - Dst: ndpi_lru_get_stats
      Src: /src/ndpi/src/lib/ndpi_cache.c:192,1
    - Dst: ndpi_lru_get_stats
      Src: /src/ndpi/src/lib/ndpi_cache.c:195,1
    - Dst: ndpi_lru_get_stats
      Src: /src/ndpi/src/lib/ndpi_cache.c:198,1
    - Dst: ndpi_lru_get_stats
      Src: /src/ndpi/src/lib/ndpi_cache.c:201,1
    - Dst: ndpi_lru_get_stats
      Src: /src/ndpi/src/lib/ndpi_cache.c:204,1
    - Dst: ndpi_lru_get_stats
      Src: /src/ndpi/src/lib/ndpi_cache.c:207,1
    - Dst: ndpi_lru_get_stats
      Src: /src/ndpi/src/lib/ndpi_cache.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 4
    argNames:
    - g_ctx
    - ndpi_struct
    - cache_type
    - stats
    argTypes:
    - struct ndpi_global_context*
    - struct ndpi_detection_module_struct*
    - lru_cache_type
    - struct ndpi_lru_cache_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 215
    functionName: ndpi_get_lru_cache_stats
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_get_config
    - snprintf
    - ndpi_lru_get_stats
    - atoi
    - ndpi_lru_cache_idx_to_name
    linkageType: ''
    returnType: int
    signature: "int ndpi_get_lru_cache_stats(struct ndpi_global_context *g_ctx,\n\t\t\t
      \    struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t     lru_cache_type
      cache_type,\n\t\t\t     struct ndpi_lru_cache_stats *stats)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_cache.c:221,1
    - Dst: ndpi_max
      Src: /src/ndpi/src/lib/ndpi_cache.c:227,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_cache.c:227,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_cache.c:228,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - max_num_entries
    argTypes:
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 235
    functionName: ndpi_init_address_cache
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_malloc
    - ndpi_free
    - ndpi_min
    - ndpi_max
    - ndpi_calloc
    linkageType: ''
    returnType: struct ndpi_address_cache
    signature: struct ndpi_address_cache * ndpi_init_address_cache(u_int32_t max_num_entries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:240,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct ndpi_address_cache_item*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: ndpi_free_addr_item
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_free_addr_item(struct ndpi_address_cache_item *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free_addr_item
      Src: /src/ndpi/src/lib/ndpi_cache.c:258,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:263,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct ndpi_address_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 265
    functionName: ndpi_term_address_cache
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - ndpi_free_addr_item
    linkageType: ''
    returnType: void
    signature: void ndpi_term_address_cache(struct ndpi_address_cache *cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free_addr_item
      Src: /src/ndpi/src/lib/ndpi_cache.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - cache
    - epoch_now
    argTypes:
    - struct ndpi_address_cache*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 304
    functionName: ndpi_address_cache_flush_expired
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_free_addr_item
    linkageType: ''
    returnType: u_int32_t
    signature: "u_int32_t ndpi_address_cache_flush_expired(struct ndpi_address_cache
      *cache,\n\t\t\t\t\t   u_int32_t epoch_now)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash
      Src: /src/ndpi/src/lib/ndpi_cache.c:311,1
    - Dst: ndpi_free_addr_item
      Src: /src/ndpi/src/lib/ndpi_cache.c:324,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/ndpi_cache.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - cache
    - ip_addr
    - epoch_now
    argTypes:
    - struct ndpi_address_cache*
    - ndpi_ip_addr_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 339
    functionName: ndpi_address_cache_find
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ndpi_quick_hash
    - ndpi_free_addr_item
    linkageType: ''
    returnType: struct ndpi_address_cache_item
    signature: "struct ndpi_address_cache_item * ndpi_address_cache_find(struct ndpi_address_cache
      *cache,\n\t\t\t\t\t\t\tndpi_ip_addr_t ip_addr, u_int32_t epoch_now)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash
      Src: /src/ndpi/src/lib/ndpi_cache.c:347,1
    - Dst: time
      Src: /src/ndpi/src/lib/ndpi_cache.c:354,1
    - Dst: ndpi_address_cache_find
      Src: /src/ndpi/src/lib/ndpi_cache.c:355,1
    - Dst: ndpi_address_cache_flush_expired
      Src: /src/ndpi/src/lib/ndpi_cache.c:362,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_cache.c:372,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_cache.c:376,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_cache.c:380,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:381,1
    - Dst: ndpi_max
      Src: /src/ndpi/src/lib/ndpi_cache.c:389,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_cache.c:391,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_cache.c:393,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:397,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - cache
    - ip_addr
    - hostname
    - epoch_now
    - ttl
    argTypes:
    - struct ndpi_address_cache*
    - ndpi_ip_addr_t
    - char*
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 405
    functionName: ndpi_address_cache_insert
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_address_cache_find
    - strcmp
    - time
    - ndpi_strdup
    - ndpi_quick_hash
    - ndpi_malloc
    - ndpi_address_cache_flush_expired
    - ndpi_free
    - ndpi_max
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_address_cache_insert(struct ndpi_address_cache *cache,\n\t\t\t
      \      ndpi_ip_addr_t ip_addr, char *hostname,\n\t\t\t       u_int32_t epoch_now,\n\t\t\t
      \      u_int32_t ttl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_cache.c:411,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_cache.c:430,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_cache.c:432,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_cache.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - cache
    - path
    - epoch_now
    argTypes:
    - struct ndpi_address_cache*
    - char*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 440
    functionName: ndpi_address_cache_dump
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - fopen
    - fprintf
    - snprintf
    - fclose
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_address_cache_dump(struct ndpi_address_cache *cache,\n\t\t\t
      \    char *path, u_int32_t epoch_now)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_cache.c:446,1
    - Dst: fscanf
      Src: /src/ndpi/src/lib/ndpi_cache.c:452,1
    - Dst: strtol
      Src: /src/ndpi/src/lib/ndpi_cache.c:463,1
    - Dst: ndpi_address_cache_insert
      Src: /src/ndpi/src/lib/ndpi_cache.c:466,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_cache.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - cache
    - path
    - epoch_now
    argTypes:
    - struct ndpi_address_cache*
    - char*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 474
    functionName: ndpi_address_cache_restore
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - fscanf
    - fclose
    - ndpi_address_cache_insert
    - strtol
    - fopen
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_address_cache_restore(struct ndpi_address_cache *cache,
      char *path, u_int32_t epoch_now)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_address_cache
      Src: /src/ndpi/src/lib/ndpi_cache.c:485,1
    - Dst: ndpi_address_cache_insert
      Src: /src/ndpi/src/lib/ndpi_cache.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - ndpi_struct
    - ip_addr
    - hostname
    - epoch_now
    - ttl
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_ip_addr_t
    - char*
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 491
    functionName: ndpi_cache_address
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_init_address_cache
    - ndpi_address_cache_insert
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_cache_address(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\tndpi_ip_addr_t
      ip_addr, char *hostname,\n\t\t\tu_int32_t epoch_now, u_int32_t ttl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_address_cache_find
      Src: /src/ndpi/src/lib/ndpi_cache.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - ip_addr
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_ip_addr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: ndpi_cache_address_find
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_address_cache_find
    linkageType: ''
    returnType: struct ndpi_address_cache_item
    signature: "struct ndpi_address_cache_item * ndpi_cache_address_find(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t\t\tndpi_ip_addr_t ip_addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_address_cache_dump
      Src: /src/ndpi/src/lib/ndpi_cache.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ndpi_struct
    - path
    - epoch_now
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: ndpi_cache_address_dump
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_address_cache_dump
    linkageType: ''
    returnType: bool
    signature: bool ndpi_cache_address_dump(struct ndpi_detection_module_struct *ndpi_struct,
      char *path, u_int32_t epoch_now)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_address_cache
      Src: /src/ndpi/src/lib/ndpi_cache.c:517,1
    - Dst: ndpi_address_cache_restore
      Src: /src/ndpi/src/lib/ndpi_cache.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ndpi_struct
    - path
    - epoch_now
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 512
    functionDepth: 4
    functionLinenumber: 512
    functionLinenumberEnd: 522
    functionName: ndpi_cache_address_restore
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_init_address_cache
    - ndpi_address_cache_restore
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_cache_address_restore(struct ndpi_detection_module_struct
      *ndpi_struct, char *path, u_int32_t epoch_now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_address_cache_flush_expired
      Src: /src/ndpi/src/lib/ndpi_cache.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - epoch_now
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 531
    functionName: ndpi_cache_address_flush_expired
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_address_cache_flush_expired
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_cache_address_flush_expired(struct ndpi_detection_module_struct
      *ndpi_struct, u_int32_t epoch_now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/src/lib/ndpi_cache.c:544,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_cache.c:545,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_cache.c:546,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_cache.c:550,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_cache.c:557,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_cache.c:560,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_cache.c:565,1
    - Dst: ndpi_quick_hash
      Src: /src/ndpi/src/lib/ndpi_cache.c:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ndpi_struct
    - ip_addr
    - _hostname
    - use_domain_name
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_ip_addr_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 573
    functionName: ndpi_cache_hash_hostname_ip
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - strlen
    - printf
    - strchr
    - snprintf
    - ndpi_quick_hash
    - ndpi_get_host_domain
    - ndpi_min
    - memcpy
    linkageType: ''
    returnType: u_int32_t
    signature: "u_int32_t ndpi_cache_hash_hostname_ip(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t     ndpi_ip_addr_t *ip_addr, char *_hostname,\n\t\t\t\t\t
      \    bool use_domain_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_filter_alloc
      Src: /src/ndpi/src/lib/ndpi_cache.c:586,1
    - Dst: ndpi_cache_hash_hostname_ip
      Src: /src/ndpi/src/lib/ndpi_cache.c:589,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_cache.c:591,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_cache.c:597,1
    - Dst: ndpi_intoav4
      Src: /src/ndpi/src/lib/ndpi_cache.c:598,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_cache.c:598,1
    - Dst: ndpi_filter_add
      Src: /src/ndpi/src/lib/ndpi_cache.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ndpi_struct
    - ip_addr
    - hostname
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_ip_addr_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 583
    functionDepth: 4
    functionLinenumber: 583
    functionLinenumberEnd: 606
    functionName: ndpi_cache_hostname_ip
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_intoav4
    - ndpi_filter_alloc
    - ntohl
    - ndpi_filter_add
    - printf
    - NDPI_LOG_DBG2
    - ndpi_cache_hash_hostname_ip
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_cache_hostname_ip(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   ndpi_ip_addr_t *ip_addr, char *hostname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_cache_hash_hostname_ip
      Src: /src/ndpi/src/lib/ndpi_cache.c:619,1
    - Dst: ndpi_filter_contains
      Src: /src/ndpi/src/lib/ndpi_cache.c:622,1
    - Dst: ndpi_filter_contains
      Src: /src/ndpi/src/lib/ndpi_cache.c:625,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_cache.c:631,1
    - Dst: ndpi_intoav4
      Src: /src/ndpi/src/lib/ndpi_cache.c:633,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_cache.c:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ndpi_struct
    - ip_addr
    - hostname
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_ip_addr_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 642
    functionName: ndpi_cache_find_hostname_ip
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_intoav4
    - ntohl
    - ndpi_filter_contains
    - printf
    - ndpi_cache_hash_hostname_ip
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_cache_find_hostname_ip(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t ndpi_ip_addr_t *ip_addr, char *hostname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_filter_free
      Src: /src/ndpi/src/lib/ndpi_cache.c:649,1
    - Dst: ndpi_filter_alloc
      Src: /src/ndpi/src/lib/ndpi_cache.c:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 654
    functionName: ndpi_cache_hostname_ip_swap
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached:
    - ndpi_filter_free
    - ndpi_filter_alloc
    linkageType: ''
    returnType: void
    signature: void ndpi_cache_hostname_ip_swap(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 660
    functionName: ndpi_cache_enable
    functionSourceFile: /src/ndpi/src/lib/ndpi_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_cache_enable(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:47,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:52,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: ndpi_bitmap64_fuse_alloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - ndpi_calloc
    - ndpi_malloc
    linkageType: ''
    returnType: ndpi_bitmap64_fuse
    signature: ndpi_bitmap64_fuse * ndpi_bitmap64_fuse_alloc()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: ndpi_bitmap64_fuse_entry_compare
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_bitmap64_fuse_entry_compare(const void *_a, const void *_b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:87,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:97,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:103,1
    - Dst: binary_fuse16_allocate
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:112,1
    - Dst: binary_fuse16_populate
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:113,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:114,1
    - Dst: binary_fuse16_free
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - _b
    argTypes:
    - ndpi_bitmap64_fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 127
    functionName: ndpi_bitmap64_fuse_compress
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c
    functionUses: 0
    functionsReached:
    - binary_fuse16_populate
    - binary_fuse16_allocate
    - ndpi_free
    - printf
    - binary_fuse16_free
    - memcpy
    - qsort
    linkageType: ''
    returnType: bool
    signature: bool ndpi_bitmap64_fuse_compress(ndpi_bitmap64_fuse *_b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse16_free
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:143,1
    - Dst: ndpi_realloc
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - _b
    - value
    argTypes:
    - ndpi_bitmap64_fuse*
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 166
    functionName: ndpi_bitmap64_fuse_set
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c
    functionUses: 0
    functionsReached:
    - binary_fuse16_free
    - ndpi_realloc
    linkageType: ''
    returnType: bool
    signature: bool ndpi_bitmap64_fuse_set(ndpi_bitmap64_fuse *_b, u_int64_t value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmap64_fuse_compress
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:177,1
    - Dst: binary_fuse16_contain
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - _b
    - value
    argTypes:
    - ndpi_bitmap64_fuse*
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: ndpi_bitmap64_fuse_isset
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c
    functionUses: 0
    functionsReached:
    - binary_fuse16_contain
    - ndpi_bitmap64_fuse_compress
    linkageType: ''
    returnType: bool
    signature: bool ndpi_bitmap64_fuse_isset(ndpi_bitmap64_fuse *_b, u_int64_t value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:192,1
    - Dst: binary_fuse16_free
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:195,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - _b
    argTypes:
    - ndpi_bitmap64_fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: ndpi_bitmap64_fuse_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c
    functionUses: 0
    functionsReached:
    - binary_fuse16_free
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmap64_fuse_free(ndpi_bitmap64_fuse *_b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmap64_fuse_compress
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:208,1
    - Dst: binary_fuse16_size_in_bytes
      Src: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - _b
    argTypes:
    - ndpi_bitmap64_fuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: ndpi_bitmap64_fuse_size
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c
    functionUses: 0
    functionsReached:
    - ndpi_bitmap64_fuse_compress
    - binary_fuse16_size_in_bytes
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_bitmap64_fuse_size(ndpi_bitmap64_fuse *_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:35,1
    - Dst: ndpi_hash_init
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:40,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: ndpi_domain_classify_alloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_domain_classify.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_init
    - ndpi_free
    - ndpi_malloc
    linkageType: ''
    returnType: ndpi_domain_classify
    signature: ndpi_domain_classify * ndpi_domain_classify_alloc()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_hash_free
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:54,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - ndpi_domain_classify*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: ndpi_domain_classify_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_domain_classify.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_free
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_domain_classify_free(ndpi_domain_classify *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - ndpi_domain_classify*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: ndpi_domain_classify_size
    functionSourceFile: /src/ndpi/src/lib/ndpi_domain_classify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_domain_classify_size(ndpi_domain_classify *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_encode_domain
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:94,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:96,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:98,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:98,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:100,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ndpi_str
    - s
    - class_id
    - domain
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_domain_classify*
    - u_int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: ndpi_domain_classify_add
    functionSourceFile: /src/ndpi/src/lib/ndpi_domain_classify.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_add_entry
    - ndpi_encode_domain
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_domain_classify_add(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t      ndpi_domain_classify *s,\n\t\t\t      u_int32_t class_id,\n\t\t\t
      \     char *domain)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:120,1
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:124,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:130,1
    - Dst: ndpi_domain_classify_add
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:138,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - ndpi_mod
    - s
    - class_id
    - file_path
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_domain_classify*
    - u_int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 145
    functionName: ndpi_domain_classify_add_domains
    functionSourceFile: /src/ndpi/src/lib/ndpi_domain_classify.c
    functionUses: 0
    functionsReached:
    - fclose
    - strlen
    - ndpi_domain_classify_add
    - fopen
    - fgets
    linkageType: ''
    returnType: u_int32_t
    signature: "u_int32_t ndpi_domain_classify_add_domains(struct ndpi_detection_module_struct
      *ndpi_mod,\n\t\t\t\t\t   ndpi_domain_classify *s,\n\t\t\t\t\t   u_int32_t class_id,\n\t\t\t\t\t
      \  char *file_path)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:161,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:162,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:163,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:163,1
    - Dst: ndpi_encode_domain
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:174,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:176,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:179,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:179,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:183,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:183,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:187,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:194,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:201,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:206,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:207,1
    - Dst: ndpi_encode_domain
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:214,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:216,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:219,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_domain_classify.c:219,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 4
    argNames:
    - ndpi_mod
    - s
    - class_id
    - hostname
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_domain_classify*
    - u_int64_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 228
    functionName: ndpi_domain_classify_hostname
    functionSourceFile: /src/ndpi/src/lib/ndpi_domain_classify.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ndpi_hash_find_entry
    - strlen
    - strchr
    - strrchr
    - snprintf
    - ndpi_encode_domain
    - ndpi_get_host_domain
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_domain_classify_hostname(struct ndpi_detection_module_struct
      *ndpi_mod,\n\t\t\t\t   ndpi_domain_classify *s,\n\t\t\t\t   u_int64_t *class_id
      /* out */,\n\t\t\t\t   char *hostname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:39,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:44,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: ndpi_binary_bitmap_alloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_binary_bitmap.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - ndpi_calloc
    - ndpi_malloc
    linkageType: ''
    returnType: ndpi_binary_bitmap
    signature: ndpi_binary_bitmap * ndpi_binary_bitmap_alloc()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_realloc
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:62,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - b
    - value
    - category
    argTypes:
    - ndpi_binary_bitmap*
    - u_int64_t
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: ndpi_binary_bitmap_set
    functionSourceFile: /src/ndpi/src/lib/ndpi_binary_bitmap.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_realloc
    linkageType: ''
    returnType: bool
    signature: bool ndpi_binary_bitmap_set(ndpi_binary_bitmap *b, u_int64_t value,
      u_int8_t category)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: ndpi_binary_bitmap_entry_compare
    functionSourceFile: /src/ndpi/src/lib/ndpi_binary_bitmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_binary_bitmap_entry_compare(const void *_a, const void *_b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:103,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:113,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:119,1
    - Dst: ndpi_realloc
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - b
    argTypes:
    - ndpi_binary_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 138
    functionName: ndpi_binary_bitmap_compress
    functionSourceFile: /src/ndpi/src/lib/ndpi_binary_bitmap.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_realloc
    - memcpy
    - qsort
    linkageType: ''
    returnType: bool
    signature: bool ndpi_binary_bitmap_compress(ndpi_binary_bitmap *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_binary_bitmap_compress
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:143,1
    - Dst: bsearch
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - b
    - value
    - out_category
    argTypes:
    - ndpi_binary_bitmap*
    - u_int64_t
    - u_int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: ndpi_binary_bitmap_isset
    functionSourceFile: /src/ndpi/src/lib/ndpi_binary_bitmap.c
    functionUses: 0
    functionsReached:
    - ndpi_binary_bitmap_compress
    - bsearch
    linkageType: ''
    returnType: bool
    signature: bool ndpi_binary_bitmap_isset(ndpi_binary_bitmap *b, u_int64_t value,
      u_int8_t *out_category)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:165,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - ndpi_binary_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: ndpi_binary_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_binary_bitmap.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_binary_bitmap_free(ndpi_binary_bitmap *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_binary_bitmap_compress
      Src: /src/ndpi/src/lib/ndpi_binary_bitmap.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - ndpi_binary_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: ndpi_binary_bitmap_size
    functionSourceFile: /src/ndpi/src/lib/ndpi_binary_bitmap.c
    functionUses: 0
    functionsReached:
    - ndpi_binary_bitmap_compress
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_binary_bitmap_size(ndpi_binary_bitmap *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - ndpi_binary_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: ndpi_binary_bitmap_cardinality
    functionSourceFile: /src/ndpi/src/lib/ndpi_binary_bitmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_binary_bitmap_cardinality(ndpi_binary_bitmap *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - flow
    - p
    argTypes:
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: flow_is_proto
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t flow_is_proto(struct ndpi_flow_struct *flow, u_int16_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ndpi_flow_malloc
      Src: /src/ndpi/src/lib/ndpi_main.c:276,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_main.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: ndpi_flow_malloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - _ndpi_flow_malloc
    - ndpi_malloc
    linkageType: ''
    returnType: void
    signature: void *ndpi_flow_malloc(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ndpi_flow_free
      Src: /src/ndpi/src/lib/ndpi_main.c:283,1
    - Dst: ndpi_free_flow
      Src: /src/ndpi/src/lib/ndpi_main.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: ndpi_flow_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_free_flow
    - _ndpi_flow_free
    linkageType: ''
    returnType: void
    signature: void ndpi_flow_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: ndpi_detection_get_sizeof_ndpi_flow_struct
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_detection_get_sizeof_ndpi_flow_struct(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_str
    - id
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: ndpi_get_proto_by_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_is_valid_protoId
    linkageType: ''
    returnType: char
    signature: char *ndpi_get_proto_by_id(const struct ndpi_detection_module_struct
      *ndpi_str, u_int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - bit
    argTypes:
    - struct ndpi_dissector_bitmask*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: dissector_bitmask_set
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dissector_bitmask_set(struct ndpi_dissector_bitmask *b, u_int16_t
      bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - bit
    argTypes:
    - struct ndpi_dissector_bitmask*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: dissector_bitmask_is_set
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dissector_bitmask_is_set(const struct ndpi_dissector_bitmask *b,
      u_int16_t bit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:330,1
    - Dst: ndpi_get_proto_by_id
      Src: /src/ndpi/src/lib/ndpi_main.c:333,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:334,1
    - Dst: strcasecmp
      Src: /src/ndpi/src/lib/ndpi_main.c:335,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ndpi_str
    - name
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 341
    functionName: ndpi_get_proto_by_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - tolower
    - strcasecmp
    - ndpi_get_proto_by_id
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_get_proto_by_name(const struct ndpi_detection_module_struct
      *ndpi_str, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:353,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:354,1
    - Dst: ndpi_get_proto_by_name
      Src: /src/ndpi/src/lib/ndpi_main.c:359,1
    - Dst: ndpi_get_proto_by_name
      Src: /src/ndpi/src/lib/ndpi_main.c:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ndpi_str
    - name
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 370
    functionName: ndpi_get_protocol_by_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_get_proto_by_name
    - strchr
    - snprintf
    linkageType: ''
    returnType: ndpi_master_app_protocol
    signature: ndpi_master_app_protocol ndpi_get_protocol_by_name(struct ndpi_detection_module_struct
      *ndpi_str, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:379,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:384,1
    - Dst: ndpi_max
      Src: /src/ndpi/src/lib/ndpi_main.c:397,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:398,1
    - Dst: ndpi_realloc
      Src: /src/ndpi/src/lib/ndpi_main.c:399,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - ndpi_str
    - ndpi_proto_id
    - user_proto_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 411
    functionName: ndpi_add_user_proto_id_mapping
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_min
    - NDPI_LOG_DBG2
    - ndpi_realloc
    - ndpi_max
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: void
    signature: "void ndpi_add_user_proto_id_mapping(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t   u_int16_t ndpi_proto_id, u_int16_t user_proto_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_str
    - user_proto_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 442
    functionName: ndpi_map_user_proto_id_to_ndpi_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_map_user_proto_id_to_ndpi_id(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t    u_int16_t user_proto_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:450,1
    - Dst: ndpi_is_custom_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_str
    - ndpi_proto_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 466
    functionName: ndpi_map_ndpi_id_to_user_proto_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_is_custom_protocol
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_map_ndpi_id_to_user_proto_id(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t    u_int16_t ndpi_proto_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 11
    argNames:
    - ports
    - portA_low
    - portA_high
    - portB_low
    - portB_high
    - portC_low
    - portC_high
    - portD_low
    - portD_high
    - portE_low
    - portE_high
    argTypes:
    - ndpi_port_range*
    - u_int16_t
    - u_int16_t
    - u_int16_t
    - u_int16_t
    - u_int16_t
    - u_int16_t
    - u_int16_t
    - u_int16_t
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 487
    functionName: ndpi_build_default_ports_range
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ndpi_port_range
    signature: "ndpi_port_range *ndpi_build_default_ports_range(ndpi_port_range *ports,
      u_int16_t portA_low, u_int16_t portA_high,\n                                                       u_int16_t
      portB_low, u_int16_t portB_high, u_int16_t portC_low,\n                                                       u_int16_t
      portC_high, u_int16_t portD_low, u_int16_t portD_high,\n                                                       u_int16_t
      portE_low, u_int16_t portE_high)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 6
    argNames:
    - ports
    - portA
    - portB
    - portC
    - portD
    - portE
    argTypes:
    - ndpi_port_range*
    - u_int16_t
    - u_int16_t
    - u_int16_t
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 507
    functionName: ndpi_build_default_ports
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ndpi_port_range
    signature: "ndpi_port_range *ndpi_build_default_ports(ndpi_port_range *ports,
      u_int16_t portA, u_int16_t portB, u_int16_t portC,\n                                          u_int16_t
      portD, u_int16_t portE)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ndpi_str
    - protoId
    - breed
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    - ndpi_protocol_breed_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: ndpi_set_proto_breed
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_is_valid_protoId
    linkageType: ''
    returnType: void
    signature: "void ndpi_set_proto_breed(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \ u_int16_t protoId, ndpi_protocol_breed_t breed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ndpi_str
    - protoId
    - protoCategory
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    - ndpi_protocol_category_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 525
    functionName: ndpi_set_proto_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_is_valid_protoId
    linkageType: ''
    returnType: void
    signature: "void ndpi_set_proto_category(struct ndpi_detection_module_struct *ndpi_str,
      u_int16_t protoId,\n                             ndpi_protocol_category_t protoCategory)"
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 562
    functionName: is_flow_addr_informative
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_flow_addr_informative(const struct ndpi_flow_struct *flow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_mod
    - protoId
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 589
    functionName: ndpi_is_subprotocol_informative
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_is_valid_protoId
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_is_subprotocol_informative(struct ndpi_detection_module_struct
      *ndpi_mod, u_int16_t protoId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dissector_bitmask_set
      Src: /src/ndpi/src/lib/ndpi_main.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - ndpi_str
    - flow
    - dissector_idx
    - _file
    - _func
    - _line
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 609
    functionName: exclude_dissector
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - dissector_bitmask_set
    linkageType: ''
    returnType: void
    signature: "void exclude_dissector(struct ndpi_detection_module_struct *ndpi_str,
      struct ndpi_flow_struct *flow,\n                       u_int16_t dissector_idx,
      const char *_file, const char *_func, int _line)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_custom_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:618,1
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/src/lib/ndpi_main.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_str
    - protoId
    argTypes:
    - struct ndpi_detection_module_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 623
    functionName: is_proto_enabled
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_is_custom_protocol
    - ndpi_bitmask_is_set
    linkageType: ''
    returnType: int
    signature: int is_proto_enabled(struct ndpi_detection_module_struct *ndpi_str,
      int protoId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/ndpi/src/lib/ndpi_main.c:633,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/ndpi_main.c:636,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/ndpi_main.c:638,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_main.c:650,1
    - Dst: va_start
      Src: /src/ndpi/src/lib/ndpi_main.c:656,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/ndpi_main.c:657,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/ndpi_main.c:661,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/ndpi_main.c:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ndpi_str
    - protoId
    argTypes:
    - struct ndpi_detection_module_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 665
    functionName: ndpi_set_proto_subprotocols
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - va_arg
    - va_end
    - va_start
    - ndpi_malloc
    linkageType: ''
    returnType: void
    signature: void ndpi_set_proto_subprotocols(struct ndpi_detection_module_struct
      *ndpi_str, int protoId, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:675,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:676,1
    - Dst: addDefaultPort
      Src: /src/ndpi/src/lib/ndpi_main.c:683,1
    - Dst: addDefaultPort
      Src: /src/ndpi/src/lib/ndpi_main.c:687,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 691
    functionName: load_default_ports
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - addDefaultPort
    - is_proto_enabled
    linkageType: ''
    returnType: void
    signature: void load_default_ports(struct ndpi_detection_module_struct *ndpi_str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_max
      Src: /src/ndpi/src/lib/ndpi_main.c:714,1
    - Dst: ndpi_nearest_power_of_two
      Src: /src/ndpi/src/lib/ndpi_main.c:714,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:715,1
    - Dst: ndpi_realloc
      Src: /src/ndpi/src/lib/ndpi_main.c:716,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:720,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:724,1
    - Dst: strcasecmp
      Src: /src/ndpi/src/lib/ndpi_main.c:731,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:732,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:735,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_main.c:740,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 11
    argNames:
    - ndpi_str
    - is_cleartext
    - is_app_protocol
    - breed
    - protoId
    - protoName
    - protoCategory
    - qoeCategory
    - tcpDefPorts
    - udpDefPorts
    - is_custom_protocol
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int8_t
    - u_int8_t
    - ndpi_protocol_breed_t
    - u_int16_t
    - char*
    - ndpi_protocol_category_t
    - ndpi_protocol_qoe_category_t
    - ndpi_port_range*
    - ndpi_port_range*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 772
    functionName: ndpi_set_proto_defaults
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_nearest_power_of_two
    - strcasecmp
    - NDPI_LOG_DBG
    - strncpy
    - ndpi_min
    - memset
    - NDPI_LOG_DBG2
    - ndpi_realloc
    - ndpi_max
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int ndpi_set_proto_defaults(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \          u_int8_t is_cleartext, u_int8_t is_app_protocol,\n\t\t\t           ndpi_protocol_breed_t
      breed,\n\t\t\t           u_int16_t protoId, char *protoName,\n\t\t\t           ndpi_protocol_category_t
      protoCategory,\n\t\t\t           ndpi_protocol_qoe_category_t qoeCategory,\n\t\t\t
      \          ndpi_port_range *tcpDefPorts,\n\t\t\t           ndpi_port_range *udpDefPorts,\n\t\t\t
      \          u_int8_t is_custom_protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 783
    functionName: default_ports_tree_node_t_cmp
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int default_ports_tree_node_t_cmp(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_main.c:796,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:800,1
    - Dst: ndpi_tsearch
      Src: /src/ndpi/src/lib/ndpi_main.c:805,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:810,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:811,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:816,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:822,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - ndpi_str
    - range
    - proto_idx
    - customUserProto
    - root
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_port_range*
    - u_int16_t
    - u_int8_t
    - default_ports_tree_node_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 828
    functionName: addDefaultPort
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_malloc
    - ndpi_tsearch
    - ndpi_free
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int addDefaultPort(struct ndpi_detection_module_struct *ndpi_str,\n
      \                         ndpi_port_range *range,\n\t\t\t  u_int16_t proto_idx,\n\t\t\t
      \ u_int8_t customUserProto,\n\t\t\t  default_ports_tree_node_t **root)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 851
    functionName: ndpi_is_middle_string_char
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_is_middle_string_char(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 880
    functionName: ndpi_domain_level
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_domain_level(const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_main.c:896,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:900,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:902,1
    - Dst: ndpi_domain_level
      Src: /src/ndpi/src/lib/ndpi_main.c:909,1
    - Dst: ndpi_is_middle_string_char
      Src: /src/ndpi/src/lib/ndpi_main.c:910,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/ndpi_main.c:911,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:914,1
    - Dst: ac_automata_add
      Src: /src/ndpi/src/lib/ndpi_main.c:919,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:922,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 7
    argNames:
    - ac_automa
    - value
    - protocol_id
    - category
    - breed
    - level
    - add_ends_with
    argTypes:
    - AC_AUTOMATA_t*
    - char*
    - u_int16_t
    - ndpi_protocol_category_t
    - ndpi_protocol_breed_t
    - u_int8_t
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 929
    functionName: string_to_automa
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - strlen
    - ndpi_is_middle_string_char
    - memchr
    - ndpi_strdup
    - ac_automata_add
    - ndpi_free
    - printf
    - memset
    - ndpi_domain_level
    linkageType: ''
    returnType: int
    signature: "int string_to_automa(AC_AUTOMATA_t *ac_automa, const char *value,\n
      \                           u_int16_t protocol_id, ndpi_protocol_category_t
      category,\n                            ndpi_protocol_breed_t breed, u_int8_t
      level,\n                            u_int8_t add_ends_with)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:938,1
    - Dst: string_to_automa
      Src: /src/ndpi/src/lib/ndpi_main.c:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ndpi_str
    - value
    - protocol_id
    - category
    - breed
    - level
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - int
    - ndpi_protocol_category_t
    - ndpi_protocol_breed_t
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 944
    functionName: ndpi_add_host_url_subprotocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - string_to_automa
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: int
    signature: "int ndpi_add_host_url_subprotocol(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t char *value, int protocol_id,\n                                         ndpi_protocol_category_t
      category,\n\t\t\t\t\t ndpi_protocol_breed_t breed, u_int8_t level)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:982,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:990,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:991,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ndpi_str
    - match
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_protocol_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 993
    functionName: init_app_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_proto_defaults
    - ndpi_build_default_ports
    linkageType: ''
    returnType: void
    signature: "void init_app_protocol(struct ndpi_detection_module_struct *ndpi_str,\n
      \                             ndpi_protocol_match const * const match)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:1000,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:1001,1
    - Dst: ndpi_add_host_url_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_str
    - match
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_protocol_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 997
    functionDepth: 3
    functionLinenumber: 997
    functionLinenumberEnd: 1009
    functionName: load_protocol_match
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_add_host_url_subprotocol
    - NDPI_LOG_DBG
    - is_proto_enabled
    linkageType: ''
    returnType: void
    signature: "void load_protocol_match(struct ndpi_detection_module_struct *ndpi_str,\n
      \                        ndpi_protocol_match const * const match)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:1020,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:1025,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:1026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_str
    - hosts
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_protocol_match*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1032
    functionName: self_check_host_match
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strcmp
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: void
    signature: "void self_check_host_match(struct ndpi_detection_module_struct *ndpi_str,\n
      \                                 ndpi_protocol_match *hosts)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:1053,1
    - Dst: abort
      Src: /src/ndpi/src/lib/ndpi_main.c:1056,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:1062,1
    - Dst: abort
      Src: /src/ndpi/src/lib/ndpi_main.c:1065,1
    - Dst: abort
      Src: /src/ndpi/src/lib/ndpi_main.c:1067,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 6
    argNames:
    - ndpi_str
    - dst
    - dn
    - src
    - sn
    - l
    argTypes:
    - struct ndpi_detection_module_struct*
    - unsigned int*
    - size_t
    - char**
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1070
    functionName: ndpi_xgrams_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - abort
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: void
    signature: "void ndpi_xgrams_init(struct ndpi_detection_module_struct *ndpi_str,\n
      \                            unsigned int *dst, size_t dn,\n                             const
      char **src, size_t sn,\n                             unsigned int l)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1078,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1079,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1080,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1081,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1082,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1083,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1084,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1085,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1086,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1087,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1088,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1089,1
    - Dst: self_check_host_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1090,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1093,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1095,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1097,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1099,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1101,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1103,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1105,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1107,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1109,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1111,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1113,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1115,1
    - Dst: init_app_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:1117,1
    - Dst: ndpi_xgrams_init
      Src: /src/ndpi/src/lib/ndpi_main.c:1123,1
    - Dst: ndpi_xgrams_init
      Src: /src/ndpi/src/lib/ndpi_main.c:1126,1
    - Dst: ndpi_xgrams_init
      Src: /src/ndpi/src/lib/ndpi_main.c:1128,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1074
    functionDepth: 3
    functionLinenumber: 1074
    functionLinenumberEnd: 1131
    functionName: init_string_based_protocols
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - init_app_protocol
    - self_check_host_match
    - ndpi_xgrams_init
    linkageType: ''
    returnType: void
    signature: void init_string_based_protocols(struct ndpi_detection_module_struct
      *ndpi_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1139,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1141,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1143,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1145,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1147,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1149,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1151,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1153,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1155,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1157,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1159,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1161,1
    - Dst: load_protocol_match
      Src: /src/ndpi/src/lib/ndpi_main.c:1163,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:1168,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:1169,1
    - Dst: ndpi_add_string_value_to_automa
      Src: /src/ndpi/src/lib/ndpi_main.c:1175,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1135
    functionDepth: 4
    functionLinenumber: 1135
    functionLinenumberEnd: 1179
    functionName: load_string_based_protocols
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_add_string_value_to_automa
    - NDPI_LOG_DBG
    - load_protocol_match
    - is_proto_enabled
    linkageType: ''
    returnType: void
    signature: void load_string_based_protocols(struct ndpi_detection_module_struct
      *ndpi_str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:1188,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:1194,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:1199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1205
    functionName: validate_protocol_initialization
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: void
    signature: void validate_protocol_initialization(struct ndpi_detection_module_struct
      *ndpi_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1212,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1214,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1215,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1217,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1219,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1220,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1222,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1224,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1225,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1227,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1229,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1230,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1232,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1234,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1235,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1237,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1239,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1240,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1242,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1244,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1245,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1247,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1249,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1250,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1252,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1254,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1255,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1257,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1259,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1260,1
    - Dst: ndpi_set_proto_subprotocols
      Src: /src/ndpi/src/lib/ndpi_main.c:1262,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1265,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1267,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1268,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1270,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1272,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1273,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1275,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1277,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1278,1
    - Dst: ndpi_set_proto_subprotocols
      Src: /src/ndpi/src/lib/ndpi_main.c:1280,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1294,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1296,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1297,1
    - Dst: ndpi_set_proto_subprotocols
      Src: /src/ndpi/src/lib/ndpi_main.c:1299,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1302,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1304,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1305,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1307,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1309,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1310,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1312,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1314,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1315,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1317,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1319,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1320,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1322,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1324,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1325,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1327,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1329,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1330,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1332,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1334,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1335,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1337,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1339,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1340,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1342,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1344,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1345,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1347,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1349,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1350,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1352,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1354,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1355,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1357,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1359,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1360,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1362,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1364,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1365,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1367,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1369,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1370,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1372,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1374,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1375,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1377,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1379,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1380,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1382,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1384,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1385,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1387,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1389,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1390,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1392,1
    - Dst: ndpi_build_default_ports_range
      Src: /src/ndpi/src/lib/ndpi_main.c:1394,1
    - Dst: ndpi_build_default_ports_range
      Src: /src/ndpi/src/lib/ndpi_main.c:1395,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1397,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1399,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1400,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1402,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1404,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1405,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1407,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1409,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1410,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1412,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1414,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1415,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1417,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1419,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1420,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1422,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1424,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1425,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1427,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1429,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1430,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1432,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1434,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1435,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1437,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1439,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1440,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1442,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1444,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1445,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1447,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1449,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1450,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1452,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1454,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1455,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1457,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1459,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1460,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1462,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1464,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1465,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1467,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1469,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1470,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1472,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1474,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1475,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1477,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1479,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1480,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1482,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1484,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1485,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1487,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1489,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1490,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1492,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1494,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1495,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1497,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1499,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1500,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1502,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1504,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1505,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1507,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1509,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1510,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1512,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1514,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1515,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1517,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1519,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1520,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1522,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1524,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1525,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1527,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1529,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1530,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1532,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1534,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1535,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1537,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1539,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1540,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1542,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1544,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1545,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1547,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1549,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1550,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1552,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1554,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1555,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1557,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1559,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1560,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1562,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1564,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1565,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1567,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1569,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1570,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1572,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1574,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1575,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1577,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1579,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1580,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1582,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1584,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1585,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1587,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1589,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1590,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1592,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1594,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1595,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1597,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1599,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1600,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1602,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1604,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1605,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1607,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1609,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1610,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1612,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1614,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1615,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1617,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1619,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1620,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1622,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1624,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1625,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1627,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1629,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1630,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1632,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1634,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1635,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1637,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1639,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1640,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1642,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1644,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1645,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1647,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1649,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1650,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1652,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1654,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1655,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1657,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1659,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1660,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1662,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1664,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1665,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1667,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1669,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1670,1
    - Dst: ndpi_set_proto_subprotocols
      Src: /src/ndpi/src/lib/ndpi_main.c:1672,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1675,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1677,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1678,1
    - Dst: ndpi_set_proto_subprotocols
      Src: /src/ndpi/src/lib/ndpi_main.c:1680,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1683,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1685,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1686,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1688,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1690,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1691,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1693,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1695,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1696,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1698,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1700,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1701,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1703,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1705,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1706,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1708,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1710,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1711,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1713,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1715,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1716,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1718,1
    - Dst: ndpi_build_default_ports_range
      Src: /src/ndpi/src/lib/ndpi_main.c:1720,1
    - Dst: ndpi_build_default_ports_range
      Src: /src/ndpi/src/lib/ndpi_main.c:1721,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1723,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1725,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1726,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1728,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1730,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1731,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1733,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1735,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1736,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1738,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1740,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1741,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1743,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1745,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1746,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1748,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1750,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1751,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1753,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1755,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1756,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1758,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1760,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1761,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1763,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1765,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1766,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1768,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1770,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1771,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1773,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1775,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1776,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1778,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1780,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1781,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1783,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1785,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1786,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1788,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1790,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1791,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1793,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1795,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1796,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1798,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1800,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1801,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1803,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1805,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1806,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1808,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1810,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1811,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1813,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1815,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1816,1
    - Dst: ndpi_set_proto_subprotocols
      Src: /src/ndpi/src/lib/ndpi_main.c:1818,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1821,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1823,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1824,1
    - Dst: ndpi_set_proto_subprotocols
      Src: /src/ndpi/src/lib/ndpi_main.c:1826,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1829,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1831,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1832,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1834,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1836,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1837,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1839,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1841,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1842,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1844,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1846,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1847,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1849,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1851,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1852,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1854,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1856,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1857,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1859,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1861,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1862,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1864,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1866,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1867,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1869,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1871,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1872,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1874,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1876,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1877,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1879,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1881,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1882,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1884,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1886,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1887,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1889,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1891,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1892,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1894,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1896,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1897,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1899,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1901,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1902,1
    - Dst: ndpi_set_proto_subprotocols
      Src: /src/ndpi/src/lib/ndpi_main.c:1904,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1907,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1909,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1910,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1912,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1914,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1915,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1917,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1919,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1920,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1922,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1924,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1925,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1927,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1929,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1930,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1932,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1934,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1935,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1937,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1939,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1940,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1942,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1944,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1945,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1947,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1949,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1950,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1952,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1954,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1955,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1958,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1960,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1961,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1963,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1965,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1966,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1968,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1970,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1971,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1973,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1975,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1976,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1978,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1980,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1981,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1983,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1985,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1986,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1988,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1990,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1991,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1993,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1995,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:1996,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:1998,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2000,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2001,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2003,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2005,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2006,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2008,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2010,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2011,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2013,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2015,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2016,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2018,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2020,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2021,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2023,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2025,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2026,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2028,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2030,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2031,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2033,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2035,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2036,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2038,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2040,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2041,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2043,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2045,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2046,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2048,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2050,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2051,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2053,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2055,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2056,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2058,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2060,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2061,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2063,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2065,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2066,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2068,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2070,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2071,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2073,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2075,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2076,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2078,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2080,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2081,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2083,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2085,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2086,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2088,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2090,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2091,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2093,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2095,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2096,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2098,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2100,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2101,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2103,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2105,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2106,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2108,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2110,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2111,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2113,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2115,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2116,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2118,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2120,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2121,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2123,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2125,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2126,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2128,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2130,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2131,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2133,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2135,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2136,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2138,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2140,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2141,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2143,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2145,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2146,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2148,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2150,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2151,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2153,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2155,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2156,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2158,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2160,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2161,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2163,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2165,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2166,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2168,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2170,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2171,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2173,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2175,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2176,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2178,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2180,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2181,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2183,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2185,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2186,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2188,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2190,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2191,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2193,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2195,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2196,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2198,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2200,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2201,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2203,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2205,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2206,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2208,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2210,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2211,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2213,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2215,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2216,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2218,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2220,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2221,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2223,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2225,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2226,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2228,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2230,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2231,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2233,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2235,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2236,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2238,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2240,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2241,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2243,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2245,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2246,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2248,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2250,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2251,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2253,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2255,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2256,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2258,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2260,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2261,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2263,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2265,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2266,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2268,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2270,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2271,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2273,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2275,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2276,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2278,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2280,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2281,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2283,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2285,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2286,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2288,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2290,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2291,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2293,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2295,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2296,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2298,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2300,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2301,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2303,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2305,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2306,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2308,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2310,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2311,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2313,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2315,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2316,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2318,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2320,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2321,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2323,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2325,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2326,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2328,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2330,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2331,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2333,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2335,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2336,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2338,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2340,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2341,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2343,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2345,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2346,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2348,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2350,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2351,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2353,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2355,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2356,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2362,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2364,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2365,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2367,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2369,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2370,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2372,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2374,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2375,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2377,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2379,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2380,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2382,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2384,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2385,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2387,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2389,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2390,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2392,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2394,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2395,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2397,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2399,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2400,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2402,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2404,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2405,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2407,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2409,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2410,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2412,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2414,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2415,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2417,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2419,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2420,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2422,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2424,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2425,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2427,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2429,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2430,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2432,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2434,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2435,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2437,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2439,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2440,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2442,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2444,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2445,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2447,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2449,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2450,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2452,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2454,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2455,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2457,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2459,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2460,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2462,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2464,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2465,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2467,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2469,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2470,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2472,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2474,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2475,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2477,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2479,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2480,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2482,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2484,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2485,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2487,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2489,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2490,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2492,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2494,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2495,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2497,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2499,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2500,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2502,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2504,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2505,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2507,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2509,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2510,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2512,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2514,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2515,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2517,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2519,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2520,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2522,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2524,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2525,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2527,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2529,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2530,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2532,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2534,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2535,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2537,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2539,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2540,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2542,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2544,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2545,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2547,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2549,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2550,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2552,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2554,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2555,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2557,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2559,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2560,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2562,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2564,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2565,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2567,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2569,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2570,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2572,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2574,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2575,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2577,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2579,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2580,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2582,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2584,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2585,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2587,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2589,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2590,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2592,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2594,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2595,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2597,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2599,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2600,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2602,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2604,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2605,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2607,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2609,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2610,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2612,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2614,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2615,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2617,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2619,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2620,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2622,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2624,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2625,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2627,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2629,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2630,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2632,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2634,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2635,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2637,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2639,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2640,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2642,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2644,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2645,1
    - Dst: ndpi_set_proto_subprotocols
      Src: /src/ndpi/src/lib/ndpi_main.c:2647,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2651,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2653,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2654,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2656,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2658,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2659,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2661,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2663,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2664,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2666,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2668,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2669,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2671,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2673,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2674,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2676,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2678,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2679,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2681,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2683,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2684,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2686,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2688,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2689,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2691,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2693,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2694,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2696,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2698,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2699,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2701,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2703,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2704,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2706,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2708,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2709,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2711,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2713,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2714,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2716,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2718,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2719,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2721,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2723,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2724,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2726,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2728,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2729,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2731,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2733,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2734,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2736,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2738,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2739,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2741,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2743,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2744,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2746,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2748,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2749,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2751,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2753,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2754,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2756,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2758,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2759,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2761,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2763,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2764,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2766,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2768,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2769,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2771,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2773,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2774,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2776,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2778,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2779,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2781,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2783,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2784,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2786,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2788,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2789,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2791,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2793,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2794,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2796,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2798,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2799,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2801,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2803,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2804,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2806,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2808,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2809,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2811,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2813,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2814,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2816,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2818,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2819,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2821,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2823,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2824,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2826,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2828,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2829,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2831,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2833,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2834,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2836,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2838,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2839,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2841,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2843,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2844,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2846,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2848,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2849,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2851,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2853,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2854,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2856,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2858,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2859,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2861,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2863,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2864,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2866,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2868,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2869,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2871,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2873,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2874,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2876,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2878,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2879,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2881,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2883,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2884,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2886,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2888,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2889,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2891,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2893,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2894,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2896,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2898,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2899,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2901,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2903,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2904,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2906,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2908,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2909,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2911,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2913,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2914,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2916,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2918,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2919,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2921,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2923,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2924,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2926,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2928,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2929,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2931,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2933,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2934,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2936,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2938,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2939,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2941,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2943,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2944,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2946,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2948,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2949,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2951,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2953,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2954,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2956,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2958,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2959,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2961,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2963,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2964,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2966,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2968,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2969,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2971,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2973,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2974,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2976,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2978,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2979,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2981,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2983,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2984,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:2987,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2989,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:2990,1
    - Dst: init_string_based_protocols
      Src: /src/ndpi/src/lib/ndpi_main.c:2998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 358
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2999
      start: 1209
    functionDepth: 4
    functionLinenumber: 1209
    functionLinenumberEnd: 2999
    functionName: init_protocol_defaults
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_proto_subprotocols
    - ndpi_build_default_ports_range
    - init_string_based_protocols
    - ndpi_set_proto_defaults
    - ndpi_build_default_ports
    linkageType: ''
    returnType: void
    signature: void init_protocol_defaults(struct ndpi_detection_module_struct *ndpi_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 3010
    functionDepth: 0
    functionLinenumber: 3010
    functionLinenumberEnd: 3011
    functionName: MATCH_DEBUG_INFO
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEBUG_INFO(fmt, ...)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_DEBUG_INFO
      Src: /src/ndpi/src/lib/ndpi_main.c:3031,1
    - Dst: MATCH_DEBUG_INFO
      Src: /src/ndpi/src/lib/ndpi_main.c:3040,1
    - Dst: ndpi_is_middle_string_char
      Src: /src/ndpi/src/lib/ndpi_main.c:3044,1
    - Dst: MATCH_DEBUG_INFO
      Src: /src/ndpi/src/lib/ndpi_main.c:3053,1
    - Dst: MATCH_DEBUG_INFO
      Src: /src/ndpi/src/lib/ndpi_main.c:3064,1
    - Dst: ndpi_is_middle_string_char
      Src: /src/ndpi/src/lib/ndpi_main.c:3072,1
    - Dst: MATCH_DEBUG_INFO
      Src: /src/ndpi/src/lib/ndpi_main.c:3075,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 3
    argNames:
    - m
    - txt
    - match
    argTypes:
    - AC_MATCH_t*
    - AC_TEXT_t*
    - AC_REP_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3082
      start: 3016
    functionDepth: 1
    functionLinenumber: 3016
    functionLinenumberEnd: 3082
    functionName: ac_domain_match_handler
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_is_middle_string_char
    - MATCH_DEBUG_INFO
    linkageType: ''
    returnType: int
    signature: int ac_domain_match_handler(AC_MATCH_t *m, AC_TEXT_t *txt, AC_REP_t
      *match)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tree
    argTypes:
    - ndpi_patricia_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3090
    functionName: ndpi_patricia_get_maxbits
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_patricia_get_maxbits(ndpi_patricia_tree_t *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tree
    - stats
    argTypes:
    - ndpi_patricia_tree_t*
    - struct ndpi_patricia_tree_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 3094
    functionDepth: 0
    functionLinenumber: 3094
    functionLinenumberEnd: 3102
    functionName: ndpi_patricia_get_stats
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_patricia_get_stats(ndpi_patricia_tree_t *tree, struct ndpi_patricia_tree_stats
      *stats)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_patricia_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:3116,1
    - Dst: ndpi_patricia_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:3122,1
    - Dst: ndpi_patricia_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:3128,1
    - Dst: ndpi_patricia_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:3134,1
    - Dst: ndpi_patricia_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:3140,1
    - Dst: ndpi_patricia_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:3146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - ndpi_struct
    - ptree_type
    - stats
    argTypes:
    - struct ndpi_detection_module_struct*
    - ptree_type
    - struct ndpi_patricia_tree_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3106
    functionDepth: 1
    functionLinenumber: 3106
    functionLinenumberEnd: 3152
    functionName: ndpi_get_patricia_stats
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_get_stats
    linkageType: ''
    returnType: int
    signature: "int ndpi_get_patricia_stats(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   ptree_type ptree_type,\n\t\t\t    struct ndpi_patricia_tree_stats *stats)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:3157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - p
    - a
    - b
    - mb
    argTypes:
    - ndpi_prefix_t*
    - struct in_addr*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3165
      start: 3156
    functionDepth: 0
    functionLinenumber: 3156
    functionLinenumberEnd: 3165
    functionName: ndpi_fill_prefix_v4
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int ndpi_fill_prefix_v4(ndpi_prefix_t *p, const struct in_addr *a,
      int b, int mb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:3170,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:3175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - prefix
    - addr
    - bits
    - maxbits
    argTypes:
    - ndpi_prefix_t*
    - struct in6_addr*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3179
      start: 3169
    functionDepth: 0
    functionLinenumber: 3169
    functionLinenumberEnd: 3179
    functionName: ndpi_fill_prefix_v6
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ndpi_fill_prefix_v6(ndpi_prefix_t *prefix, const struct in6_addr
      *addr, int bits, int maxbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:3184,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:3189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - prefix
    - mac
    - bits
    - maxbits
    argTypes:
    - ndpi_prefix_t*
    - u_int8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3193
    functionName: ndpi_fill_prefix_mac
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ndpi_fill_prefix_mac(ndpi_prefix_t *prefix, u_int8_t *mac, int
      bits, int maxbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - ndpi_patricia_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3197
    functionDepth: 0
    functionLinenumber: 3197
    functionLinenumberEnd: 3199
    functionName: ndpi_patricia_get_node_prefix
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ndpi_prefix_t
    signature: ndpi_prefix_t *ndpi_patricia_get_node_prefix(ndpi_patricia_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - ndpi_patricia_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3203
    functionDepth: 0
    functionLinenumber: 3203
    functionLinenumberEnd: 3205
    functionName: ndpi_patricia_get_node_bits
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_patricia_get_node_bits(ndpi_patricia_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - ndpi_patricia_node_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3209
    functionDepth: 0
    functionLinenumber: 3209
    functionLinenumberEnd: 3211
    functionName: ndpi_patricia_set_node_data
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_patricia_set_node_data(ndpi_patricia_node_t *node, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - ndpi_patricia_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3217
      start: 3215
    functionDepth: 0
    functionLinenumber: 3215
    functionLinenumberEnd: 3217
    functionName: ndpi_patricia_get_node_data
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ndpi_patricia_get_node_data(ndpi_patricia_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - value
    argTypes:
    - ndpi_patricia_node_t*
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3221
    functionDepth: 0
    functionLinenumber: 3221
    functionLinenumberEnd: 3223
    functionName: ndpi_patricia_set_node_u64
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_patricia_set_node_u64(ndpi_patricia_node_t *node, u_int64_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - ndpi_patricia_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3227
    functionDepth: 0
    functionLinenumber: 3227
    functionLinenumberEnd: 3229
    functionName: ndpi_patricia_get_node_u64
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_patricia_get_node_u64(ndpi_patricia_node_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3233
    functionDepth: 0
    functionLinenumber: 3233
    functionLinenumberEnd: 3243
    functionName: ndpi_is_public_ipv4
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_is_public_ipv4(u_int32_t a /* host byte order */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_public_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:3264,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:3264,1
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/src/lib/ndpi_main.c:3269,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:3271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_str
    - pin
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct in_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3247
    functionDepth: 1
    functionLinenumber: 3247
    functionLinenumberEnd: 3274
    functionName: ndpi_network_ptree_match
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_is_public_ipv4
    - ndpi_fill_prefix_v4
    - ntohl
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_network_ptree_match(struct ndpi_detection_module_struct
      *ndpi_str,\n                                   struct in_addr *pin /* network
      byte order */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/src/lib/ndpi_main.c:3287,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:3289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_str
    - pin
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3278
    functionDepth: 1
    functionLinenumber: 3278
    functionLinenumberEnd: 3292
    functionName: ndpi_network_ptree6_match
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_fill_prefix_v6
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_network_ptree6_match(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t    struct in6_addr *pin)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_public_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:3314,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:3314,1
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/src/lib/ndpi_main.c:3319,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:3321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ndpi_str
    - pin
    - port
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct in_addr*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3349
      start: 3296
    functionDepth: 1
    functionLinenumber: 3296
    functionLinenumberEnd: 3349
    functionName: ndpi_network_port_ptree_match
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_is_public_ipv4
    - ndpi_fill_prefix_v4
    - ntohl
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_network_port_ptree_match(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\tstruct in_addr *pin /* network byte order */,\n\t\t\t\t\tu_int16_t
      port /* network byte order */)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/src/lib/ndpi_main.c:3366,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:3368,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - ndpi_str
    - pin
    - port
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct in6_addr*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3353
    functionDepth: 1
    functionLinenumber: 3353
    functionLinenumberEnd: 3396
    functionName: ndpi_network_port_ptree6_match
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_fill_prefix_v6
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_network_port_ptree6_match(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t struct in6_addr *pin,\n\t\t\t\t\t u_int16_t port /* network
      byte order */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/src/lib/ndpi_main.c:3409,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:3411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_str
    - pin
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct in_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3400
    functionDepth: 1
    functionLinenumber: 3400
    functionLinenumberEnd: 3417
    functionName: ndpi_network_risk_ptree_match
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_fill_prefix_v4
    linkageType: ''
    returnType: ndpi_risk_enum
    signature: "ndpi_risk_enum ndpi_network_risk_ptree_match(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t     struct in_addr *pin /* network byte order */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/src/lib/ndpi_main.c:3427,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:3429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_str
    - pin
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3435
      start: 3421
    functionDepth: 1
    functionLinenumber: 3421
    functionLinenumberEnd: 3435
    functionName: ndpi_network_risk_ptree_match6
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_fill_prefix_v6
    linkageType: ''
    returnType: ndpi_risk_enum
    signature: "ndpi_risk_enum ndpi_network_risk_ptree_match6(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t      struct in6_addr *pin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/src/lib/ndpi_main.c:3444,1
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/src/lib/ndpi_main.c:3446,1
    - Dst: ndpi_patricia_lookup
      Src: /src/ndpi/src/lib/ndpi_main.c:3448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tree
    - family
    - addr
    - bits
    argTypes:
    - ndpi_patricia_tree_t*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3452
      start: 3439
    functionDepth: 1
    functionLinenumber: 3439
    functionLinenumberEnd: 3452
    functionName: add_to_ptree
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_lookup
    - ndpi_fill_prefix_v4
    - ndpi_fill_prefix_v6
    linkageType: ''
    returnType: ndpi_patricia_node_t
    signature: ndpi_patricia_node_t * add_to_ptree(ndpi_patricia_tree_t *tree, int
      family, void *addr, int bits)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_main.c:3472,1
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_main.c:3480,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:3485,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:3491,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:3495,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:3497,1
    - Dst: inet_addr
      Src: /src/ndpi/src/lib/ndpi_main.c:3502,1
    - Dst: add_to_ptree
      Src: /src/ndpi/src/lib/ndpi_main.c:3505,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:3505,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:3509,1
    - Dst: add_to_ptree
      Src: /src/ndpi/src/lib/ndpi_main.c:3510,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:3510,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_main.c:3533,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 3
    argNames:
    - ptree
    - path
    - protocol_id
    argTypes:
    - ndpi_ptree_t*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3461
    functionDepth: 2
    functionLinenumber: 3461
    functionLinenumberEnd: 3535
    functionName: ndpi_load_ptree_file
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - fclose
    - strlen
    - strchr
    - inet_pton
    - atoi
    - inet_addr
    - fopen
    - strtok_r
    - fgets
    - add_to_ptree
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_ptree_file(ndpi_ptree_t *ptree,\n\t\t\t const char *path,\n\t\t\t
      u_int16_t protocol_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_load_ptree_file
      Src: /src/ndpi/src/lib/ndpi_main.c:3549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ndpi_str
    - path
    - protocol_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3550
      start: 3544
    functionDepth: 3
    functionLinenumber: 3544
    functionLinenumberEnd: 3550
    functionName: ndpi_load_ipv4_ptree
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_load_ptree_file
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_ipv4_ptree(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      const char *path, u_int16_t protocol_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/ndpi/src/lib/ndpi_main.c:3561,1
    - Dst: add_to_ptree
      Src: /src/ndpi/src/lib/ndpi_main.c:3562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ptree
    - host_list
    argTypes:
    - ndpi_patricia_tree_t*
    - ndpi_network[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3571
      start: 3554
    functionDepth: 2
    functionLinenumber: 3554
    functionLinenumberEnd: 3571
    functionName: ndpi_init_ptree_ipv4
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - htonl
    - add_to_ptree
    linkageType: ''
    returnType: void
    signature: void ndpi_init_ptree_ipv4(ndpi_patricia_tree_t *ptree, ndpi_network
      host_list[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:3584,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:3586,1
    - Dst: add_to_ptree
      Src: /src/ndpi/src/lib/ndpi_main.c:3590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ndpi_str
    - ptree
    - host_list
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_patricia_tree_t*
    - ndpi_network6[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3594
      start: 3575
    functionDepth: 2
    functionLinenumber: 3575
    functionLinenumberEnd: 3594
    functionName: ndpi_init_ptree_ipv6
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - inet_pton
    - add_to_ptree
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: void
    signature: "void ndpi_init_ptree_ipv6(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t\t
      ndpi_patricia_tree_t *ptree, ndpi_network6 host_list[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:3600,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:3603,1
    - Dst: ndpi_hash_init
      Src: /src/ndpi/src/lib/ndpi_main.c:3608,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/src/lib/ndpi_main.c:3612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ndpi_str
    - ja4
    - protocol_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3613
      start: 3598
    functionDepth: 1
    functionLinenumber: 3598
    functionLinenumberEnd: 3613
    functionName: ndpi_add_ja4_subprotocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_init
    - ndpi_hash_add_entry
    - strlen
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int ndpi_add_ja4_subprotocol(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t\t
      \   char *ja4, u_int16_t protocol_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:3619,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:3622,1
    - Dst: ndpi_hash_init
      Src: /src/ndpi/src/lib/ndpi_main.c:3627,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/src/lib/ndpi_main.c:3631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ndpi_str
    - ndpifp
    - protocol_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3617
    functionDepth: 1
    functionLinenumber: 3617
    functionLinenumberEnd: 3632
    functionName: ndpi_add_ndpifp_subprotocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_init
    - ndpi_hash_add_entry
    - strlen
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int ndpi_add_ndpifp_subprotocol(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t       char *ndpifp, u_int16_t protocol_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:3639,1
    - Dst: ndpi_hash_init
      Src: /src/ndpi/src/lib/ndpi_main.c:3643,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/src/lib/ndpi_main.c:3649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ndpi_str
    - url
    - protocol_id
    - category
    - breed
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int16_t
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3636
    functionDepth: 1
    functionLinenumber: 3636
    functionLinenumberEnd: 3650
    functionName: ndpi_add_http_url_subprotocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_init
    - ndpi_hash_add_entry
    - strlen
    linkageType: ''
    returnType: int
    signature: "int ndpi_add_http_url_subprotocol(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t char *url, u_int16_t protocol_id,\n\t\t\t\t\t u_int16_t
      category, u_int16_t breed)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:3661,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:3678,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:3680,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:3684,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:3684,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:3685,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:3687,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:3687,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:3688,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:3690,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:3702,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:3704,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:3706,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:3713,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:3717,1
    - Dst: sscanf
      Src: /src/ndpi/src/lib/ndpi_main.c:3726,1
    - Dst: getaddrinfo
      Src: /src/ndpi/src/lib/ndpi_main.c:3732,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:3739,1
    - Dst: freeaddrinfo
      Src: /src/ndpi/src/lib/ndpi_main.c:3746,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:3750,1
    - Dst: add_to_ptree
      Src: /src/ndpi/src/lib/ndpi_main.c:3754,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:3756,1
    - Dst: getaddrinfo
      Src: /src/ndpi/src/lib/ndpi_main.c:3759,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:3766,1
    - Dst: freeaddrinfo
      Src: /src/ndpi/src/lib/ndpi_main.c:3773,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:3777,1
    - Dst: add_to_ptree
      Src: /src/ndpi/src/lib/ndpi_main.c:3781,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_main.c:3792,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_main.c:3801,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_main.c:3805,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 100
    argCount: 4
    argNames:
    - ndpi_str
    - value
    - protocol_id
    - is_ipv6
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int16_t
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3817
      start: 3654
    functionDepth: 2
    functionLinenumber: 3654
    functionLinenumberEnd: 3817
    functionName: ndpi_add_host_ip_subprotocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - memcpy
    - freeaddrinfo
    - sscanf
    - strchr
    - strrchr
    - ndpi_malloc
    - inet_pton
    - atoi
    - htons
    - memset
    - getaddrinfo
    - add_to_ptree
    linkageType: ''
    returnType: int
    signature: "int ndpi_add_host_ip_subprotocol(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\tchar *value, u_int16_t protocol_id,\n\t\t\t\t\tu_int8_t
      is_ipv6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*__ndpi_flow_malloc)(size_t size)
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3821
      start: 3819
    functionDepth: 0
    functionLinenumber: 3819
    functionLinenumberEnd: 3821
    functionName: set_ndpi_flow_malloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_ndpi_flow_malloc(void *(*__ndpi_flow_malloc)(size_t size))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3825
      start: 3823
    functionDepth: 0
    functionLinenumber: 3823
    functionLinenumberEnd: 3825
    functionName: set_ndpi_flow_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_ndpi_flow_free(void (*__ndpi_flow_free)(void *ptr))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/src/lib/ndpi_main.c:3834,1
    - Dst: va_start
      Src: /src/ndpi/src/lib/ndpi_main.c:3836,1
    - Dst: ndpi_vsnprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:3837,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/ndpi_main.c:3838,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:3843,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:3845,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 7
    argNames:
    - proto
    - ndpi_str
    - log_level
    - file_name
    - func_name
    - line_number
    - format
    argTypes:
    - u_int16_t
    - struct ndpi_detection_module_struct*
    - ndpi_log_level_t
    - char*
    - char*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3853
      start: 3828
    functionDepth: 1
    functionLinenumber: 3828
    functionLinenumberEnd: 3853
    functionName: ndpi_debug_printf
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - ndpi_vsnprintf
    - printf
    - ndpi_bitmask_is_set
    linkageType: ''
    returnType: void
    signature: "void ndpi_debug_printf(u_int16_t proto, struct ndpi_detection_module_struct
      *ndpi_str, ndpi_log_level_t log_level,\n                       const char *file_name,
      const char *func_name, unsigned int line_number, const char *format, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_str
    - ndpi_debug_printf
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_debug_function_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3866
      start: 3858
    functionDepth: 0
    functionLinenumber: 3858
    functionLinenumberEnd: 3866
    functionName: set_ndpi_debug_function
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_ndpi_debug_function(struct ndpi_detection_module_struct *ndpi_str,
      ndpi_debug_function_ptr ndpi_debug_printf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:4048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4051
      start: 4042
    functionDepth: 0
    functionLinenumber: 4042
    functionLinenumberEnd: 4051
    functionName: free_ptree_data
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void free_ptree_data(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_main.c:4057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4069
      start: 4053
    functionDepth: 0
    functionLinenumber: 4053
    functionLinenumberEnd: 4069
    functionName: ndpi_global_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_calloc
    linkageType: ''
    returnType: struct ndpi_global_context
    signature: struct ndpi_global_context *ndpi_global_init(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:4083,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:4085,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:4087,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:4089,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:4091,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:4093,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:4095,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:4097,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:4099,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - g_ctx
    argTypes:
    - struct ndpi_global_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4101
      start: 4073
    functionDepth: 1
    functionLinenumber: 4073
    functionLinenumberEnd: 4101
    functionName: ndpi_global_deinit
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_lru_free_cache
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_global_deinit(struct ndpi_global_context *g_ctx)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_main.c:4106,1
    - Dst: WSAStartup
      Src: /src/ndpi/src/lib/ndpi_main.c:4120,1
    - Dst: MAKEWORD
      Src: /src/ndpi/src/lib/ndpi_main.c:4120,1
    - Dst: set_ndpi_debug_function
      Src: /src/ndpi/src/lib/ndpi_main.c:4124,1
    - Dst: ndpi_ptree_create
      Src: /src/ndpi/src/lib/ndpi_main.c:4127,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4128,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/src/lib/ndpi_main.c:4129,1
    - Dst: ndpi_ptree_create
      Src: /src/ndpi/src/lib/ndpi_main.c:4133,1
    - Dst: ac_automata_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4147,1
    - Dst: ac_automata_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4148,1
    - Dst: ac_automata_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4149,1
    - Dst: ac_automata_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4150,1
    - Dst: ndpi_domain_classify_alloc
      Src: /src/ndpi/src/lib/ndpi_main.c:4161,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/src/lib/ndpi_main.c:4163,1
    - Dst: ndpi_domain_classify_alloc
      Src: /src/ndpi/src/lib/ndpi_main.c:4166,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/src/lib/ndpi_main.c:4168,1
    - Dst: ndpi_patricia_new
      Src: /src/ndpi/src/lib/ndpi_main.c:4172,1
    - Dst: ndpi_patricia_new
      Src: /src/ndpi/src/lib/ndpi_main.c:4173,1
    - Dst: ndpi_patricia_new
      Src: /src/ndpi/src/lib/ndpi_main.c:4174,1
    - Dst: ndpi_patricia_new
      Src: /src/ndpi/src/lib/ndpi_main.c:4175,1
    - Dst: ac_automata_feature
      Src: /src/ndpi/src/lib/ndpi_main.c:4178,1
    - Dst: ac_automata_feature
      Src: /src/ndpi/src/lib/ndpi_main.c:4181,1
    - Dst: ac_automata_feature
      Src: /src/ndpi/src/lib/ndpi_main.c:4184,1
    - Dst: ac_automata_feature
      Src: /src/ndpi/src/lib/ndpi_main.c:4187,1
    - Dst: ac_automata_name
      Src: /src/ndpi/src/lib/ndpi_main.c:4192,1
    - Dst: ac_automata_name
      Src: /src/ndpi/src/lib/ndpi_main.c:4195,1
    - Dst: ac_automata_name
      Src: /src/ndpi/src/lib/ndpi_main.c:4198,1
    - Dst: ac_automata_name
      Src: /src/ndpi/src/lib/ndpi_main.c:4201,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4205,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/src/lib/ndpi_main.c:4206,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:4211,1
    - Dst: init_protocol_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:4219,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4233,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/src/lib/ndpi_main.c:4236,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/src/lib/ndpi_main.c:4241,1
    - Dst: set_default_config
      Src: /src/ndpi/src/lib/ndpi_main.c:4247,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4249,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/src/lib/ndpi_main.c:4250,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 84
    argCount: 1
    argNames:
    - g_ctx
    argTypes:
    - struct ndpi_global_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4255
      start: 4105
    functionDepth: 5
    functionLinenumber: 4105
    functionLinenumberEnd: 4255
    functionName: ndpi_init_detection_module
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 3
    functionsReached:
    - ac_automata_init
    - MAKEWORD
    - set_ndpi_debug_function
    - ndpi_exit_detection_module
    - ndpi_patricia_new
    - ac_automata_name
    - ndpi_snprintf
    - ndpi_ptree_create
    - WSAStartup
    - NDPI_LOG_ERR
    - ndpi_domain_classify_alloc
    - ac_automata_feature
    - init_protocol_defaults
    - set_default_config
    - ndpi_calloc
    linkageType: ''
    returnType: struct ndpi_detection_module_struct
    signature: struct ndpi_detection_module_struct *ndpi_init_detection_module(struct
      ndpi_global_context *g_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_add_host_risk_mask
      Src: /src/ndpi/src/lib/ndpi_main.c:4287,1
    - Dst: ndpi_add_host_risk_mask
      Src: /src/ndpi/src/lib/ndpi_main.c:4293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4301
      start: 4264
    functionDepth: 1
    functionLinenumber: 4264
    functionLinenumberEnd: 4301
    functionName: ndpi_add_domain_risk_exceptions
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_add_host_risk_mask
    linkageType: ''
    returnType: void
    signature: void ndpi_add_domain_risk_exceptions(struct ndpi_detection_module_struct
      *ndpi_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/src/lib/ndpi_main.c:4307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_str
    - protoId
    argTypes:
    - struct ndpi_detection_module_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4313
      start: 4305
    functionDepth: 1
    functionLinenumber: 4305
    functionLinenumberEnd: 4313
    functionName: is_ip_list_enabled
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_bitmask_is_set
    linkageType: ''
    returnType: int
    signature: int is_ip_list_enabled(struct ndpi_detection_module_struct *ndpi_str,
      int protoId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/src/lib/ndpi_main.c:4319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_str
    - protoId
    argTypes:
    - struct ndpi_detection_module_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4322
      start: 4317
    functionDepth: 1
    functionLinenumber: 4317
    functionLinenumberEnd: 4322
    functionName: is_monitoring_enabled
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_bitmask_is_set
    linkageType: ''
    returnType: int
    signature: int is_monitoring_enabled(struct ndpi_detection_module_struct *ndpi_str,
      int protoId)
  - BBCount: 110
    BranchProfiles: []
    Callsites:
    - Dst: load_string_based_protocols
      Src: /src/ndpi/src/lib/ndpi_main.c:4335,1
    - Dst: dissectors_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4337,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4338,1
    - Dst: load_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:4342,1
    - Dst: ndpi_enable_loaded_categories
      Src: /src/ndpi/src/lib/ndpi_main.c:4345,1
    - Dst: validate_protocol_initialization
      Src: /src/ndpi/src/lib/ndpi_main.c:4347,1
    - Dst: gcry_control
      Src: /src/ndpi/src/lib/ndpi_main.c:4350,1
    - Dst: gcry_check_version
      Src: /src/ndpi/src/lib/ndpi_main.c:4351,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4353,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:4355,1
    - Dst: gcry_control
      Src: /src/ndpi/src/lib/ndpi_main.c:4357,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:4360,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4364,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4365,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4367,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4368,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4369,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4371,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4372,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4373,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4375,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4376,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4377,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4379,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4380,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4381,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4383,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4384,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4385,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4387,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4388,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4389,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4391,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4392,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4393,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4395,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4396,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4397,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4399,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4400,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4401,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4403,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4404,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4405,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4407,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4408,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4409,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4411,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4412,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4413,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4415,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4416,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4417,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4419,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4420,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4421,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4423,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4424,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4425,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4427,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4428,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4429,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4431,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4432,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4433,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4435,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4436,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4437,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4439,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4440,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4441,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4443,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4444,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4445,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4447,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4448,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4449,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4451,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4452,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4453,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4455,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4456,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4457,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4459,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4460,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4461,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4463,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4464,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4465,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4467,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4468,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4469,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4471,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4472,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4473,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4475,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4476,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4477,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4479,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4480,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4481,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4483,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4484,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4485,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4487,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4488,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4489,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4491,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4492,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4493,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4495,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4496,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4497,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4499,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4500,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4501,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4503,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4504,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4505,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4507,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4508,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4509,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4511,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4512,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4513,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4515,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4516,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4517,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4519,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4520,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4521,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4523,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4524,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4525,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4527,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4528,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4529,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4531,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4532,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4533,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4535,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4536,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4537,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4539,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4540,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4541,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4543,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4544,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4545,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4547,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4548,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4549,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4551,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4552,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4553,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4555,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4556,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4557,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4559,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4560,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4561,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4563,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4564,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4565,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4567,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4568,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4569,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4571,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4572,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4573,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4575,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4576,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4577,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4579,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4580,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4581,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4583,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4584,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4585,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4587,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4588,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4589,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4591,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4592,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4593,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4595,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4596,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4597,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4599,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4600,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4601,1
    - Dst: is_ip_list_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:4603,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4604,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4605,1
    - Dst: ndpi_ptree_create
      Src: /src/ndpi/src/lib/ndpi_main.c:4609,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4610,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4615,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4616,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4620,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4621,1
    - Dst: ndpi_init_ptree_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:4625,1
    - Dst: ndpi_init_ptree_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:4626,1
    - Dst: ndpi_add_domain_risk_exceptions
      Src: /src/ndpi/src/lib/ndpi_main.c:4630,1
    - Dst: load_common_alpns
      Src: /src/ndpi/src/lib/ndpi_main.c:4632,1
    - Dst: ndpi_load_tcp_fingerprints
      Src: /src/ndpi/src/lib/ndpi_main.c:4634,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4639,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4644,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4648,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4656,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4661,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4665,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4673,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4678,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4682,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4689,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4694,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4698,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4705,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4710,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4714,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4721,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4726,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4730,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4737,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4742,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4746,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4754,1
    - Dst: ndpi_lru_cache_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4759,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:4763,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/ndpi_main.c:4774,1
    - Dst: ac_automata_finalize
      Src: /src/ndpi/src/lib/ndpi_main.c:4778,1
    CyclomaticComplexity: 111
    EdgeCount: 111
    ICount: 412
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4806
      start: 4326
    functionDepth: 5
    functionLinenumber: 4326
    functionLinenumberEnd: 4806
    functionName: ndpi_finalize_initialization
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 3
    functionsReached:
    - validate_protocol_initialization
    - NDPI_LOG_DBG
    - dissectors_init
    - load_common_alpns
    - ndpi_enable_loaded_categories
    - load_default_ports
    - ac_automata_finalize
    - NDPI_ARRAY_LENGTH
    - ndpi_load_tcp_fingerprints
    - ndpi_lru_cache_init
    - ndpi_init_ptree_ipv4
    - NDPI_LOG_ERR
    - gcry_control
    - load_string_based_protocols
    - ndpi_add_domain_risk_exceptions
    - ndpi_init_ptree_ipv6
    - ndpi_ptree_create
    - gcry_check_version
    - is_ip_list_enabled
    linkageType: ''
    returnType: int
    signature: int ndpi_finalize_initialization(struct ndpi_detection_module_struct
      *ndpi_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ac_automata_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4813
      start: 4811
    functionDepth: 1
    functionLinenumber: 4811
    functionLinenumberEnd: 4813
    functionName: ndpi_init_automa
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ac_automata_init
    linkageType: ''
    returnType: void
    signature: void *ndpi_init_automa(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ac_automata_init
      Src: /src/ndpi/src/lib/ndpi_main.c:4818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4819
      start: 4817
    functionDepth: 1
    functionLinenumber: 4817
    functionLinenumberEnd: 4819
    functionName: ndpi_init_automa_domain
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ac_automata_init
    linkageType: ''
    returnType: void
    signature: void *ndpi_init_automa_domain(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:4831,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:4834,1
    - Dst: ac_automata_add
      Src: /src/ndpi/src/lib/ndpi_main.c:4836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - _automa
    - str
    - num
    argTypes:
    - void*
    - char*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4838
      start: 4823
    functionDepth: 1
    functionLinenumber: 4823
    functionLinenumberEnd: 4838
    functionName: ndpi_add_string_value_to_automa
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ac_automata_add
    - memset
    - strlen
    linkageType: ''
    returnType: int
    signature: int ndpi_add_string_value_to_automa(void *_automa, char *str, u_int32_t
      num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_add_string_value_to_automa
      Src: /src/ndpi/src/lib/ndpi_main.c:4843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _automa
    - str
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4844
      start: 4842
    functionDepth: 2
    functionLinenumber: 4842
    functionLinenumberEnd: 4844
    functionName: ndpi_add_string_to_automa
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_add_string_value_to_automa
    linkageType: ''
    returnType: int
    signature: int ndpi_add_string_to_automa(void *_automa, char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ac_automata_release
      Src: /src/ndpi/src/lib/ndpi_main.c:4849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _automa
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4850
      start: 4848
    functionDepth: 1
    functionLinenumber: 4848
    functionLinenumberEnd: 4850
    functionName: ndpi_free_automa
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ac_automata_release
    linkageType: ''
    returnType: void
    signature: void ndpi_free_automa(void *_automa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ac_automata_finalize
      Src: /src/ndpi/src/lib/ndpi_main.c:4855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _automa
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4856
      start: 4854
    functionDepth: 1
    functionLinenumber: 4854
    functionLinenumberEnd: 4856
    functionName: ndpi_finalize_automa
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ac_automata_finalize
    linkageType: ''
    returnType: void
    signature: void ndpi_finalize_automa(void *_automa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ac_automata_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:4863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - _automa
    - stats
    argTypes:
    - void*
    - struct ndpi_automa_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4866
      start: 4860
    functionDepth: 1
    functionLinenumber: 4860
    functionLinenumberEnd: 4866
    functionName: ndpi_automa_get_stats
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ac_automata_get_stats
    linkageType: ''
    returnType: void
    signature: void ndpi_automa_get_stats(void *_automa, struct ndpi_automa_stats
      *stats)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_automa_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:4879,1
    - Dst: ndpi_automa_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:4883,1
    - Dst: ndpi_automa_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:4887,1
    - Dst: ndpi_automa_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:4891,1
    - Dst: ndpi_automa_get_stats
      Src: /src/ndpi/src/lib/ndpi_main.c:4895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - ndpi_struct
    - automa_type
    - stats
    argTypes:
    - struct ndpi_detection_module_struct*
    - automa_type
    - struct ndpi_automa_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4901
      start: 4870
    functionDepth: 2
    functionLinenumber: 4870
    functionLinenumberEnd: 4901
    functionName: ndpi_get_automa_stats
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_automa_get_stats
    linkageType: ''
    returnType: int
    signature: "int ndpi_get_automa_stats(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \ automa_type automa_type,\n\t\t\t  struct ndpi_automa_stats *stats)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:4920,1
    - Dst: ac_automata_search
      Src: /src/ndpi/src/lib/ndpi_main.c:4927,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - automa
    - string_to_match
    - string_len
    - protocol_id
    - category
    - breed
    argTypes:
    - AC_AUTOMATA_t*
    - char*
    - size_t
    - u_int32_t*
    - ndpi_protocol_category_t*
    - ndpi_protocol_breed_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4939
      start: 4905
    functionDepth: 1
    functionLinenumber: 4905
    functionLinenumberEnd: 4939
    functionName: ndpi_match_string_common
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - printf
    - ac_automata_search
    linkageType: ''
    returnType: int
    signature: "int ndpi_match_string_common(AC_AUTOMATA_t *automa, char *string_to_match,size_t
      string_len,\n\t\t\t\t    u_int32_t *protocol_id, ndpi_protocol_category_t *category,\n\t\t\t\t
      \   ndpi_protocol_breed_t *breed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_match_string_common
      Src: /src/ndpi/src/lib/ndpi_main.c:4950,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:4951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - _automa
    - string_to_match
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4956
      start: 4943
    functionDepth: 2
    functionLinenumber: 4943
    functionLinenumberEnd: 4956
    functionName: ndpi_match_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_match_string_common
    - strlen
    linkageType: ''
    returnType: int
    signature: int ndpi_match_string(void *_automa, char *string_to_match)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_match_string_common
      Src: /src/ndpi/src/lib/ndpi_main.c:4965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - automa
    - string_to_match
    - match_len
    - protocol_id
    - category
    - breed
    argTypes:
    - void*
    - char*
    - u_int
    - u_int16_t*
    - ndpi_protocol_category_t*
    - ndpi_protocol_breed_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4970
      start: 4960
    functionDepth: 2
    functionLinenumber: 4960
    functionLinenumberEnd: 4970
    functionName: ndpi_match_string_protocol_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_match_string_common
    linkageType: ''
    returnType: int
    signature: "int ndpi_match_string_protocol_id(void *automa, char *string_to_match,\n\t\t\t\t
      \ u_int match_len, u_int16_t *protocol_id,\n\t\t\t\t  ndpi_protocol_category_t
      *category,\n\t\t\t\t  ndpi_protocol_breed_t *breed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_match_string_common
      Src: /src/ndpi/src/lib/ndpi_main.c:4976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - automa
    - string_to_match
    - match_len
    - num
    argTypes:
    - void*
    - char*
    - u_int
    - u_int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4980
      start: 4974
    functionDepth: 2
    functionLinenumber: 4974
    functionLinenumberEnd: 4980
    functionName: ndpi_match_string_value
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_match_string_common
    linkageType: ''
    returnType: int
    signature: "int ndpi_match_string_value(void *automa, char *string_to_match,\n\t\t\t
      \   u_int match_len, u_int32_t *num)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_enable_loaded_categories
      Src: /src/ndpi/src/lib/ndpi_main.c:4994,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:4997,1
    - Dst: ndpi_domain_classify_hostname
      Src: /src/ndpi/src/lib/ndpi_main.c:5000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ndpi_str
    - name
    - name_len
    - category
    - breed
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int
    - ndpi_protocol_category_t*
    - ndpi_protocol_breed_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5007
      start: 4985
    functionDepth: 4
    functionLinenumber: 4985
    functionLinenumberEnd: 5007
    functionName: ndpi_match_custom_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_domain_classify_hostname
    - ndpi_enable_loaded_categories
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ndpi_match_custom_category(struct ndpi_detection_module_struct
      *ndpi_str,\n                               char *name, u_int name_len,\n                               ndpi_protocol_category_t
      *category,\n                               ndpi_protocol_breed_t *breed)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:5020,1
    - Dst: ndpi_enable_loaded_categories
      Src: /src/ndpi/src/lib/ndpi_main.c:5026,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:5029,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:5035,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:5040,1
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/src/lib/ndpi_main.c:5044,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:5046,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:5054,1
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/src/lib/ndpi_main.c:5056,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:5058,1
    - Dst: ndpi_match_custom_category
      Src: /src/ndpi/src/lib/ndpi_main.c:5068,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 5
    argNames:
    - ndpi_str
    - name_or_ip
    - name_len
    - category
    - breed
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int
    - ndpi_protocol_category_t*
    - ndpi_protocol_breed_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5070
      start: 5011
    functionDepth: 5
    functionLinenumber: 5011
    functionLinenumberEnd: 5070
    functionName: ndpi_get_custom_category_match
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_match_custom_category
    - ndpi_fill_prefix_v6
    - ndpi_patricia_search_best
    - strrchr
    - inet_pton
    - ndpi_enable_loaded_categories
    - ndpi_min
    - ndpi_fill_prefix_v4
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ndpi_get_custom_category_match(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t   char *name_or_ip, u_int name_len,\n\t\t\t\t   ndpi_protocol_category_t
      *category,\n\t\t\t\t   ndpi_protocol_breed_t *breed)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmask_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5079,1
    - Dst: ndpi_bitmask_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5080,1
    - Dst: ndpi_bitmask_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5081,1
    - Dst: ndpi_bitmask_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5082,1
    - Dst: ndpi_bitmask_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5083,1
    - Dst: ndpi_bitmask_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5084,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5088,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5090,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5092,1
    - Dst: nbpf_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5096,1
    - Dst: cache_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5101,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:5105,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:5109,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:5113,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:5117,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:5121,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:5125,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:5129,1
    - Dst: ndpi_lru_free_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:5133,1
    - Dst: ndpi_ptree_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:5135,1
    - Dst: ndpi_ptree_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:5136,1
    - Dst: ndpi_ptree_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:5137,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/src/lib/ndpi_main.c:5139,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/src/lib/ndpi_main.c:5140,1
    - Dst: ac_automata_release
      Src: /src/ndpi/src/lib/ndpi_main.c:5143,1
    - Dst: ac_automata_release
      Src: /src/ndpi/src/lib/ndpi_main.c:5147,1
    - Dst: ac_automata_release
      Src: /src/ndpi/src/lib/ndpi_main.c:5151,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5154,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5157,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5160,1
    - Dst: ndpi_domain_classify_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5162,1
    - Dst: ndpi_domain_classify_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5163,1
    - Dst: ndpi_patricia_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:5166,1
    - Dst: ndpi_patricia_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:5169,1
    - Dst: ndpi_patricia_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:5172,1
    - Dst: ndpi_patricia_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:5175,1
    - Dst: ac_automata_release
      Src: /src/ndpi/src/lib/ndpi_main.c:5178,1
    - Dst: ac_automata_release
      Src: /src/ndpi/src/lib/ndpi_main.c:5182,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5191,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5193,1
    - Dst: ndpi_free_geoip
      Src: /src/ndpi/src/lib/ndpi_main.c:5202,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5205,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5208,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5211,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5214,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5217,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5220,1
    - Dst: ndpi_term_address_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:5223,1
    - Dst: ndpi_filter_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5226,1
    - Dst: ndpi_filter_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5229,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5231,1
    - Dst: WSACleanup
      Src: /src/ndpi/src/lib/ndpi_main.c:5235,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 101
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5237
      start: 5074
    functionDepth: 2
    functionLinenumber: 5074
    functionLinenumberEnd: 5237
    functionName: ndpi_exit_detection_module
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 3
    functionsReached:
    - ndpi_hash_free
    - cache_free
    - WSACleanup
    - ndpi_ptree_destroy
    - nbpf_free
    - ndpi_tdestroy
    - ndpi_free_geoip
    - ndpi_term_address_cache
    - ndpi_bitmask_free
    - ac_automata_release
    - ndpi_free
    - ndpi_domain_classify_free
    - ndpi_filter_free
    - ndpi_patricia_destroy
    - ndpi_lru_free_cache
    linkageType: ''
    returnType: void
    signature: void ndpi_exit_detection_module(struct ndpi_detection_module_struct
      *ndpi_str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_tfind
      Src: /src/ndpi/src/lib/ndpi_main.c:5251,1
    - Dst: ndpi_tfind
      Src: /src/ndpi/src/lib/ndpi_main.c:5256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - ndpi_str
    - proto
    - sport
    - dport
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int8_t
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5265
      start: 5241
    functionDepth: 1
    functionLinenumber: 5241
    functionLinenumberEnd: 5265
    functionName: ndpi_get_guessed_protocol_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_tfind
    linkageType: ''
    returnType: default_ports_tree_node_t
    signature: "default_ports_tree_node_t *ndpi_get_guessed_protocol_id(struct ndpi_detection_module_struct
      *ndpi_str,\n                                                               u_int8_t
      proto, u_int16_t sport, u_int16_t dport)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_guessed_protocol_id
      Src: /src/ndpi/src/lib/ndpi_main.c:5274,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5289,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5293,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5297,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5301,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5305,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5309,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5313,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5317,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5321,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5325,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5329,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5333,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:5337,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 64
    argCount: 5
    argNames:
    - ndpi_str
    - proto
    - sport
    - dport
    - user_defined_proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int8_t
    - u_int16_t
    - u_int16_t
    - u_int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5344
      start: 5269
    functionDepth: 2
    functionLinenumber: 5269
    functionLinenumberEnd: 5344
    functionName: guess_protocol_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_get_guessed_protocol_id
    - is_proto_enabled
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t guess_protocol_id(struct ndpi_detection_module_struct *ndpi_str,\n
      \                                  u_int8_t proto, u_int16_t sport, u_int16_t
      dport, u_int8_t *user_defined_proto)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5352
      start: 5348
    functionDepth: 0
    functionLinenumber: 5348
    functionLinenumberEnd: 5352
    functionName: ndpi_get_num_protocols
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int
    signature: u_int ndpi_get_num_protocols(struct ndpi_detection_module_struct *ndpi_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_str
    - proto_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5362
      start: 5356
    functionDepth: 0
    functionLinenumber: 5356
    functionLinenumberEnd: 5362
    functionName: ndpi_is_custom_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ndpi_is_custom_protocol(struct ndpi_detection_module_struct *ndpi_str,
      u_int16_t proto_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcspn
      Src: /src/ndpi/src/lib/ndpi_main.c:5372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - sp
    - sep
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5377
      start: 5367
    functionDepth: 0
    functionLinenumber: 5367
    functionLinenumberEnd: 5377
    functionName: strsep
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strcspn
    linkageType: ''
    returnType: char
    signature: char *strsep(char **sp, char *sep)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:5384,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:5388,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:5394,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:5397,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:5402,1
    - Dst: add_to_ptree
      Src: /src/ndpi/src/lib/ndpi_main.c:5404,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:5405,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:5409,1
    - Dst: add_to_ptree
      Src: /src/ndpi/src/lib/ndpi_main.c:5411,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:5412,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - ndpi_str
    - ip
    - mask
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - ndpi_risk
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5422
      start: 5382
    functionDepth: 2
    functionLinenumber: 5382
    functionLinenumberEnd: 5422
    functionName: ndpi_add_ip_risk_mask
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strlen
    - inet_pton
    - atoi
    - strtok_r
    - add_to_ptree
    linkageType: ''
    returnType: int
    signature: "int ndpi_add_ip_risk_mask(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \ char *ip, ndpi_risk mask)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:5444,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_main.c:5452,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:5456,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:5458,1
    - Dst: ndpi_domain_level
      Src: /src/ndpi/src/lib/ndpi_main.c:5463,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/ndpi_main.c:5465,1
    - Dst: ac_automata_add
      Src: /src/ndpi/src/lib/ndpi_main.c:5467,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5470,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - ndpi_str
    - host
    - mask
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - ndpi_risk
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5477
      start: 5426
    functionDepth: 1
    functionLinenumber: 5426
    functionLinenumberEnd: 5477
    functionName: ndpi_add_host_risk_mask
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - strlen
    - memchr
    - ndpi_strdup
    - ac_automata_add
    - ndpi_free
    - memset
    - ndpi_domain_level
    linkageType: ''
    returnType: int
    signature: "int ndpi_add_host_risk_mask(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \   char *host, ndpi_risk mask)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_main.c:5487,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:5494,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:5496,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_main.c:5499,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_main.c:5501,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:5504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_str
    - dn
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5512
      start: 5481
    functionDepth: 1
    functionLinenumber: 5481
    functionLinenumberEnd: 5512
    functionName: ndpi_add_trusted_issuer_dn
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strchr
    - ndpi_snprintf
    - ndpi_strdup
    - ndpi_malloc
    - ndpi_free
    linkageType: ''
    returnType: int
    signature: int ndpi_add_trusted_issuer_dn(struct ndpi_detection_module_struct
      *ndpi_str, char *dn)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:5526,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:5531,1
    - Dst: strtok
      Src: /src/ndpi/src/lib/ndpi_main.c:5532,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5535,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5539,1
    - Dst: ndpi_add_trusted_issuer_dn
      Src: /src/ndpi/src/lib/ndpi_main.c:5540,1
    - Dst: strtok
      Src: /src/ndpi/src/lib/ndpi_main.c:5540,1
    - Dst: strtok
      Src: /src/ndpi/src/lib/ndpi_main.c:5542,1
    - Dst: strtok
      Src: /src/ndpi/src/lib/ndpi_main.c:5544,1
    - Dst: atoll
      Src: /src/ndpi/src/lib/ndpi_main.c:5547,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5549,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5550,1
    - Dst: ndpi_add_ip_risk_mask
      Src: /src/ndpi/src/lib/ndpi_main.c:5551,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5552,1
    - Dst: ndpi_add_host_risk_mask
      Src: /src/ndpi/src/lib/ndpi_main.c:5553,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5558,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:5580,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:5585,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/src/lib/ndpi_main.c:5591,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5593,1
    - Dst: strsep
      Src: /src/ndpi/src/lib/ndpi_main.c:5602,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5603,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/src/lib/ndpi_main.c:5607,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5611,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5613,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/src/lib/ndpi_main.c:5617,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5621,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:5626,1
    - Dst: ndpi_get_proto_by_name
      Src: /src/ndpi/src/lib/ndpi_main.c:5631,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5656,1
    - Dst: ndpi_add_user_proto_id_mapping
      Src: /src/ndpi/src/lib/ndpi_main.c:5665,1
    - Dst: ndpi_set_proto_defaults
      Src: /src/ndpi/src/lib/ndpi_main.c:5667,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:5674,1
    - Dst: ndpi_build_default_ports
      Src: /src/ndpi/src/lib/ndpi_main.c:5675,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5678,1
    - Dst: strsep
      Src: /src/ndpi/src/lib/ndpi_main.c:5686,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5692,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5694,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5696,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5698,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5700,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:5707,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:5713,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5715,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5720,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:5728,1
    - Dst: nbpf_parse
      Src: /src/ndpi/src/lib/ndpi_main.c:5735,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5736,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/ndpi_main.c:5743,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5746,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5748,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:5750,1
    - Dst: sscanf
      Src: /src/ndpi/src/lib/ndpi_main.c:5758,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:5761,1
    - Dst: ndpi_add_host_ip_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:5784,1
    - Dst: ndpi_add_ja4_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:5789,1
    - Dst: ndpi_add_ndpifp_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:5794,1
    - Dst: ndpi_add_http_url_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:5799,1
    - Dst: ndpi_add_host_url_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:5804,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 192
    argCount: 2
    argNames:
    - ndpi_str
    - rule
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5812
      start: 5515
    functionDepth: 3
    functionLinenumber: 5515
    functionLinenumberEnd: 5812
    functionName: ndpi_handle_rule
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_add_ja4_subprotocol
    - strrchr
    - NDPI_LOG_DBG
    - strcmp
    - ndpi_add_user_proto_id_mapping
    - strlen
    - strncmp
    - ndpi_add_trusted_issuer_dn
    - ndpi_build_default_ports
    - ndpi_add_ip_risk_mask
    - atoll
    - sscanf
    - nbpf_parse
    - NDPI_LOG_ERR
    - ndpi_add_host_ip_subprotocol
    - strchr
    - ndpi_set_proto_defaults
    - ndpi_add_http_url_subprotocol
    - tolower
    - NDPI_LOG_INFO
    - ndpi_add_host_url_subprotocol
    - ndpi_snprintf
    - strtok
    - strsep
    - ndpi_strtonum
    - atoi
    - ndpi_add_ndpifp_subprotocol
    - ndpi_get_proto_by_name
    - ndpi_add_host_risk_mask
    linkageType: ''
    returnType: int
    signature: "int ndpi_handle_rule(struct ndpi_detection_module_struct *ndpi_str,\n\t\t
      \           char *rule)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_main.c:5834,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:5839,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:5855,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:5857,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:5859,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5862,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:5867,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/src/lib/ndpi_main.c:5869,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5871,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5878,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 2
    argNames:
    - ndpi_str
    - fd
    argTypes:
    - struct ndpi_detection_module_struct*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5882
      start: 5825
    functionDepth: 1
    functionLinenumber: 5825
    functionLinenumberEnd: 5882
    functionName: load_config_file_fd
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strlen
    - ndpi_set_config
    - strtok_r
    - fgets
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: int load_config_file_fd(struct ndpi_detection_module_struct *ndpi_str,
      FILE *fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_main.c:5903,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5905,1
    - Dst: strerror
      Src: /src/ndpi/src/lib/ndpi_main.c:5905,1
    - Dst: load_categories_file_fd
      Src: /src/ndpi/src/lib/ndpi_main.c:5909,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_main.c:5911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ndpi_str
    - path
    - user_data
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5914
      start: 5895
    functionDepth: 1
    functionLinenumber: 5895
    functionLinenumberEnd: 5914
    functionName: ndpi_load_categories_file
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - fclose
    - load_categories_file_fd
    - strerror
    - fopen
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_categories_file(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t      const char *path, void *user_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_main.c:5927,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:5932,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:5938,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:5941,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/src/lib/ndpi_main.c:5945,1
    - Dst: ndpi_load_category
      Src: /src/ndpi/src/lib/ndpi_main.c:5948,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - ndpi_str
    - fd
    - user_data
    argTypes:
    - struct ndpi_detection_module_struct*
    - FILE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5966
      start: 5918
    functionDepth: 1
    functionLinenumber: 5918
    functionLinenumberEnd: 5966
    functionName: load_categories_file_fd
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_load_category
    - strlen
    - ndpi_strtonum
    - strtok_r
    - fgets
    linkageType: ''
    returnType: int
    signature: "int load_categories_file_fd(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \   FILE *fd, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_main.c:5982,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:5984,1
    - Dst: strerror
      Src: /src/ndpi/src/lib/ndpi_main.c:5984,1
    - Dst: load_category_file_fd
      Src: /src/ndpi/src/lib/ndpi_main.c:5988,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_main.c:5990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ndpi_str
    - path
    - category_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - ndpi_protocol_category_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5993
      start: 5974
    functionDepth: 1
    functionLinenumber: 5974
    functionLinenumberEnd: 5993
    functionName: ndpi_load_category_file
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - load_category_file_fd
    - fclose
    - strerror
    - fopen
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_category_file(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \   char *path, ndpi_protocol_category_t category_id)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_main.c:6013,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:6019,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6022,1
    - Dst: ndpi_isalnum
      Src: /src/ndpi/src/lib/ndpi_main.c:6040,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6047,1
    - Dst: ndpi_load_category
      Src: /src/ndpi/src/lib/ndpi_main.c:6066,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 41
    argCount: 3
    argNames:
    - ndpi_str
    - fd
    - category_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - FILE*
    - ndpi_protocol_category_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6074
      start: 5997
    functionDepth: 1
    functionLinenumber: 5997
    functionLinenumberEnd: 6074
    functionName: load_category_file_fd
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_load_category
    - strlen
    - ndpi_isalnum
    - fgets
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int load_category_file_fd(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \ FILE *fd, ndpi_protocol_category_t category_id)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_main.c:6093,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:6099,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6102,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:6118,1
    - Dst: ndpi_add_host_ip_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:6119,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:6123,1
    - Dst: ndpi_add_host_ip_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:6125,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 3
    argNames:
    - ndpi_str
    - fd
    - protocol_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - FILE*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6140
      start: 6078
    functionDepth: 3
    functionLinenumber: 6078
    functionLinenumberEnd: 6140
    functionName: load_protocol_id_file_fd
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strlen
    - ndpi_add_host_ip_subprotocol
    - strchr
    - fgets
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int load_protocol_id_file_fd(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \    FILE *fd, u_int16_t protocol_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_main.c:6156,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6158,1
    - Dst: strerror
      Src: /src/ndpi/src/lib/ndpi_main.c:6158,1
    - Dst: load_protocol_id_file_fd
      Src: /src/ndpi/src/lib/ndpi_main.c:6162,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_main.c:6164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ndpi_str
    - path
    - protocol_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6167
      start: 6148
    functionDepth: 4
    functionLinenumber: 6148
    functionLinenumberEnd: 6167
    functionName: ndpi_load_protocol_id_file
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - fclose
    - load_protocol_id_file_fd
    - strerror
    - fopen
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_protocol_id_file(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t       char *path, u_int16_t protocol_id)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/ndpi/src/lib/ndpi_main.c:6189,1
    - Dst: readdir
      Src: /src/ndpi/src/lib/ndpi_main.c:6193,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:6197,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:6199,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:6203,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/src/lib/ndpi_main.c:6208,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:6214,1
    - Dst: ndpi_load_category_file
      Src: /src/ndpi/src/lib/ndpi_main.c:6216,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6217,1
    - Dst: closedir
      Src: /src/ndpi/src/lib/ndpi_main.c:6225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - ndpi_str
    - dir_path
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6231
      start: 6179
    functionDepth: 2
    functionLinenumber: 6179
    functionLinenumberEnd: 6231
    functionName: ndpi_load_categories_dir
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strchr
    - strrchr
    - readdir
    - snprintf
    - closedir
    - opendir
    - ndpi_load_category_file
    - ndpi_strtonum
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_categories_dir(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \    char *dir_path)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/ndpi/src/lib/ndpi_main.c:6253,1
    - Dst: readdir
      Src: /src/ndpi/src/lib/ndpi_main.c:6257,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:6261,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:6263,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:6267,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/src/lib/ndpi_main.c:6272,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:6278,1
    - Dst: ndpi_load_protocol_id_file
      Src: /src/ndpi/src/lib/ndpi_main.c:6280,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6281,1
    - Dst: closedir
      Src: /src/ndpi/src/lib/ndpi_main.c:6289,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - ndpi_str
    - dir_path
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6295
      start: 6243
    functionDepth: 5
    functionLinenumber: 6243
    functionLinenumberEnd: 6295
    functionName: ndpi_load_protocols_dir
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ndpi_load_protocol_id_file
    - strchr
    - strrchr
    - readdir
    - snprintf
    - closedir
    - opendir
    - ndpi_strtonum
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_protocols_dir(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \   char *dir_path)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ac_automata_init
      Src: /src/ndpi/src/lib/ndpi_main.c:6302,1
    - Dst: ac_automata_feature
      Src: /src/ndpi/src/lib/ndpi_main.c:6304,1
    - Dst: ac_automata_name
      Src: /src/ndpi/src/lib/ndpi_main.c:6305,1
    - Dst: string_to_automa
      Src: /src/ndpi/src/lib/ndpi_main.c:6308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_str
    - domain_name
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6310
      start: 6299
    functionDepth: 2
    functionLinenumber: 6299
    functionLinenumberEnd: 6310
    functionName: ndpi_load_risky_domain
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - string_to_automa
    - ac_automata_name
    - ac_automata_feature
    - ac_automata_init
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_risky_domain(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t\t
      \ char* domain_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_main.c:6329,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6331,1
    - Dst: strerror
      Src: /src/ndpi/src/lib/ndpi_main.c:6331,1
    - Dst: load_risk_domain_file_fd
      Src: /src/ndpi/src/lib/ndpi_main.c:6335,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_main.c:6337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_str
    - path
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6340
      start: 6322
    functionDepth: 1
    functionLinenumber: 6322
    functionLinenumberEnd: 6340
    functionName: ndpi_load_risk_domain_file
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - fclose
    - strerror
    - fopen
    - load_risk_domain_file_fd
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: int ndpi_load_risk_domain_file(struct ndpi_detection_module_struct
      *ndpi_str, const char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_main.c:6352,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:6357,1
    - Dst: ndpi_load_risky_domain
      Src: /src/ndpi/src/lib/ndpi_main.c:6364,1
    - Dst: ac_automata_finalize
      Src: /src/ndpi/src/lib/ndpi_main.c:6369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_str
    - fd
    argTypes:
    - struct ndpi_detection_module_struct*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6372
      start: 6344
    functionDepth: 3
    functionLinenumber: 6344
    functionLinenumberEnd: 6372
    functionName: load_risk_domain_file_fd
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - strlen
    - ac_automata_finalize
    - ndpi_load_risky_domain
    - fgets
    linkageType: ''
    returnType: int
    signature: int load_risk_domain_file_fd(struct ndpi_detection_module_struct *ndpi_str,
      FILE *fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_main.c:6389,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6391,1
    - Dst: strerror
      Src: /src/ndpi/src/lib/ndpi_main.c:6391,1
    - Dst: load_malicious_ja4_file_fd
      Src: /src/ndpi/src/lib/ndpi_main.c:6395,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_main.c:6397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_str
    - path
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6400
      start: 6382
    functionDepth: 1
    functionLinenumber: 6382
    functionLinenumberEnd: 6400
    functionName: ndpi_load_malicious_ja4_file
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - fclose
    - load_malicious_ja4_file_fd
    - strerror
    - fopen
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: int ndpi_load_malicious_ja4_file(struct ndpi_detection_module_struct
      *ndpi_str, const char *path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_hash_init
      Src: /src/ndpi/src/lib/ndpi_main.c:6410,1
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_main.c:6416,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:6421,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:6428,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:6431,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6434,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/src/lib/ndpi_main.c:6438,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - ndpi_str
    - fd
    argTypes:
    - struct ndpi_detection_module_struct*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6443
      start: 6404
    functionDepth: 1
    functionLinenumber: 6404
    functionLinenumberEnd: 6443
    functionName: load_malicious_ja4_file_fd
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_hash_init
    - ndpi_hash_add_entry
    - strlen
    - strchr
    - fgets
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: int load_malicious_ja4_file_fd(struct ndpi_detection_module_struct
      *ndpi_str, FILE *fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_main.c:6463,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6465,1
    - Dst: strerror
      Src: /src/ndpi/src/lib/ndpi_main.c:6465,1
    - Dst: load_malicious_sha1_file_fd
      Src: /src/ndpi/src/lib/ndpi_main.c:6469,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_main.c:6471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_str
    - path
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6474
      start: 6455
    functionDepth: 1
    functionLinenumber: 6455
    functionLinenumberEnd: 6474
    functionName: ndpi_load_malicious_sha1_file
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - load_malicious_sha1_file_fd
    - fclose
    - strerror
    - fopen
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: int ndpi_load_malicious_sha1_file(struct ndpi_detection_module_struct
      *ndpi_str, const char *path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_hash_init
      Src: /src/ndpi/src/lib/ndpi_main.c:6487,1
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_main.c:6490,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:6491,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:6496,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:6499,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6509,1
    - Dst: toupper
      Src: /src/ndpi/src/lib/ndpi_main.c:6514,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/src/lib/ndpi_main.c:6516,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - ndpi_str
    - fd
    argTypes:
    - struct ndpi_detection_module_struct*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6522
      start: 6478
    functionDepth: 1
    functionLinenumber: 6478
    functionLinenumberEnd: 6522
    functionName: load_malicious_sha1_file_fd
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_hash_init
    - ndpi_hash_add_entry
    - strlen
    - toupper
    - strchr
    - fgets
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: int load_malicious_sha1_file_fd(struct ndpi_detection_module_struct
      *ndpi_str, FILE *fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_main.c:6554,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6556,1
    - Dst: strerror
      Src: /src/ndpi/src/lib/ndpi_main.c:6556,1
    - Dst: load_protocols_file_fd
      Src: /src/ndpi/src/lib/ndpi_main.c:6560,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_main.c:6562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_str
    - path
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6565
      start: 6547
    functionDepth: 1
    functionLinenumber: 6547
    functionLinenumberEnd: 6565
    functionName: ndpi_load_protocols_file
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - fclose
    - NDPI_LOG_ERR
    - strerror
    - fopen
    - load_protocols_file_fd
    linkageType: ''
    returnType: int
    signature: int ndpi_load_protocols_file(struct ndpi_detection_module_struct *ndpi_str,
      const char *path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_main.c:6577,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6579,1
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_main.c:6587,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:6588,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:6589,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:6590,1
    - Dst: ndpi_realloc
      Src: /src/ndpi/src/lib/ndpi_main.c:6595,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6597,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:6598,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:6609,1
    - Dst: ndpi_handle_rule
      Src: /src/ndpi/src/lib/ndpi_main.c:6625,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/ndpi_main.c:6626,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:6629,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - ndpi_str
    - fd
    argTypes:
    - struct ndpi_detection_module_struct*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6632
      start: 6569
    functionDepth: 4
    functionLinenumber: 6569
    functionLinenumberEnd: 6632
    functionName: load_protocols_file_fd
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - NDPI_LOG_INFO
    - strlen
    - ndpi_handle_rule
    - ndpi_malloc
    - ndpi_free
    - ndpi_realloc
    - fgets
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: int load_protocols_file_fd(struct ndpi_detection_module_struct *ndpi_str,
      FILE *fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6653,1
    - Dst: va_start
      Src: /src/ndpi/src/lib/ndpi_main.c:6658,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/ndpi_main.c:6660,1
    - Dst: is_proto_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:6661,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:6662,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:6667,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/ndpi_main.c:6682,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:6685,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:6687,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:6688,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:6688,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:6696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - dissector_name
    - ndpi_str
    - ndpi_selection_bitmask
    - num_protocol_ids
    argTypes:
    - char*
    - struct ndpi_detection_module_struct*
    - NDPI_SELECTION_BITMASK_PROTOCOL_SIZE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6699
      start: 6636
    functionDepth: 2
    functionLinenumber: 6636
    functionLinenumberEnd: 6699
    functionName: register_dissector
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - va_end
    - strlen
    - is_proto_enabled
    - NDPI_LOG_DBG
    - va_arg
    - ndpi_min
    - NDPI_LOG_DBG2
    - va_start
    - memcpy
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: void
    signature: "void register_dissector(char *dissector_name, struct ndpi_detection_module_struct
      *ndpi_str,\n                        void (*func)(struct ndpi_detection_module_struct
      *,\n                                     struct ndpi_flow_struct *flow),\n                        const
      NDPI_SELECTION_BITMASK_PROTOCOL_SIZE ndpi_selection_bitmask,\n                        int
      num_protocol_ids, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_main.c:6706,1
    - Dst: init_http_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6710,1
    - Dst: init_blizzard_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6713,1
    - Dst: init_tls_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6716,1
    - Dst: init_rtp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6719,1
    - Dst: init_rtsp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6722,1
    - Dst: init_rdp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6725,1
    - Dst: init_stun_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6728,1
    - Dst: init_sip_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6731,1
    - Dst: init_mudfish_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6734,1
    - Dst: init_imo_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6737,1
    - Dst: init_teredo_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6740,1
    - Dst: init_edonkey_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6743,1
    - Dst: init_gnutella_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6746,1
    - Dst: init_nats_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6749,1
    - Dst: init_socks_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6752,1
    - Dst: init_irc_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6755,1
    - Dst: init_jabber_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6758,1
    - Dst: init_mail_pop_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6761,1
    - Dst: init_mail_imap_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6764,1
    - Dst: init_mail_smtp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6767,1
    - Dst: init_usenet_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6770,1
    - Dst: init_dns_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6773,1
    - Dst: init_vmware_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6776,1
    - Dst: init_non_tcp_udp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6779,1
    - Dst: init_iax_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6782,1
    - Dst: init_mgcp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6785,1
    - Dst: init_zattoo_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6788,1
    - Dst: init_qq_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6791,1
    - Dst: init_ssh_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6794,1
    - Dst: init_vnc_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6797,1
    - Dst: init_vxlan_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6800,1
    - Dst: init_teamviewer_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6803,1
    - Dst: init_dhcp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6806,1
    - Dst: init_steam_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6809,1
    - Dst: init_xbox_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6812,1
    - Dst: init_smb_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6815,1
    - Dst: init_mining_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6818,1
    - Dst: init_telnet_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6821,1
    - Dst: init_ntp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6824,1
    - Dst: init_nfs_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6827,1
    - Dst: init_ssdp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6830,1
    - Dst: init_postgres_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6833,1
    - Dst: init_mysql_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6836,1
    - Dst: init_bgp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6839,1
    - Dst: init_snmp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6842,1
    - Dst: init_icecast_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6845,1
    - Dst: init_kerberos_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6848,1
    - Dst: init_syslog_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6851,1
    - Dst: init_netbios_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6854,1
    - Dst: init_ipp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6857,1
    - Dst: init_ldap_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6860,1
    - Dst: init_xdmcp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6863,1
    - Dst: init_tftp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6866,1
    - Dst: init_mssql_tds_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6869,1
    - Dst: init_pptp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6872,1
    - Dst: init_dhcpv6_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6875,1
    - Dst: init_afp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6878,1
    - Dst: init_checkmk_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6881,1
    - Dst: init_cpha_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6884,1
    - Dst: init_nexon_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6887,1
    - Dst: init_dofus_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6890,1
    - Dst: init_crossfire_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6893,1
    - Dst: init_guildwars2_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6896,1
    - Dst: init_armagetron_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6899,1
    - Dst: init_dropbox_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6902,1
    - Dst: init_sonos_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6905,1
    - Dst: init_spotify_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6908,1
    - Dst: init_radius_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6911,1
    - Dst: init_citrix_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6914,1
    - Dst: init_hcl_notes_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6917,1
    - Dst: init_gtp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6920,1
    - Dst: init_hsrp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6923,1
    - Dst: init_dcerpc_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6926,1
    - Dst: init_netflow_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6929,1
    - Dst: init_sflow_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6932,1
    - Dst: init_h323_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6935,1
    - Dst: init_openvpn_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6938,1
    - Dst: init_noe_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6941,1
    - Dst: init_ciscovpn_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6944,1
    - Dst: init_teamspeak_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6947,1
    - Dst: init_skinny_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6950,1
    - Dst: init_rsync_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6953,1
    - Dst: init_whois_das_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6956,1
    - Dst: init_oracle_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6959,1
    - Dst: init_corba_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6962,1
    - Dst: init_rtmp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6965,1
    - Dst: init_ftp_control_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6968,1
    - Dst: init_ftp_data_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6971,1
    - Dst: init_megaco_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6974,1
    - Dst: init_resp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6977,1
    - Dst: init_zmq_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6980,1
    - Dst: init_telegram_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6983,1
    - Dst: init_quic_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6986,1
    - Dst: init_diameter_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6989,1
    - Dst: init_apple_push_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6992,1
    - Dst: init_eaq_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6995,1
    - Dst: init_kakaotalk_voice_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:6998,1
    - Dst: init_mikrotik_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7001,1
    - Dst: init_mpegts_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7004,1
    - Dst: init_ubntac2_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7007,1
    - Dst: init_coap_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7010,1
    - Dst: init_mqtt_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7013,1
    - Dst: init_someip_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7016,1
    - Dst: init_rx_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7019,1
    - Dst: init_git_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7022,1
    - Dst: init_drda_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7025,1
    - Dst: init_bjnp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7028,1
    - Dst: init_smpp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7031,1
    - Dst: init_tinc_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7034,1
    - Dst: init_fix_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7037,1
    - Dst: init_nintendo_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7040,1
    - Dst: init_modbus_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7043,1
    - Dst: init_capwap_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7046,1
    - Dst: init_zabbix_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7049,1
    - Dst: init_viber_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7054,1
    - Dst: init_bittorrent_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7057,1
    - Dst: init_whatsapp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7060,1
    - Dst: init_ookla_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7063,1
    - Dst: init_amqp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7066,1
    - Dst: init_valve_sdr_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7069,1
    - Dst: init_lisp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7072,1
    - Dst: init_ajp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7075,1
    - Dst: init_memcached_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7078,1
    - Dst: init_nest_log_sink_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7081,1
    - Dst: init_wireguard_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7084,1
    - Dst: init_amazon_video_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7087,1
    - Dst: init_s7comm_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7090,1
    - Dst: init_104_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7093,1
    - Dst: init_dnp3_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7096,1
    - Dst: init_websocket_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7099,1
    - Dst: init_soap_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7102,1
    - Dst: init_dnscrypt_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7105,1
    - Dst: init_mongodb_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7108,1
    - Dst: init_among_us_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7111,1
    - Dst: init_hpvirtgrp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7114,1
    - Dst: init_genshin_impact_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7117,1
    - Dst: init_z3950_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7120,1
    - Dst: init_avast_securedns_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7123,1
    - Dst: init_cassandra_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7126,1
    - Dst: init_ethernet_ip_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7129,1
    - Dst: init_wsd_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7132,1
    - Dst: init_toca_boca_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7135,1
    - Dst: init_sd_rtn_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7138,1
    - Dst: init_raknet_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7141,1
    - Dst: init_xiaomi_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7144,1
    - Dst: init_mpegdash_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7147,1
    - Dst: init_rsh_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7150,1
    - Dst: init_ipsec_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7153,1
    - Dst: init_collectd_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7156,1
    - Dst: init_i3d_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7159,1
    - Dst: init_riotgames_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7162,1
    - Dst: init_ultrasurf_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7165,1
    - Dst: init_threema_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7168,1
    - Dst: init_alicloud_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7171,1
    - Dst: init_avast_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7174,1
    - Dst: init_softether_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7177,1
    - Dst: init_activision_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7180,1
    - Dst: init_discord_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7183,1
    - Dst: init_tivoconnect_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7186,1
    - Dst: init_kismet_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7189,1
    - Dst: init_fastcgi_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7192,1
    - Dst: init_natpmp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7195,1
    - Dst: init_syncthing_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7198,1
    - Dst: init_crynet_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7201,1
    - Dst: init_line_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7204,1
    - Dst: init_munin_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7207,1
    - Dst: init_elasticsearch_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7210,1
    - Dst: init_tuya_lp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7213,1
    - Dst: init_tplink_shp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7216,1
    - Dst: init_merakicloud_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7219,1
    - Dst: init_tailscale_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7222,1
    - Dst: init_source_engine_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7225,1
    - Dst: init_bacnet_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7228,1
    - Dst: init_oicq_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7231,1
    - Dst: init_hots_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7234,1
    - Dst: init_epicgames_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7237,1
    - Dst: init_bitcoin_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7240,1
    - Dst: init_apache_thrift_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7243,1
    - Dst: init_slp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7246,1
    - Dst: init_http2_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7249,1
    - Dst: init_haproxy_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7252,1
    - Dst: init_rmcp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7255,1
    - Dst: init_can_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7258,1
    - Dst: init_protobuf_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7261,1
    - Dst: init_ethereum_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7264,1
    - Dst: init_ptpv2_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7267,1
    - Dst: init_hart_ip_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7270,1
    - Dst: init_rtps_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7273,1
    - Dst: init_opc_ua_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7276,1
    - Dst: init_fins_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7279,1
    - Dst: init_ethersio_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7282,1
    - Dst: init_beckhoff_ads_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7285,1
    - Dst: init_iso9506_1_mms_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7288,1
    - Dst: init_ieee_c37118_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7291,1
    - Dst: init_ethersbus_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7294,1
    - Dst: init_monero_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7297,1
    - Dst: init_profinet_io_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7300,1
    - Dst: init_hislip_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7303,1
    - Dst: init_uftp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7306,1
    - Dst: init_openflow_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7309,1
    - Dst: init_json_rpc_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7312,1
    - Dst: init_kafka_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7315,1
    - Dst: init_nomachine_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7318,1
    - Dst: init_iec62056_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7321,1
    - Dst: init_hl7_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7324,1
    - Dst: init_dicom_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7327,1
    - Dst: init_ceph_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7330,1
    - Dst: init_roughtime_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7333,1
    - Dst: init_kcp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7336,1
    - Dst: init_mumble_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7339,1
    - Dst: init_zoom_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7342,1
    - Dst: init_yojimbo_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7345,1
    - Dst: init_stomp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7348,1
    - Dst: init_radmin_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7351,1
    - Dst: init_raft_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7354,1
    - Dst: init_cip_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7357,1
    - Dst: init_gearman_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7360,1
    - Dst: init_tencent_games_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7363,1
    - Dst: init_gaijin_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7366,1
    - Dst: init_c1222_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7369,1
    - Dst: init_dlep_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7372,1
    - Dst: init_bfd_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7375,1
    - Dst: init_netease_games_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7378,1
    - Dst: init_pathofexile_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7381,1
    - Dst: init_pfcp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7384,1
    - Dst: init_flute_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7387,1
    - Dst: init_lolwildrift_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7390,1
    - Dst: init_teso_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7393,1
    - Dst: init_ldp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7396,1
    - Dst: init_knxnet_ip_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7399,1
    - Dst: init_bfcp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7402,1
    - Dst: init_iqiyi_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7405,1
    - Dst: init_egd_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7408,1
    - Dst: init_cod_mobile_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7411,1
    - Dst: init_zug_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7414,1
    - Dst: init_jrmi_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7417,1
    - Dst: init_ripe_atlas_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7420,1
    - Dst: init_cloudflare_warp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7423,1
    - Dst: init_nano_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7426,1
    - Dst: init_openwire_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7429,1
    - Dst: init_cnp_ip_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7432,1
    - Dst: init_atg_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7435,1
    - Dst: init_trdp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7438,1
    - Dst: init_lustre_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7441,1
    - Dst: init_dingtalk_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7444,1
    - Dst: init_paltalk_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7447,1
    - Dst: init_lagofast_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7450,1
    - Dst: init_gearup_booster_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7453,1
    - Dst: init_msdo_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7456,1
    - Dst: init_melsec_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7459,1
    - Dst: init_hamachi_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7462,1
    - Dst: init_glbp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7465,1
    - Dst: init_easyweather_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7468,1
    - Dst: init_tristation_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7471,1
    - Dst: init_samsung_sdp_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7474,1
    - Dst: init_matter_dissector
      Src: /src/ndpi/src/lib/ndpi_main.c:7477,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_main.c:7488,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:7490,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7491,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:7495,1
    - Dst: ndpi_enabled_callbacks_init
      Src: /src/ndpi/src/lib/ndpi_main.c:7497,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_main.c:7498,1
    - Dst: ndpi_enabled_callbacks_init
      Src: /src/ndpi/src/lib/ndpi_main.c:7513,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:7515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 282
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7523
      start: 6703
    functionDepth: 1
    functionLinenumber: 6703
    functionLinenumberEnd: 7523
    functionName: dissectors_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - init_ethereum_dissector
    - init_beckhoff_ads_dissector
    - init_eaq_dissector
    - init_rtps_dissector
    - init_postgres_dissector
    - init_dhcp_dissector
    - init_quic_dissector
    - init_lagofast_dissector
    - init_kafka_dissector
    - init_among_us_dissector
    - init_websocket_dissector
    - init_checkmk_dissector
    - init_mudfish_dissector
    - init_syncthing_dissector
    - init_flute_dissector
    - init_ptpv2_dissector
    - init_bjnp_dissector
    - init_apple_push_dissector
    - init_fix_dissector
    - init_easyweather_dissector
    - init_fastcgi_dissector
    - init_tplink_shp_dissector
    - init_gearman_dissector
    - init_nintendo_dissector
    - init_jrmi_dissector
    - init_source_engine_dissector
    - init_z3950_dissector
    - init_line_dissector
    - init_ieee_c37118_dissector
    - init_dlep_dissector
    - init_openwire_dissector
    - init_glbp_dissector
    - init_oicq_dissector
    - init_megaco_dissector
    - init_tls_dissector
    - init_amazon_video_dissector
    - init_rx_dissector
    - init_ldp_dissector
    - init_smpp_dissector
    - init_knxnet_ip_dissector
    - init_atg_dissector
    - init_ripe_atlas_dissector
    - init_nats_dissector
    - init_modbus_dissector
    - init_soap_dissector
    - init_ssh_dissector
    - init_nfs_dissector
    - init_xdmcp_dissector
    - init_corba_dissector
    - init_imo_dissector
    - init_dnscrypt_dissector
    - init_memcached_dissector
    - init_mikrotik_dissector
    - init_teredo_dissector
    - init_mqtt_dissector
    - init_pathofexile_dissector
    - init_zug_dissector
    - init_ethernet_ip_dissector
    - init_resp_dissector
    - init_rmcp_dissector
    - init_mpegdash_dissector
    - init_armagetron_dissector
    - init_fins_dissector
    - init_zabbix_dissector
    - init_mining_dissector
    - init_dnp3_dissector
    - init_gearup_booster_dissector
    - init_samsung_sdp_dissector
    - init_egd_dissector
    - init_protobuf_dissector
    - init_mongodb_dissector
    - init_avast_securedns_dissector
    - init_hamachi_dissector
    - init_lisp_dissector
    - init_bitcoin_dissector
    - init_zoom_dissector
    - init_paltalk_dissector
    - NDPI_LOG_DBG2
    - init_ipsec_dissector
    - init_smb_dissector
    - init_socks_dissector
    - init_kismet_dissector
    - init_irc_dissector
    - init_jabber_dissector
    - init_haproxy_dissector
    - init_cod_mobile_dissector
    - init_http_dissector
    - init_lolwildrift_dissector
    - init_activision_dissector
    - ndpi_free
    - init_noe_dissector
    - init_mysql_dissector
    - init_dingtalk_dissector
    - init_http2_dissector
    - init_tencent_games_dissector
    - init_trdp_dissector
    - init_viber_dissector
    - init_alicloud_dissector
    - init_zmq_dissector
    - init_mail_pop_dissector
    - init_apache_thrift_dissector
    - init_hl7_dissector
    - init_stun_dissector
    - init_teamspeak_dissector
    - init_cpha_dissector
    - init_ftp_data_dissector
    - init_vmware_dissector
    - init_pptp_dissector
    - init_cassandra_dissector
    - init_telnet_dissector
    - init_iso9506_1_mms_dissector
    - init_hsrp_dissector
    - init_dhcpv6_dissector
    - init_c1222_dissector
    - init_crynet_dissector
    - init_ethersio_dissector
    - init_stomp_dissector
    - init_ldap_dissector
    - init_mpegts_dissector
    - init_snmp_dissector
    - init_openflow_dissector
    - init_dns_dissector
    - init_nano_dissector
    - init_ssdp_dissector
    - init_ciscovpn_dissector
    - NDPI_LOG_DBG
    - init_non_tcp_udp_dissector
    - init_qq_dissector
    - init_kerberos_dissector
    - init_xiaomi_dissector
    - init_ipp_dissector
    - init_guildwars2_dissector
    - init_hcl_notes_dissector
    - init_avast_dissector
    - init_uftp_dissector
    - init_dicom_dissector
    - init_toca_boca_dissector
    - init_epicgames_dissector
    - init_iqiyi_dissector
    - ndpi_calloc
    - init_sonos_dissector
    - init_telegram_dissector
    - init_hots_dissector
    - init_hart_ip_dissector
    - init_nomachine_dissector
    - init_mail_imap_dissector
    - init_netbios_dissector
    - init_lustre_dissector
    - init_genshin_impact_dissector
    - init_i3d_dissector
    - init_bacnet_dissector
    - init_raft_dissector
    - init_rtsp_dissector
    - init_icecast_dissector
    - init_radius_dissector
    - init_ethersbus_dissector
    - init_valve_sdr_dissector
    - init_sd_rtn_dissector
    - init_softether_dissector
    - init_cloudflare_warp_dissector
    - ndpi_enabled_callbacks_init
    - init_bittorrent_dissector
    - init_openvpn_dissector
    - init_whois_das_dissector
    - init_diameter_dissector
    - init_nest_log_sink_dissector
    - init_collectd_dissector
    - init_ceph_dissector
    - init_bfcp_dissector
    - init_msdo_dissector
    - init_kakaotalk_voice_dissector
    - init_nexon_dissector
    - init_capwap_dissector
    - init_sip_dissector
    - init_blizzard_dissector
    - init_crossfire_dissector
    - init_h323_dissector
    - init_rsync_dissector
    - init_coap_dissector
    - init_ookla_dissector
    - init_kcp_dissector
    - init_syslog_dissector
    - init_opc_ua_dissector
    - init_netease_games_dissector
    - init_profinet_io_dissector
    - init_pfcp_dissector
    - init_ubntac2_dissector
    - init_hpvirtgrp_dissector
    - init_natpmp_dissector
    - init_mumble_dissector
    - init_gtp_dissector
    - init_spotify_dissector
    - init_git_dissector
    - init_elasticsearch_dissector
    - init_rtp_dissector
    - init_tristation_dissector
    - init_teso_dissector
    - init_roughtime_dissector
    - init_whatsapp_dissector
    - memcpy
    - init_wireguard_dissector
    - init_dropbox_dissector
    - init_vnc_dissector
    - init_vxlan_dissector
    - init_104_dissector
    - init_hislip_dissector
    - init_bgp_dissector
    - init_ajp_dissector
    - init_slp_dissector
    - init_tftp_dissector
    - init_iec62056_dissector
    - init_gaijin_dissector
    - init_oracle_dissector
    - init_matter_dissector
    - init_tivoconnect_dissector
    - init_dcerpc_dissector
    - init_s7comm_dissector
    - init_zattoo_dissector
    - init_teamviewer_dissector
    - init_melsec_dissector
    - init_edonkey_dissector
    - init_mgcp_dissector
    - init_threema_dissector
    - init_amqp_dissector
    - init_json_rpc_dissector
    - init_usenet_dissector
    - init_rdp_dissector
    - init_raknet_dissector
    - init_dofus_dissector
    - init_afp_dissector
    - init_monero_dissector
    - init_yojimbo_dissector
    - init_xbox_dissector
    - init_cnp_ip_dissector
    - init_mssql_tds_dissector
    - init_ntp_dissector
    - init_tailscale_dissector
    - init_netflow_dissector
    - init_gnutella_dissector
    - init_someip_dissector
    - init_bfd_dissector
    - init_cip_dissector
    - init_rsh_dissector
    - init_skinny_dissector
    - init_ftp_control_dissector
    - init_citrix_dissector
    - init_radmin_dissector
    - init_tuya_lp_dissector
    - init_rtmp_dissector
    - init_can_dissector
    - init_tinc_dissector
    - init_ultrasurf_dissector
    - init_wsd_dissector
    - init_drda_dissector
    - init_mail_smtp_dissector
    - init_iax_dissector
    - init_riotgames_dissector
    - init_sflow_dissector
    - init_merakicloud_dissector
    - init_steam_dissector
    - init_discord_dissector
    - init_munin_dissector
    linkageType: ''
    returnType: int
    signature: int dissectors_init(struct ndpi_detection_module_struct *ndpi_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_str
    - idx
    argTypes:
    - struct ndpi_detection_module_struct*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7532
      start: 7527
    functionDepth: 0
    functionLinenumber: 7527
    functionLinenumberEnd: 7532
    functionName: ndpi_proto_cb_tcp_payload
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_proto_cb_tcp_payload(const struct ndpi_detection_module_struct
      *ndpi_str, uint32_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_str
    - idx
    argTypes:
    - struct ndpi_detection_module_struct*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7543
      start: 7536
    functionDepth: 0
    functionLinenumber: 7536
    functionLinenumberEnd: 7543
    functionName: ndpi_proto_cb_tcp_nopayload
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_proto_cb_tcp_nopayload(const struct ndpi_detection_module_struct
      *ndpi_str, uint32_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_str
    - idx
    argTypes:
    - struct ndpi_detection_module_struct*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7552
      start: 7547
    functionDepth: 0
    functionLinenumber: 7547
    functionLinenumberEnd: 7552
    functionName: ndpi_proto_cb_udp
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_proto_cb_udp(const struct ndpi_detection_module_struct *ndpi_str,
      uint32_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_str
    - idx
    argTypes:
    - struct ndpi_detection_module_struct*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7564
      start: 7556
    functionDepth: 0
    functionLinenumber: 7556
    functionLinenumberEnd: 7564
    functionName: ndpi_proto_cb_other
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_proto_cb_other(const struct ndpi_detection_module_struct *ndpi_str,
      uint32_t idx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_proto_cb_tcp_payload
      Src: /src/ndpi/src/lib/ndpi_main.c:7577,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:7579,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:7581,1
    - Dst: ndpi_proto_cb_tcp_nopayload
      Src: /src/ndpi/src/lib/ndpi_main.c:7588,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:7590,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:7592,1
    - Dst: ndpi_proto_cb_udp
      Src: /src/ndpi/src/lib/ndpi_main.c:7601,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:7603,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:7605,1
    - Dst: ndpi_proto_cb_other
      Src: /src/ndpi/src/lib/ndpi_main.c:7614,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:7616,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:7618,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - ndpi_str
    - count_only
    argTypes:
    - struct ndpi_detection_module_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7623
      start: 7568
    functionDepth: 1
    functionLinenumber: 7568
    functionLinenumberEnd: 7623
    functionName: ndpi_enabled_callbacks_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_proto_cb_udp
    - ndpi_proto_cb_tcp_payload
    - ndpi_proto_cb_tcp_nopayload
    - NDPI_LOG_DBG2
    - ndpi_proto_cb_other
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_enabled_callbacks_init(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\tint count_only)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:7661,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - l3len
    - l4ptr
    - l4len
    - nxt_hdr
    argTypes:
    - u_int16_t
    - u_int8_t**
    - u_int16_t*
    - u_int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7696
      start: 7639
    functionDepth: 0
    functionLinenumber: 7639
    functionLinenumberEnd: 7696
    functionName: ndpi_handle_ipv6_extension_headers
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: int
    signature: "int ndpi_handle_ipv6_extension_headers(u_int16_t l3len, const u_int8_t
      **l4ptr,\n                                       u_int16_t *l4len, u_int8_t
      *nxt_hdr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:7711,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:7712,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_main.c:7713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - iph
    - ipsize
    argTypes:
    - struct ndpi_iphdr*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7720
      start: 7701
    functionDepth: 0
    functionLinenumber: 7701
    functionLinenumberEnd: 7720
    functionName: iph_is_valid_and_not_fragmented
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - htons
    - ntohs
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t iph_is_valid_and_not_fragmented(const struct ndpi_iphdr *iph,
      const u_int16_t ipsize)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:7749,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:7752,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:7760,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:7763,1
    - Dst: iph_is_valid_and_not_fragmented
      Src: /src/ndpi/src/lib/ndpi_main.c:7768,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:7769,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:7769,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:7781,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:7783,1
    - Dst: ndpi_handle_ipv6_extension_headers
      Src: /src/ndpi/src/lib/ndpi_main.c:7787,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 7
    argNames:
    - ndpi_str
    - l3
    - l3_len
    - l4_return
    - l4_len_return
    - l4_protocol_return
    - flags
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int8_t*
    - u_int16_t
    - u_int8_t**
    - u_int16_t*
    - u_int8_t*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7808
      start: 7734
    functionDepth: 1
    functionLinenumber: 7734
    functionLinenumberEnd: 7808
    functionName: ndpi_detection_get_l4_internal
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - iph_is_valid_and_not_fragmented
    - ndpi_min
    - NDPI_LOG_DBG2
    - ntohs
    - ndpi_handle_ipv6_extension_headers
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_detection_get_l4_internal(struct ndpi_detection_module_struct
      *ndpi_str, const u_int8_t *l3,\n                                               u_int16_t
      l3_len, const u_int8_t **l4_return, u_int16_t *l4_len_return,\n                                               u_int8_t
      *l4_protocol_return, u_int32_t flags)"
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7818,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7822,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7825,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7828,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7831,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7834,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7837,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7840,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7843,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7846,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7849,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7852,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7855,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7858,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7861,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7864,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7867,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7870,1
    - Dst: flow_is_proto
      Src: /src/ndpi/src/lib/ndpi_main.c:7872,1
    - Dst: flow_is_proto
      Src: /src/ndpi/src/lib/ndpi_main.c:7873,1
    - Dst: flow_is_proto
      Src: /src/ndpi/src/lib/ndpi_main.c:7874,1
    - Dst: flow_is_proto
      Src: /src/ndpi/src/lib/ndpi_main.c:7875,1
    - Dst: flow_is_proto
      Src: /src/ndpi/src/lib/ndpi_main.c:7876,1
    - Dst: flow_is_proto
      Src: /src/ndpi/src/lib/ndpi_main.c:7877,1
    - Dst: flow_is_proto
      Src: /src/ndpi/src/lib/ndpi_main.c:7878,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7880,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7883,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7886,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7889,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7892,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7895,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7898,1
    - Dst: flow_is_proto
      Src: /src/ndpi/src/lib/ndpi_main.c:7901,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7903,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7905,1
    - Dst: flow_is_proto
      Src: /src/ndpi/src/lib/ndpi_main.c:7908,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7910,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7913,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7916,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7919,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7922,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7925,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7928,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7931,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7934,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7937,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7940,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7943,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7946,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7949,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7952,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7955,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7958,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7961,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7964,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7967,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7971,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7973,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7977,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7979,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7983,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:7986,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 119
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7988
      start: 7812
    functionDepth: 1
    functionLinenumber: 7812
    functionLinenumberEnd: 7988
    functionName: ndpi_free_flow_data
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - flow_is_proto
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_free_flow_data(struct ndpi_flow_struct* flow)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_reset_packet_line_info
      Src: /src/ndpi/src/lib/ndpi_main.c:8026,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:8034,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:8037,1
    - Dst: ndpi_detection_get_l4_internal
      Src: /src/ndpi/src/lib/ndpi_main.c:8056,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8080,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8090,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:8109,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:8113,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:8133,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:8136,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:8142,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:8146,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:8156,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:8173,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:8213,1
    - Dst: ndpi_is_public_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:8238,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8238,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:8239,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:8245,1
    - Dst: ndpi_sha256
      Src: /src/ndpi/src/lib/ndpi_main.c:8250,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:8252,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:8260,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:8262,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:8269,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:8271,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_main.c:8281,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_main.c:8284,1
    - Dst: ndpi_get_os_from_tcp_fingerprint
      Src: /src/ndpi/src/lib/ndpi_main.c:8286,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 197
    argCount: 6
    argNames:
    - ndpi_str
    - flow
    - current_time_ms
    - packet_data
    - packetlen
    - input_info
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int64_t
    - unsigned char*
    - unsigned short
    - struct ndpi_flow_input_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8315
      start: 7992
    functionDepth: 2
    functionLinenumber: 7992
    functionLinenumberEnd: 8315
    functionName: ndpi_init_packet
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - ndpi_sha256
    - ntohl
    - ndpi_get_os_from_tcp_fingerprint
    - snprintf
    - ndpi_strdup
    - ndpi_is_public_ipv4
    - ndpi_detection_get_l4_internal
    - printf
    - ndpi_reset_packet_line_info
    - NDPI_LOG_DBG2
    - ntohs
    linkageType: ''
    returnType: int
    signature: "int ndpi_init_packet(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \   struct ndpi_flow_struct *flow,\n\t\t\t    const u_int64_t current_time_ms,\n\t\t\t
      \   const unsigned char *packet_data,\n\t\t\t    unsigned short packetlen,\n\t\t\t
      \   struct ndpi_flow_input_info *input_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8323,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8338
      start: 8319
    functionDepth: 0
    functionLinenumber: 8319
    functionLinenumberEnd: 8338
    functionName: ndpi_is_multi_or_broadcast
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_is_multi_or_broadcast(struct ndpi_flow_struct *flow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_seen_flow_beginning
      Src: /src/ndpi/src/lib/ndpi_main.c:8350,1
    - Dst: ndpi_popcount_init
      Src: /src/ndpi/src/lib/ndpi_main.c:8354,1
    - Dst: ndpi_popcount_count
      Src: /src/ndpi/src/lib/ndpi_main.c:8355,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:8362,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/ndpi_main.c:8365,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/ndpi_main.c:8375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8392
      start: 8342
    functionDepth: 1
    functionLinenumber: 8342
    functionLinenumberEnd: 8392
    functionName: fully_enc_heuristic
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_popcount_init
    - ndpi_seen_flow_beginning
    - ndpi_isprint
    - ndpi_min
    - ndpi_popcount_count
    linkageType: ''
    returnType: int
    signature: "int fully_enc_heuristic(struct ndpi_detection_module_struct *ndpi_str,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8400
      start: 8396
    functionDepth: 0
    functionLinenumber: 8396
    functionLinenumberEnd: 8400
    functionName: current_pkt_from_client_to_server
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int current_pkt_from_client_to_server(const struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t      const struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8408
      start: 8404
    functionDepth: 0
    functionLinenumber: 8404
    functionLinenumberEnd: 8408
    functionName: current_pkt_from_server_to_client
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int current_pkt_from_server_to_client(const struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t      const struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8427
      start: 8412
    functionDepth: 0
    functionLinenumber: 8412
    functionLinenumberEnd: 8427
    functionName: tcp_ack_padding
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tcp_ack_padding(struct ndpi_packet_struct *packet)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_main.c:8444,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/ndpi_main.c:8452,1
    - Dst: ndpi_isspace
      Src: /src/ndpi/src/lib/ndpi_main.c:8453,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8463,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8463,1
    - Dst: NDPI_COMPARE_IPV6_ADDRESS_STRUCTS
      Src: /src/ndpi/src/lib/ndpi_main.c:8467,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:8479,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:8481,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8485,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8485,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:8489,1
    - Dst: tcp_ack_padding
      Src: /src/ndpi/src/lib/ndpi_main.c:8515,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:8516,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8532,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8539,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8543,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8549,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8552,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8556,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_main.c:8569,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_main.c:8569,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8606,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8606,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8608,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8608,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/ndpi_main.c:8615,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:8620,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:8621,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:8631,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:8632,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/ndpi_main.c:8658,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 153
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8663
      start: 8431
    functionDepth: 1
    functionLinenumber: 8431
    functionLinenumberEnd: 8663
    functionName: connection_tracking
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - ntohl
    - ndpi_isspace
    - current_pkt_from_client_to_server
    - ndpi_malloc
    - ndpi_isprint
    - tcp_ack_padding
    - htons
    - NDPI_LOG_DBG2
    - ntohs
    - memcpy
    - NDPI_COMPARE_IPV6_ADDRESS_STRUCTS
    linkageType: ''
    returnType: void
    signature: "void connection_tracking(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t\tstruct
      ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dissector_bitmask_is_set
      Src: /src/ndpi/src/lib/ndpi_main.c:8691,1
    - Dst: func
      Src: /src/ndpi/src/lib/ndpi_main.c:8693,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - ndpi_str
    - flow
    - ndpi_selection_packet
    - detected_protocol
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - NDPI_SELECTION_BITMASK_PROTOCOL_SIZE
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8699
      start: 8667
    functionDepth: 1
    functionLinenumber: 8667
    functionLinenumberEnd: 8699
    functionName: check_ndpi_subprotocols
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - func
    - dissector_bitmask_is_set
    linkageType: ''
    returnType: u_int32_t
    signature: "u_int32_t check_ndpi_subprotocols(struct ndpi_detection_module_struct
      * const ndpi_str,\n                                         struct ndpi_flow_struct
      * const flow,\n                                         NDPI_SELECTION_BITMASK_PROTOCOL_SIZE
      const ndpi_selection_packet,\n                                         u_int16_t
      detected_protocol)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dissector_bitmask_is_set
      Src: /src/ndpi/src/lib/ndpi_main.c:8718,1
    - Dst: func
      Src: /src/ndpi/src/lib/ndpi_main.c:8723,1
    - Dst: dissector_bitmask_is_set
      Src: /src/ndpi/src/lib/ndpi_main.c:8738,1
    - Dst: func
      Src: /src/ndpi/src/lib/ndpi_main.c:8741,1
    - Dst: check_ndpi_subprotocols
      Src: /src/ndpi/src/lib/ndpi_main.c:8752,1
    - Dst: check_ndpi_subprotocols
      Src: /src/ndpi/src/lib/ndpi_main.c:8754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - ndpi_str
    - flow
    - ndpi_selection_packet
    - callback_buffer
    - callback_buffer_size
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - NDPI_SELECTION_BITMASK_PROTOCOL_SIZE
    - struct call_function_struct*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8758
      start: 8703
    functionDepth: 2
    functionLinenumber: 8703
    functionLinenumberEnd: 8758
    functionName: check_ndpi_detection_func
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - check_ndpi_subprotocols
    - func
    - dissector_bitmask_is_set
    linkageType: ''
    returnType: u_int32_t
    signature: "u_int32_t check_ndpi_detection_func(struct ndpi_detection_module_struct
      * const ndpi_str,\n\t\t\t\t\t   struct ndpi_flow_struct * const flow,\n\t\t\t\t\t
      \  NDPI_SELECTION_BITMASK_PROTOCOL_SIZE const ndpi_selection_packet,\n\t\t\t\t\t
      \  struct call_function_struct const * const callback_buffer,\n\t\t\t\t\t   uint32_t
      callback_buffer_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ndpi_detection_func
      Src: /src/ndpi/src/lib/ndpi_main.c:8766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - ndpi_selection_packet
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - NDPI_SELECTION_BITMASK_PROTOCOL_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8769
      start: 8762
    functionDepth: 3
    functionLinenumber: 8762
    functionLinenumberEnd: 8769
    functionName: check_ndpi_other_flow_func
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - check_ndpi_detection_func
    linkageType: ''
    returnType: u_int32_t
    signature: "u_int32_t check_ndpi_other_flow_func(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t     struct ndpi_flow_struct *flow,\n\t\t\t\t     NDPI_SELECTION_BITMASK_PROTOCOL_SIZE
      *ndpi_selection_packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ndpi_detection_func
      Src: /src/ndpi/src/lib/ndpi_main.c:8776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - ndpi_selection_packet
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - NDPI_SELECTION_BITMASK_PROTOCOL_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8779
      start: 8773
    functionDepth: 3
    functionLinenumber: 8773
    functionLinenumberEnd: 8779
    functionName: check_ndpi_udp_flow_func
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - check_ndpi_detection_func
    linkageType: ''
    returnType: u_int32_t
    signature: "u_int32_t check_ndpi_udp_flow_func(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t  struct ndpi_flow_struct *flow,\n\t\t\t\t\t  NDPI_SELECTION_BITMASK_PROTOCOL_SIZE
      *ndpi_selection_packet)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_ndpi_detection_func
      Src: /src/ndpi/src/lib/ndpi_main.c:8788,1
    - Dst: check_ndpi_detection_func
      Src: /src/ndpi/src/lib/ndpi_main.c:8793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - ndpi_selection_packet
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - NDPI_SELECTION_BITMASK_PROTOCOL_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8797
      start: 8783
    functionDepth: 3
    functionLinenumber: 8783
    functionLinenumberEnd: 8797
    functionName: check_ndpi_tcp_flow_func
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - check_ndpi_detection_func
    linkageType: ''
    returnType: u_int32_t
    signature: "u_int32_t check_ndpi_tcp_flow_func(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t  struct ndpi_flow_struct *flow,\n\t\t\t\t\t  NDPI_SELECTION_BITMASK_PROTOCOL_SIZE
      *ndpi_selection_packet)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_ndpi_tcp_flow_func
      Src: /src/ndpi/src/lib/ndpi_main.c:8805,1
    - Dst: check_ndpi_udp_flow_func
      Src: /src/ndpi/src/lib/ndpi_main.c:8807,1
    - Dst: check_ndpi_other_flow_func
      Src: /src/ndpi/src/lib/ndpi_main.c:8809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - ndpi_selection_packet
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - NDPI_SELECTION_BITMASK_PROTOCOL_SIZE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8810
      start: 8801
    functionDepth: 4
    functionLinenumber: 8801
    functionLinenumberEnd: 8810
    functionName: ndpi_check_flow_func
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - check_ndpi_udp_flow_func
    - check_ndpi_tcp_flow_func
    - check_ndpi_other_flow_func
    linkageType: ''
    returnType: u_int32_t
    signature: "u_int32_t ndpi_check_flow_func(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t      struct ndpi_flow_struct *flow,\n\t\t\t\t      NDPI_SELECTION_BITMASK_PROTOCOL_SIZE
      *ndpi_selection_packet)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_network_port_ptree_match
      Src: /src/ndpi/src/lib/ndpi_main.c:8825,1
    - Dst: ndpi_network_port_ptree_match
      Src: /src/ndpi/src/lib/ndpi_main.c:8829,1
    - Dst: ndpi_network_port_ptree6_match
      Src: /src/ndpi/src/lib/ndpi_main.c:8835,1
    - Dst: ndpi_network_port_ptree6_match
      Src: /src/ndpi/src/lib/ndpi_main.c:8839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8844
      start: 8814
    functionDepth: 2
    functionLinenumber: 8814
    functionLinenumberEnd: 8844
    functionName: ndpi_guess_host_protocol_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_network_port_ptree6_match
    - ndpi_network_port_ptree_match
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_guess_host_protocol_id(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t      struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/ndpi_main.c:8853,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8855,1
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/ndpi_main.c:8858,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:8860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - flow
    - use_client
    argTypes:
    - struct ndpi_flow_struct*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8864
      start: 8848
    functionDepth: 1
    functionLinenumber: 8848
    functionLinenumberEnd: 8864
    functionName: make_msteams_key
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ntohl
    - ndpi_quick_hash64
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t make_msteams_key(struct ndpi_flow_struct *flow, u_int8_t
      use_client)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8874,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8875,1
    - Dst: ndpi_int_change_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:8880,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:8887,1
    - Dst: make_msteams_key
      Src: /src/ndpi/src/lib/ndpi_main.c:8888,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/ndpi_main.c:8890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - master
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8894
      start: 8868
    functionDepth: 2
    functionLinenumber: 8868
    functionLinenumberEnd: 8894
    functionName: ndpi_reconcile_msteams_udp
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_get_current_time
    - make_msteams_key
    - ndpi_int_change_protocol
    - ndpi_lru_add_to_cache
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_reconcile_msteams_udp(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t       struct ndpi_flow_struct *flow,\n\t\t\t\t       u_int16_t
      master)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - flow
    - sport
    - dport
    argTypes:
    - struct ndpi_flow_struct*
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8921
      start: 8898
    functionDepth: 0
    functionLinenumber: 8898
    functionLinenumberEnd: 8921
    functionName: ndpi_reconcile_msteams_call_udp_port
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ndpi_reconcile_msteams_call_udp_port(struct ndpi_flow_struct *flow,\n\t\t\t\t\t\tu_int16_t
      sport, u_int16_t dport)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8928,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:8929,1
    - Dst: ndpi_reconcile_msteams_call_udp_port
      Src: /src/ndpi/src/lib/ndpi_main.c:8931,1
    - Dst: ndpi_reconcile_msteams_call_udp_port
      Src: /src/ndpi/src/lib/ndpi_main.c:8932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8935
      start: 8925
    functionDepth: 1
    functionLinenumber: 8925
    functionLinenumberEnd: 8935
    functionName: ndpi_reconcile_msteams_call_udp
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ntohs
    - ndpi_reconcile_msteams_call_udp_port
    linkageType: ''
    returnType: void
    signature: void ndpi_reconcile_msteams_call_udp(struct ndpi_flow_struct *flow)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_handle_risk_exceptions
      Src: /src/ndpi/src/lib/ndpi_main.c:8947,1
    - Dst: ndpi_reconcile_msteams_udp
      Src: /src/ndpi/src/lib/ndpi_main.c:8961,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:8973,1
    - Dst: make_msteams_key
      Src: /src/ndpi/src/lib/ndpi_main.c:8974,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/ndpi_main.c:8976,1
    - Dst: ndpi_reconcile_msteams_udp
      Src: /src/ndpi/src/lib/ndpi_main.c:8982,1
    - Dst: ndpi_lru_find_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:8996,1
    - Dst: make_msteams_key
      Src: /src/ndpi/src/lib/ndpi_main.c:8997,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/ndpi_main.c:8999,1
    - Dst: ndpi_int_change_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:9000,1
    - Dst: ndpi_int_change_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:9005,1
    - Dst: ndpi_reconcile_msteams_call_udp
      Src: /src/ndpi/src/lib/ndpi_main.c:9012,1
    - Dst: ndpi_int_change_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:9022,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9036,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9041,1
    - Dst: ndpi_get_proto_breed
      Src: /src/ndpi/src/lib/ndpi_main.c:9046,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9067,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 74
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9075
      start: 8939
    functionDepth: 3
    functionLinenumber: 8939
    functionLinenumberEnd: 9075
    functionName: ndpi_reconcile_protocols
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_lru_find_cache
    - ndpi_get_proto_breed
    - ndpi_get_current_time
    - ndpi_set_risk
    - make_msteams_key
    - ndpi_handle_risk_exceptions
    - ndpi_int_change_protocol
    - ndpi_lru_add_to_cache
    - ndpi_reconcile_msteams_udp
    - ndpi_reconcile_msteams_call_udp
    linkageType: ''
    returnType: void
    signature: "void ndpi_reconcile_protocols(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t     struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:9085,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:9086,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:9086,1
    - Dst: make_bittorrent_peers_key
      Src: /src/ndpi/src/lib/ndpi_main.c:9101,1
    - Dst: make_bittorrent_host_key
      Src: /src/ndpi/src/lib/ndpi_main.c:9102,1
    - Dst: make_bittorrent_host_key
      Src: /src/ndpi/src/lib/ndpi_main.c:9102,1
    - Dst: ndpi_lru_find_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:9105,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/ndpi_main.c:9105,1
    - Dst: ndpi_lru_find_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:9106,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/ndpi_main.c:9106,1
    - Dst: ndpi_lru_find_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:9107,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/ndpi_main.c:9107,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:9110,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:9112,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:9112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9120
      start: 9081
    functionDepth: 2
    functionLinenumber: 9081
    functionLinenumberEnd: 9120
    functionName: search_into_bittorrent_cache
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_lru_find_cache
    - ndpi_get_current_time
    - ntohs
    - make_bittorrent_host_key
    - printf
    - make_bittorrent_peers_key
    linkageType: ''
    returnType: int
    signature: "int search_into_bittorrent_cache(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9131,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9135,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9137,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9141
      start: 9124
    functionDepth: 1
    functionLinenumber: 9124
    functionLinenumberEnd: 9141
    functionName: check_tcp_flags
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    linkageType: ''
    returnType: void
    signature: void check_tcp_flags(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9162,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9171,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9177
      start: 9145
    functionDepth: 1
    functionLinenumber: 9145
    functionLinenumberEnd: 9177
    functionName: check_probing_attempt
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    linkageType: ''
    returnType: void
    signature: "void check_probing_attempt(struct ndpi_detection_module_struct *ndpi_str,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9197
      start: 9181
    functionDepth: 0
    functionLinenumber: 9181
    functionLinenumberEnd: 9197
    functionName: is_unidir_traffic_exception
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_unidir_traffic_exception(struct ndpi_flow_struct *flow)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - proto_id
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9221
      start: 9201
    functionDepth: 0
    functionLinenumber: 9201
    functionLinenumberEnd: 9221
    functionName: ndpi_is_cnd_cloud_provider
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ndpi_is_cnd_cloud_provider(u_int16_t proto_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/src/lib/ndpi_main.c:9231,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/src/lib/ndpi_main.c:9232,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/src/lib/ndpi_main.c:9235,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/src/lib/ndpi_main.c:9237,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/src/lib/ndpi_main.c:9241,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/src/lib/ndpi_main.c:9242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9247
      start: 9225
    functionDepth: 2
    functionLinenumber: 9225
    functionLinenumberEnd: 9247
    functionName: create_public_results
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_map_ndpi_id_to_user_proto_id
    linkageType: ''
    returnType: ndpi_protocol
    signature: "ndpi_protocol create_public_results(struct ndpi_detection_module_struct
      *ndpi_str,\n                                           const struct ndpi_flow_struct
      *flow)"
  - BBCount: 85
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:9255,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:9260,1
    - Dst: ndpi_is_multi_or_broadcast
      Src: /src/ndpi/src/lib/ndpi_main.c:9275,1
    - Dst: is_unidir_traffic_exception
      Src: /src/ndpi/src/lib/ndpi_main.c:9276,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9279,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9281,1
    - Dst: check_tcp_flags
      Src: /src/ndpi/src/lib/ndpi_main.c:9285,1
    - Dst: check_probing_attempt
      Src: /src/ndpi/src/lib/ndpi_main.c:9286,1
    - Dst: ndpi_compute_ndpi_flow_fingerprint
      Src: /src/ndpi/src/lib/ndpi_main.c:9291,1
    - Dst: ndpi_is_custom_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:9294,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9433,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:9438,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 139
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9444
      start: 9251
    functionDepth: 2
    functionLinenumber: 9251
    functionLinenumberEnd: 9444
    functionName: internal_giveup
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - ndpi_compute_ndpi_flow_fingerprint
    - is_unidir_traffic_exception
    - check_tcp_flags
    - ndpi_is_multi_or_broadcast
    - ndpi_is_custom_protocol
    - NDPI_LOG_DBG2
    - check_probing_attempt
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: void
    signature: "void internal_giveup(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: internal_giveup
      Src: /src/ndpi/src/lib/ndpi_main.c:9459,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:9465,1
    - Dst: search_into_bittorrent_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:9472,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:9473,1
    - Dst: ndpi_lru_find_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:9478,1
    - Dst: mining_make_lru_cache_key
      Src: /src/ndpi/src/lib/ndpi_main.c:9478,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/ndpi_main.c:9480,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:9481,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:9486,1
    - Dst: ookla_search_into_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:9486,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:9487,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9493,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:9503,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:9513,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:9521,1
    - Dst: fill_protocol_category_and_breed
      Src: /src/ndpi/src/lib/ndpi_main.c:9529,1
    - Dst: internal_giveup
      Src: /src/ndpi/src/lib/ndpi_main.c:9533,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9536
      start: 9448
    functionDepth: 3
    functionLinenumber: 9448
    functionLinenumberEnd: 9536
    functionName: ndpi_internal_detection_giveup
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_lru_find_cache
    - fill_protocol_category_and_breed
    - ndpi_get_current_time
    - mining_make_lru_cache_key
    - ndpi_set_risk
    - internal_giveup
    - ookla_search_into_cache
    - search_into_bittorrent_cache
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_internal_detection_giveup(struct ndpi_detection_module_struct
      *ndpi_str, struct ndpi_flow_struct *flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:9546,1
    - Dst: ndpi_internal_detection_giveup
      Src: /src/ndpi/src/lib/ndpi_main.c:9550,1
    - Dst: create_public_results
      Src: /src/ndpi/src/lib/ndpi_main.c:9552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9553
      start: 9540
    functionDepth: 4
    functionLinenumber: 9540
    functionLinenumberEnd: 9553
    functionName: ndpi_detection_giveup
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - memset
    - ndpi_internal_detection_giveup
    - create_public_results
    linkageType: ''
    returnType: ndpi_protocol
    signature: ndpi_protocol ndpi_detection_giveup(struct ndpi_detection_module_struct
      *ndpi_str, struct ndpi_flow_struct *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct ndpi_flow_struct*::extra_packets_func
      Src: /src/ndpi/src/lib/ndpi_main.c:9563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9568
      start: 9557
    functionDepth: 0
    functionLinenumber: 9557
    functionLinenumberEnd: 9568
    functionName: process_extra_packet
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - struct ndpi_flow_struct*::extra_packets_func
    linkageType: ''
    returnType: void
    signature: "void process_extra_packet(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \        struct ndpi_flow_struct *flow)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_main.c:9587,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:9590,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:9594,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:9594,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_main.c:9595,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:9597,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:9604,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:9605,1
    - Dst: add_to_ptree
      Src: /src/ndpi/src/lib/ndpi_main.c:9609,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:9613,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:9614,1
    - Dst: add_to_ptree
      Src: /src/ndpi/src/lib/ndpi_main.c:9617,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - ndpi_str
    - ip_address_and_mask
    - category
    - user_data
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - ndpi_protocol_category_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9629
      start: 9572
    functionDepth: 2
    functionLinenumber: 9572
    functionLinenumberEnd: 9629
    functionName: ndpi_load_ip_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strrchr
    - inet_pton
    - atoi
    - strncpy
    - NDPI_LOG_DBG2
    - add_to_ptree
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_ip_category(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \ const char *ip_address_and_mask,\n\t\t\t  ndpi_protocol_category_t category,\n\t\t\t
      \ void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_domain_classify_add
      Src: /src/ndpi/src/lib/ndpi_main.c:9640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ndpi_str
    - name_to_add
    - category
    - breed
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - ndpi_protocol_category_t
    - ndpi_protocol_breed_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9643
      start: 9633
    functionDepth: 2
    functionLinenumber: 9633
    functionLinenumberEnd: 9643
    functionName: ndpi_load_hostname_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_domain_classify_add
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_hostname_category(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\tconst char *name_to_add,\n\t\t\t\tndpi_protocol_category_t
      category,\n\t\t\t\tndpi_protocol_breed_t breed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_load_ip_category
      Src: /src/ndpi/src/lib/ndpi_main.c:9655,1
    - Dst: ndpi_load_hostname_category
      Src: /src/ndpi/src/lib/ndpi_main.c:9665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ndpi_struct
    - ip_or_name
    - category
    - breed
    - user_data
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - ndpi_protocol_category_t
    - ndpi_protocol_breed_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9669
      start: 9648
    functionDepth: 3
    functionLinenumber: 9648
    functionLinenumberEnd: 9669
    functionName: ndpi_load_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 2
    functionsReached:
    - ndpi_load_hostname_category
    - ndpi_load_ip_category
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_category(struct ndpi_detection_module_struct *ndpi_struct,
      const char *ip_or_name,\n\t\t       ndpi_protocol_category_t category,\n\t\t
      \      ndpi_protocol_breed_t breed,\n\t\t       void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_load_category
      Src: /src/ndpi/src/lib/ndpi_main.c:9682,1
    - Dst: ndpi_domain_classify_free
      Src: /src/ndpi/src/lib/ndpi_main.c:9687,1
    - Dst: ndpi_domain_classify_alloc
      Src: /src/ndpi/src/lib/ndpi_main.c:9689,1
    - Dst: ndpi_patricia_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:9692,1
    - Dst: ndpi_patricia_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:9695,1
    - Dst: ndpi_patricia_new
      Src: /src/ndpi/src/lib/ndpi_main.c:9698,1
    - Dst: ndpi_patricia_new
      Src: /src/ndpi/src/lib/ndpi_main.c:9701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9706
      start: 9673
    functionDepth: 4
    functionLinenumber: 9673
    functionLinenumberEnd: 9706
    functionName: ndpi_enable_loaded_categories
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 3
    functionsReached:
    - ndpi_load_category
    - ndpi_patricia_new
    - ndpi_domain_classify_alloc
    - ndpi_domain_classify_free
    - ndpi_patricia_destroy
    linkageType: ''
    returnType: int
    signature: int ndpi_enable_loaded_categories(struct ndpi_detection_module_struct
      *ndpi_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/src/lib/ndpi_main.c:9720,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:9722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_str
    - saddr
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9726
      start: 9711
    functionDepth: 1
    functionLinenumber: 9711
    functionLinenumberEnd: 9726
    functionName: ndpi_find_ipv4_category_userdata
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_fill_prefix_v4
    linkageType: ''
    returnType: void
    signature: "void * ndpi_find_ipv4_category_userdata(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t       u_int32_t saddr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/src/lib/ndpi_main.c:9739,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:9741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_str
    - saddr
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9745
      start: 9730
    functionDepth: 1
    functionLinenumber: 9730
    functionLinenumberEnd: 9745
    functionName: ndpi_find_ipv6_category_userdata
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_fill_prefix_v6
    linkageType: ''
    returnType: void
    signature: "void * ndpi_find_ipv6_category_userdata(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t       struct in6_addr *saddr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/src/lib/ndpi_main.c:9769,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:9771,1
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/src/lib/ndpi_main.c:9776,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:9778,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9790,1
    - Dst: ndpi_get_proto_category
      Src: /src/ndpi/src/lib/ndpi_main.c:9797,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - ndpi_str
    - flow
    - saddr
    - daddr
    - ret
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int32_t
    - u_int32_t
    - ndpi_protocol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9800
      start: 9751
    functionDepth: 1
    functionLinenumber: 9751
    functionLinenumberEnd: 9800
    functionName: ndpi_fill_ip_protocol_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_set_risk
    - ndpi_fill_prefix_v4
    - ndpi_get_proto_category
    linkageType: ''
    returnType: int
    signature: "int ndpi_fill_ip_protocol_category(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t   struct ndpi_flow_struct *flow,\n\t\t\t\t   u_int32_t
      saddr, u_int32_t daddr,\n\t\t\t\t   ndpi_protocol *ret)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/src/lib/ndpi_main.c:9818,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:9820,1
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/src/lib/ndpi_main.c:9823,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:9825,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9836,1
    - Dst: ndpi_get_proto_category
      Src: /src/ndpi/src/lib/ndpi_main.c:9843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - ndpi_str
    - flow
    - saddr
    - daddr
    - ret
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - struct in6_addr*
    - struct in6_addr*
    - ndpi_protocol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9846
      start: 9804
    functionDepth: 1
    functionLinenumber: 9804
    functionLinenumberEnd: 9846
    functionName: ndpi_fill_ipv6_protocol_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_get_proto_category
    - ndpi_set_risk
    - ndpi_fill_prefix_v6
    linkageType: ''
    returnType: int
    signature: "int ndpi_fill_ipv6_protocol_category(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t     struct ndpi_flow_struct *flow,\n\t\t\t\t     struct
      in6_addr *saddr, struct in6_addr *daddr,\n\t\t\t\t     ndpi_protocol *ret)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_proto_breed
      Src: /src/ndpi/src/lib/ndpi_main.c:9864,1
    - Dst: ndpi_match_custom_category
      Src: /src/ndpi/src/lib/ndpi_main.c:9871,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:9872,1
    - Dst: ndpi_get_proto_category
      Src: /src/ndpi/src/lib/ndpi_main.c:9881,1
    - Dst: get_proto_breed
      Src: /src/ndpi/src/lib/ndpi_main.c:9882,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9883
      start: 9850
    functionDepth: 5
    functionLinenumber: 9850
    functionLinenumberEnd: 9883
    functionName: fill_protocol_category_and_breed
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_get_proto_category
    - ndpi_match_custom_category
    - get_proto_breed
    - strlen
    linkageType: ''
    returnType: void
    signature: void fill_protocol_category_and_breed(struct ndpi_detection_module_struct
      *ndpi_str, struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9919
      start: 9887
    functionDepth: 0
    functionLinenumber: 9887
    functionLinenumberEnd: 9919
    functionName: ndpi_reset_packet_line_info
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_reset_packet_line_info(struct ndpi_packet_struct *packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - proto
    argTypes:
    - ndpi_master_app_protocol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9928
      start: 9923
    functionDepth: 0
    functionLinenumber: 9923
    functionLinenumberEnd: 9928
    functionName: is_ntop_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ntop_protocol(const ndpi_master_app_protocol *proto)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:9936,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/ndpi_main.c:9946,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9947,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9948
      start: 9932
    functionDepth: 1
    functionLinenumber: 9932
    functionLinenumberEnd: 9948
    functionName: ndpi_search_shellscript
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_set_risk
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_shellscript(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:9960,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:9965,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/ndpi_main.c:9965,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/ndpi_main.c:9968,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/ndpi_main.c:9968,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/ndpi_main.c:9971,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9973
      start: 9953
    functionDepth: 1
    functionLinenumber: 9953
    functionLinenumberEnd: 9973
    functionName: ndpi_search_elf
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - le32toh
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_elf(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:9984,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:9989,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/ndpi_main.c:9989,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/ndpi_main.c:9992,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/ndpi_main.c:9992,1
    - Dst: be32toh
      Src: /src/ndpi/src/lib/ndpi_main.c:9994,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/ndpi_main.c:9994,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/ndpi_main.c:9997,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:9998,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9999
      start: 9978
    functionDepth: 1
    functionLinenumber: 9978
    functionLinenumberEnd: 9999
    functionName: ndpi_search_portable_executable
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - NDPI_LOG_INFO
    - get_u_int16_t
    - NDPI_LOG_DBG
    - get_u_int32_t
    - le32toh
    - ntohs
    - be32toh
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_portable_executable(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                            struct ndpi_flow_struct
      *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_ntop_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:10011,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - expected_proto
    - returned_proto
    argTypes:
    - default_ports_tree_node_t*
    - ndpi_master_app_protocol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10024
      start: 10003
    functionDepth: 1
    functionLinenumber: 10003
    functionLinenumberEnd: 10024
    functionName: check_protocol_port_mismatch_exceptions
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - is_ntop_protocol
    linkageType: ''
    returnType: int
    signature: "int check_protocol_port_mismatch_exceptions(default_ports_tree_node_t
      *expected_proto,\n\t\t\t\t\t\t   const ndpi_master_app_protocol *returned_proto)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: guess_protocol_id
      Src: /src/ndpi/src/lib/ndpi_main.c:10038,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10039,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10039,1
    - Dst: ndpi_guess_host_protocol_id
      Src: /src/ndpi/src/lib/ndpi_main.c:10041,1
    - Dst: ndpi_fill_ip_protocol_category
      Src: /src/ndpi/src/lib/ndpi_main.c:10046,1
    - Dst: ndpi_fill_ipv6_protocol_category
      Src: /src/ndpi/src/lib/ndpi_main.c:10048,1
    - Dst: ndpi_is_custom_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:10056,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:10058,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:10066,1
    - Dst: ndpi_is_custom_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:10072,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:10074,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10082
      start: 10028
    functionDepth: 3
    functionLinenumber: 10028
    functionLinenumberEnd: 10082
    functionName: do_guess
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_guess_host_protocol_id
    - guess_protocol_id
    - ndpi_fill_ip_protocol_category
    - ndpi_is_custom_protocol
    - ntohs
    - ndpi_fill_ipv6_protocol_category
    linkageType: ''
    returnType: int
    signature: int do_guess(struct ndpi_detection_module_struct *ndpi_str, struct
      ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:10091,1
    - Dst: ndpi_fpc_confidence_get_name
      Src: /src/ndpi/src/lib/ndpi_main.c:10093,1
    - Dst: ndpi_fpc_confidence_get_name
      Src: /src/ndpi/src/lib/ndpi_main.c:10095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ndpi_str
    - flow
    - fpc_master
    - fpc_app
    - fpc_confidence
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    - u_int16_t
    - ndpi_fpc_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10099
      start: 10086
    functionDepth: 1
    functionLinenumber: 10086
    functionLinenumberEnd: 10099
    functionName: fpc_update
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_fpc_confidence_get_name
    - NDPI_LOG_DBG
    linkageType: ''
    returnType: void
    signature: "void fpc_update(struct ndpi_detection_module_struct *ndpi_str,\n                       struct
      ndpi_flow_struct *flow,\n\t\t       u_int16_t fpc_master, u_int16_t fpc_app,\n\t\t
      \      ndpi_fpc_confidence_t fpc_confidence)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fpc_update
      Src: /src/ndpi/src/lib/ndpi_main.c:10115,1
    - Dst: fpc_update
      Src: /src/ndpi/src/lib/ndpi_main.c:10122,1
    - Dst: ndpi_lru_find_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:10129,1
    - Dst: fpc_dns_cache_key_from_flow
      Src: /src/ndpi/src/lib/ndpi_main.c:10129,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/ndpi_main.c:10131,1
    - Dst: fpc_update
      Src: /src/ndpi/src/lib/ndpi_main.c:10132,1
    - Dst: fpc_update
      Src: /src/ndpi/src/lib/ndpi_main.c:10139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10143
      start: 10103
    functionDepth: 2
    functionLinenumber: 10103
    functionLinenumberEnd: 10143
    functionName: fpc_check_eval
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_lru_find_cache
    - fpc_update
    - fpc_dns_cache_key_from_flow
    - ndpi_get_current_time
    linkageType: ''
    returnType: void
    signature: "void fpc_check_eval(struct ndpi_detection_module_struct *ndpi_str,\n
      \                          struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:10155,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:10162,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:10166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - default_ports
    - str
    - str_len
    argTypes:
    - ndpi_port_range*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10181
      start: 10147
    functionDepth: 0
    functionLinenumber: 10147
    functionLinenumberEnd: 10181
    functionName: ndpi_expected_ports_str
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * ndpi_expected_ports_str(ndpi_port_range *default_ports, char
      *str, u_int str_len)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: is_flowrisk_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:10193,1
    - Dst: ndpi_get_guessed_protocol_id
      Src: /src/ndpi/src/lib/ndpi_main.c:10207,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10208,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10209,1
    - Dst: ndpi_get_guessed_protocol_id
      Src: /src/ndpi/src/lib/ndpi_main.c:10212,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10213,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10214,1
    - Dst: check_protocol_port_mismatch_exceptions
      Src: /src/ndpi/src/lib/ndpi_main.c:10226,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10235,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10236,1
    - Dst: ndpi_get_guessed_protocol_id
      Src: /src/ndpi/src/lib/ndpi_main.c:10243,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10244,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10244,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:10258,1
    - Dst: ndpi_expected_ports_str
      Src: /src/ndpi/src/lib/ndpi_main.c:10259,1
    - Dst: is_ntop_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:10264,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10269,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10270,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10271,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10272,1
    - Dst: ndpi_get_guessed_protocol_id
      Src: /src/ndpi/src/lib/ndpi_main.c:10289,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10290,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:10290,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:10315,1
    - Dst: ndpi_expected_ports_str
      Src: /src/ndpi/src/lib/ndpi_main.c:10316,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 69
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10322
      start: 10185
    functionDepth: 2
    functionLinenumber: 10185
    functionLinenumberEnd: 10322
    functionName: check_proto_on_non_std_port_risk
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_expected_ports_str
    - ndpi_set_risk
    - is_flowrisk_enabled
    - ndpi_get_guessed_protocol_id
    - is_ntop_protocol
    - check_protocol_port_mismatch_exceptions
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void check_proto_on_non_std_port_risk(struct ndpi_detection_module_struct
      *ndpi_str,\n                                             struct ndpi_flow_struct
      *flow)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:10339,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:10346,1
    - Dst: ndpi_init_packet
      Src: /src/ndpi/src/lib/ndpi_main.c:10348,1
    - Dst: connection_tracking
      Src: /src/ndpi/src/lib/ndpi_main.c:10351,1
    - Dst: ndpi_internal_detection_giveup
      Src: /src/ndpi/src/lib/ndpi_main.c:10362,1
    - Dst: process_extra_packet
      Src: /src/ndpi/src/lib/ndpi_main.c:10370,1
    - Dst: internal_giveup
      Src: /src/ndpi/src/lib/ndpi_main.c:10374,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:10390,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:10395,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:10396,1
    - Dst: nbpf_match
      Src: /src/ndpi/src/lib/ndpi_main.c:10412,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:10414,1
    - Dst: fill_protocol_category_and_breed
      Src: /src/ndpi/src/lib/ndpi_main.c:10417,1
    - Dst: internal_giveup
      Src: /src/ndpi/src/lib/ndpi_main.c:10419,1
    - Dst: do_guess
      Src: /src/ndpi/src/lib/ndpi_main.c:10453,1
    - Dst: fill_protocol_category_and_breed
      Src: /src/ndpi/src/lib/ndpi_main.c:10455,1
    - Dst: fpc_check_eval
      Src: /src/ndpi/src/lib/ndpi_main.c:10457,1
    - Dst: internal_giveup
      Src: /src/ndpi/src/lib/ndpi_main.c:10460,1
    - Dst: ndpi_check_flow_func
      Src: /src/ndpi/src/lib/ndpi_main.c:10466,1
    - Dst: fill_protocol_category_and_breed
      Src: /src/ndpi/src/lib/ndpi_main.c:10473,1
    - Dst: get_proto_breed
      Src: /src/ndpi/src/lib/ndpi_main.c:10479,1
    - Dst: check_proto_on_non_std_port_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:10484,1
    - Dst: ndpi_is_public_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:10497,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:10497,1
    - Dst: ndpi_is_public_ipv4
      Src: /src/ndpi/src/lib/ndpi_main.c:10498,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_main.c:10498,1
    - Dst: ndpi_network_risk_ptree_match
      Src: /src/ndpi/src/lib/ndpi_main.c:10502,1
    - Dst: ndpi_network_risk_ptree_match6
      Src: /src/ndpi/src/lib/ndpi_main.c:10508,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:10512,1
    - Dst: fully_enc_heuristic
      Src: /src/ndpi/src/lib/ndpi_main.c:10522,1
    - Dst: ndpi_search_portable_executable
      Src: /src/ndpi/src/lib/ndpi_main.c:10528,1
    - Dst: ndpi_search_elf
      Src: /src/ndpi/src/lib/ndpi_main.c:10529,1
    - Dst: ndpi_search_shellscript
      Src: /src/ndpi/src/lib/ndpi_main.c:10530,1
    - Dst: ndpi_stack_is_tls_like
      Src: /src/ndpi/src/lib/ndpi_main.c:10541,1
    - Dst: ndpi_entropy
      Src: /src/ndpi/src/lib/ndpi_main.c:10544,1
    - Dst: ndpi_entropy2risk
      Src: /src/ndpi/src/lib/ndpi_main.c:10547,1
    - Dst: fpc_check_eval
      Src: /src/ndpi/src/lib/ndpi_main.c:10552,1
    - Dst: internal_giveup
      Src: /src/ndpi/src/lib/ndpi_main.c:10558,1
    - Dst: ndpi_internal_detection_giveup
      Src: /src/ndpi/src/lib/ndpi_main.c:10568,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 128
    argCount: 6
    argNames:
    - ndpi_str
    - flow
    - packet_data
    - packetlen
    - current_time_ms
    - input_info
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - unsigned char*
    - unsigned short
    - u_int64_t
    - struct ndpi_flow_input_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10570
      start: 10326
    functionDepth: 6
    functionLinenumber: 10326
    functionLinenumberEnd: 10570
    functionName: ndpi_internal_detection_process_packet
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - fill_protocol_category_and_breed
    - ntohl
    - NDPI_LOG_DBG
    - process_extra_packet
    - ndpi_is_public_ipv4
    - connection_tracking
    - ndpi_entropy
    - ndpi_set_risk
    - fully_enc_heuristic
    - nbpf_match
    - get_proto_breed
    - ndpi_search_elf
    - ndpi_stack_is_tls_like
    - ndpi_init_packet
    - ndpi_set_detected_protocol
    - ndpi_internal_detection_giveup
    - check_proto_on_non_std_port_risk
    - ndpi_entropy2risk
    - memset
    - do_guess
    - internal_giveup
    - ndpi_network_risk_ptree_match6
    - ndpi_search_shellscript
    - fpc_check_eval
    - ndpi_check_flow_func
    - ndpi_search_portable_executable
    - ndpi_network_risk_ptree_match
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_internal_detection_process_packet(struct ndpi_detection_module_struct
      *ndpi_str,\n                                                   struct ndpi_flow_struct
      *flow,\n                                                   const unsigned char
      *packet_data,\n                                                   const unsigned
      short packetlen,\n                                                   const u_int64_t
      current_time_ms,\n                                                   struct
      ndpi_flow_input_info *input_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:10581,1
    - Dst: ndpi_internal_detection_process_packet
      Src: /src/ndpi/src/lib/ndpi_main.c:10585,1
    - Dst: create_public_results
      Src: /src/ndpi/src/lib/ndpi_main.c:10589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - ndpi_str
    - flow
    - packet_data
    - packetlen
    - current_time_ms
    - input_info
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - unsigned char*
    - unsigned short
    - u_int64_t
    - struct ndpi_flow_input_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10590
      start: 10574
    functionDepth: 7
    functionLinenumber: 10574
    functionLinenumberEnd: 10590
    functionName: ndpi_detection_process_packet
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - memset
    - ndpi_internal_detection_process_packet
    - create_public_results
    linkageType: ''
    returnType: ndpi_protocol
    signature: "ndpi_protocol ndpi_detection_process_packet(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t    struct ndpi_flow_struct *flow, const unsigned char
      *packet_data,\n\t\t\t\t\t    const unsigned short packetlen, const u_int64_t
      current_time_ms,\n\t\t\t\t\t    struct ndpi_flow_input_info *input_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - str
    - max_chars_to_read
    - bytes_read
    argTypes:
    - u_int8_t*
    - u_int16_t
    - u_int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10608
      start: 10594
    functionDepth: 0
    functionLinenumber: 10594
    functionLinenumberEnd: 10608
    functionName: ndpi_bytestream_to_number
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_bytestream_to_number(const u_int8_t *str, u_int16_t
      max_chars_to_read, u_int16_t *bytes_read)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - str
    - max_chars_to_read
    - bytes_read
    argTypes:
    - u_int8_t*
    - u_int16_t
    - u_int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10624
      start: 10612
    functionDepth: 0
    functionLinenumber: 10612
    functionLinenumberEnd: 10624
    functionName: ndpi_bytestream_to_number64
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_bytestream_to_number64(const u_int8_t *str, u_int16_t
      max_chars_to_read, u_int16_t *bytes_read)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bytestream_to_number64
      Src: /src/ndpi/src/lib/ndpi_main.c:10633,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - str
    - max_chars_to_read
    - bytes_read
    argTypes:
    - u_int8_t*
    - u_int16_t
    - u_int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10658
      start: 10628
    functionDepth: 1
    functionLinenumber: 10628
    functionLinenumberEnd: 10658
    functionName: ndpi_bytestream_dec_or_hex_to_number64
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_bytestream_to_number64
    linkageType: ''
    returnType: u_int64_t
    signature: "u_int64_t ndpi_bytestream_dec_or_hex_to_number64(const u_int8_t *str,
      u_int16_t max_chars_to_read,\n\t\t\t\t\t\t u_int16_t *bytes_read)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bytestream_to_number
      Src: /src/ndpi/src/lib/ndpi_main.c:10670,1
    - Dst: ndpi_bytestream_to_number
      Src: /src/ndpi/src/lib/ndpi_main.c:10677,1
    - Dst: ndpi_bytestream_to_number
      Src: /src/ndpi/src/lib/ndpi_main.c:10684,1
    - Dst: ndpi_bytestream_to_number
      Src: /src/ndpi/src/lib/ndpi_main.c:10691,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/ndpi_main.c:10699,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - str
    - max_chars_to_read
    - bytes_read
    argTypes:
    - u_int8_t*
    - u_int16_t
    - u_int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10700
      start: 10662
    functionDepth: 1
    functionLinenumber: 10662
    functionLinenumberEnd: 10700
    functionName: ndpi_bytestream_to_ipv4
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - htonl
    - ndpi_bytestream_to_number
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_bytestream_to_ipv4(const u_int8_t *str, u_int16_t max_chars_to_read,
      u_int16_t *bytes_read)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/ndpi_main.c:10762,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/ndpi_main.c:10763,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/ndpi_main.c:10763,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/ndpi_main.c:10764,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/ndpi_main.c:10765,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/ndpi_main.c:10766,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/ndpi_main.c:10767,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/ndpi_main.c:10775,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:10833,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/ndpi_main.c:10835,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/ndpi_main.c:10864,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 90
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10870
      start: 10709
    functionDepth: 1
    functionLinenumber: 10709
    functionLinenumberEnd: 10870
    functionName: parse_single_packet_line
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - memchr
    - NDPI_STATICSTRING_LEN
    - strlen
    linkageType: ''
    returnType: void
    signature: void parse_single_packet_line(struct ndpi_detection_module_struct *ndpi_str)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_reset_packet_line_info
      Src: /src/ndpi/src/lib/ndpi_main.c:10886,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:10907,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:10908,1
    - Dst: parse_single_packet_line
      Src: /src/ndpi/src/lib/ndpi_main.c:10916,1
    - Dst: parse_single_packet_line
      Src: /src/ndpi/src/lib/ndpi_main.c:10939,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10942
      start: 10875
    functionDepth: 2
    functionLinenumber: 10875
    functionLinenumberEnd: 10942
    functionName: ndpi_parse_packet_line_info
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - ndpi_reset_packet_line_info
    - parse_single_packet_line
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ndpi_parse_packet_line_info(struct ndpi_detection_module_struct
      *ndpi_str, struct ndpi_flow_struct *flow)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10983
      start: 10946
    functionDepth: 0
    functionLinenumber: 10946
    functionLinenumberEnd: 10983
    functionName: ndpi_parse_packet_line_info_any
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_parse_packet_line_info_any(struct ndpi_detection_module_struct
      *ndpi_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_get_l4_internal
      Src: /src/ndpi/src/lib/ndpi_main.c:10989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - l3
    - l3_len
    - l4_return
    - l4_len_return
    - l4_protocol_return
    - flags
    argTypes:
    - u_int8_t*
    - u_int16_t
    - u_int8_t**
    - u_int16_t*
    - u_int8_t*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10990
      start: 10987
    functionDepth: 2
    functionLinenumber: 10987
    functionLinenumberEnd: 10990
    functionName: ndpi_detection_get_l4
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_detection_get_l4_internal
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_detection_get_l4(const u_int8_t *l3, u_int16_t l3_len,
      const u_int8_t **l4_return,\n\t\t\t       u_int16_t *l4_len_return, u_int8_t
      *l4_protocol_return, u_int32_t flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:11003,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:11005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ndpi_str
    - flow
    - detected_protocol
    - confidence
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11006
      start: 10994
    functionDepth: 1
    functionLinenumber: 10994
    functionLinenumberEnd: 11006
    functionName: ndpi_set_detected_protocol_keeping_master
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_set_detected_protocol_keeping_master(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t       struct ndpi_flow_struct *flow,\n\t\t\t\t\t       u_int16_t
      detected_protocol,\n\t\t\t\t\t       ndpi_confidence_t confidence)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:11015,1
    - Dst: ndpi_int_change_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:11021,1
    - Dst: ndpi_reconcile_protocols
      Src: /src/ndpi/src/lib/ndpi_main.c:11022,1
    - Dst: proto_stack_update
      Src: /src/ndpi/src/lib/ndpi_main.c:11024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - ndpi_str
    - flow
    - upper_detected_protocol
    - lower_detected_protocol
    - confidence
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    - u_int16_t
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11027
      start: 11010
    functionDepth: 4
    functionLinenumber: 11010
    functionLinenumberEnd: 11027
    functionName: ndpi_set_detected_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 4
    functionsReached:
    - ndpi_int_change_protocol
    - proto_stack_update
    - ndpi_reconcile_protocols
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: void
    signature: "void ndpi_set_detected_protocol(struct ndpi_detection_module_struct
      *ndpi_str, struct ndpi_flow_struct *flow,\n\t\t\t\tu_int16_t upper_detected_protocol,
      u_int16_t lower_detected_protocol,\n\t\t\t\tndpi_confidence_t confidence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11035
      start: 11031
    functionDepth: 0
    functionLinenumber: 11031
    functionLinenumberEnd: 11035
    functionName: reset_detected_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_detected_protocol(struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11041
      start: 11039
    functionDepth: 0
    functionLinenumber: 11039
    functionLinenumberEnd: 11041
    functionName: ndpi_get_flow_masterprotocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_get_flow_masterprotocol(struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11047
      start: 11045
    functionDepth: 0
    functionLinenumber: 11045
    functionLinenumberEnd: 11047
    functionName: ndpi_get_flow_appprotocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_get_flow_appprotocol(struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11054
      start: 11051
    functionDepth: 0
    functionLinenumber: 11051
    functionLinenumberEnd: 11054
    functionName: ndpi_get_flow_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ndpi_protocol_category_t
    signature: ndpi_protocol_category_t ndpi_get_flow_category(struct ndpi_flow_struct
      *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_flow_masterprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:11061,1
    - Dst: ndpi_get_flow_appprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:11062,1
    - Dst: ndpi_get_flow_category
      Src: /src/ndpi/src/lib/ndpi_main.c:11063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - flow
    - ndpi_proto
    argTypes:
    - struct ndpi_flow_struct*
    - struct ndpi_proto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11064
      start: 11058
    functionDepth: 1
    functionLinenumber: 11058
    functionLinenumberEnd: 11064
    functionName: ndpi_get_flow_ndpi_proto
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_get_flow_masterprotocol
    - ndpi_get_flow_category
    - ndpi_get_flow_appprotocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_get_flow_ndpi_proto(struct ndpi_flow_struct *flow,\n\t\t\t
      \     struct ndpi_proto * ndpi_proto)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/ndpi_main.c:11074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - proto
    argTypes:
    - struct ndpi_proto_stack*
    - u_int16_t
    assertStmts:
    - condition: (proto != NDPI_PROTOCOL_UNKNOWN)
      pos:
        line_end: 11073
        line_start: 11073
        source_file: /src/ndpi/src/lib/ndpi_main.c
    constantsTouched: []
    func_position:
      end: 11082
      start: 11071
    functionDepth: 0
    functionLinenumber: 11071
    functionLinenumberEnd: 11082
    functionName: proto_stack_push
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void proto_stack_push(struct ndpi_proto_stack *s, u_int16_t proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:11091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_proto_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11096
      start: 11086
    functionDepth: 1
    functionLinenumber: 11086
    functionLinenumberEnd: 11096
    functionName: proto_stack_reset
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void proto_stack_reset(struct ndpi_proto_stack *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:11103,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:11141,1
    - Dst: proto_stack_push
      Src: /src/ndpi/src/lib/ndpi_main.c:11148,1
    - Dst: proto_stack_push
      Src: /src/ndpi/src/lib/ndpi_main.c:11151,1
    - Dst: proto_stack_push
      Src: /src/ndpi/src/lib/ndpi_main.c:11152,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:11156,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - s
    - lower_proto
    - upper_proto
    argTypes:
    - struct ndpi_proto_stack*
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11160
      start: 11100
    functionDepth: 1
    functionLinenumber: 11100
    functionLinenumberEnd: 11160
    functionName: proto_stack_update
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - printf
    - proto_stack_push
    linkageType: ''
    returnType: void
    signature: void proto_stack_update(struct ndpi_proto_stack *s, u_int16_t lower_proto,
      u_int16_t upper_proto)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_proto_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11179
      start: 11164
    functionDepth: 0
    functionLinenumber: 11164
    functionLinenumberEnd: 11179
    functionName: ndpi_stack_get_upper_proto
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_stack_get_upper_proto(struct ndpi_proto_stack *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_proto_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11209
      start: 11183
    functionDepth: 0
    functionLinenumber: 11183
    functionLinenumberEnd: 11209
    functionName: ndpi_stack_get_lower_proto
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_stack_get_lower_proto(struct ndpi_proto_stack *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - proto_id
    argTypes:
    - struct ndpi_proto_stack*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11223
      start: 11213
    functionDepth: 0
    functionLinenumber: 11213
    functionLinenumberEnd: 11223
    functionName: ndpi_stack_contains
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ndpi_stack_contains(struct ndpi_proto_stack *s, u_int16_t proto_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_proto_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11243
      start: 11227
    functionDepth: 0
    functionLinenumber: 11227
    functionLinenumberEnd: 11243
    functionName: ndpi_stack_is_tls_like
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ndpi_stack_is_tls_like(struct ndpi_proto_stack *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_proto_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11259
      start: 11247
    functionDepth: 0
    functionLinenumber: 11247
    functionLinenumberEnd: 11259
    functionName: ndpi_stack_is_http_like
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ndpi_stack_is_http_like(struct ndpi_proto_stack *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - flow
    - upper_detected_protocol
    - lower_detected_protocol
    - confidence
    argTypes:
    - struct ndpi_flow_struct*
    - u_int16_t
    - u_int16_t
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11270
      start: 11263
    functionDepth: 0
    functionLinenumber: 11263
    functionLinenumberEnd: 11270
    functionName: ndpi_int_change_flow_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_change_flow_protocol(struct ndpi_flow_struct *flow,\n\t\t\t\t\t
      \ u_int16_t upper_detected_protocol, u_int16_t lower_detected_protocol,\n\t\t\t\t\t
      \ ndpi_confidence_t confidence)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_int_change_flow_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:11288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - flow
    - upper_detected_protocol
    - lower_detected_protocol
    - confidence
    argTypes:
    - struct ndpi_flow_struct*
    - u_int16_t
    - u_int16_t
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11289
      start: 11279
    functionDepth: 1
    functionLinenumber: 11279
    functionLinenumberEnd: 11289
    functionName: ndpi_int_change_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 3
    functionsReached:
    - ndpi_int_change_flow_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_change_protocol(struct ndpi_flow_struct *flow,\n\t\t\t\t
      \    u_int16_t upper_detected_protocol, u_int16_t lower_detected_protocol,\n\t\t\t\t
      \    ndpi_confidence_t confidence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - flow
    - protocol_category
    argTypes:
    - struct ndpi_flow_struct*
    - ndpi_protocol_category_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11296
      start: 11293
    functionDepth: 0
    functionLinenumber: 11293
    functionLinenumberEnd: 11296
    functionName: change_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void change_category(struct ndpi_flow_struct *flow,\n\t\t     ndpi_protocol_category_t
      protocol_category)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - ndpi_ip_addr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11303
      start: 11300
    functionDepth: 0
    functionLinenumber: 11300
    functionLinenumberEnd: 11303
    functionName: ndpi_is_ipv6
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_is_ipv6(const ndpi_ip_addr_t *ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:11310,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_main.c:11313,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ip
    - buf
    - buf_len
    argTypes:
    - ndpi_ip_addr_t*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11322
      start: 11307
    functionDepth: 1
    functionLinenumber: 11307
    functionLinenumberEnd: 11322
    functionName: ndpi_get_ip_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_is_ipv6
    - ndpi_snprintf
    - inet_ntop
    linkageType: ''
    returnType: char
    signature: char *ndpi_get_ip_string(const ndpi_ip_addr_t *ip, char *buf, u_int
      buf_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:11329,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:11331,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:11332,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_main.c:11335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ip_str
    - parsed_ip
    argTypes:
    - char*
    - ndpi_ip_addr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11340
      start: 11327
    functionDepth: 0
    functionLinenumber: 11327
    functionLinenumberEnd: 11340
    functionName: ndpi_parse_ip_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - memset
    - strchr
    - inet_pton
    linkageType: ''
    returnType: int
    signature: int ndpi_parse_ip_string(const char *ip_str, ndpi_ip_addr_t *parsed_ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bytestream_to_number
      Src: /src/ndpi/src/lib/ndpi_main.c:11346,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_main.c:11347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - max_chars_to_read
    - bytes_read
    argTypes:
    - u_int8_t*
    - u_int16_t
    - u_int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11348
      start: 11344
    functionDepth: 1
    functionLinenumber: 11344
    functionLinenumberEnd: 11348
    functionName: ntohs_ndpi_bytestream_to_number
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ntohs
    - ndpi_bytestream_to_number
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ntohs_ndpi_bytestream_to_number(const u_int8_t *str,\n\t\t\t\t\t
      \ u_int16_t max_chars_to_read, u_int16_t *bytes_read)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - proto
    - p
    argTypes:
    - ndpi_master_app_protocol
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11354
      start: 11352
    functionDepth: 0
    functionLinenumber: 11352
    functionLinenumberEnd: 11354
    functionName: ndpi_is_proto
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ndpi_is_proto(ndpi_master_app_protocol proto, u_int16_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - proto
    argTypes:
    - ndpi_master_app_protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11361
      start: 11358
    functionDepth: 0
    functionLinenumber: 11358
    functionLinenumberEnd: 11361
    functionName: ndpi_is_proto_unknown
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ndpi_is_proto_unknown(ndpi_master_app_protocol proto)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:11369,1
    - Dst: ndpi_is_proto
      Src: /src/ndpi/src/lib/ndpi_main.c:11372,1
    - Dst: ndpi_is_proto
      Src: /src/ndpi/src/lib/ndpi_main.c:11377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - to_check
    - to_match
    - exact_match_only
    argTypes:
    - ndpi_master_app_protocol
    - ndpi_master_app_protocol
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11383
      start: 11365
    functionDepth: 1
    functionLinenumber: 11365
    functionLinenumberEnd: 11383
    functionName: ndpi_is_proto_equals
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ndpi_is_proto
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_is_proto_equals(ndpi_master_app_protocol to_check,\n\t\t\t
      \ ndpi_master_app_protocol to_match, bool exact_match_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - proto
    argTypes:
    - ndpi_master_app_protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11389
      start: 11387
    functionDepth: 0
    functionLinenumber: 11387
    functionLinenumberEnd: 11389
    functionName: ndpi_get_lower_proto
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_get_lower_proto(ndpi_master_app_protocol proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - proto
    argTypes:
    - ndpi_master_app_protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11395
      start: 11393
    functionDepth: 0
    functionLinenumber: 11393
    functionLinenumberEnd: 11395
    functionName: ndpi_get_upper_proto
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_get_upper_proto(ndpi_master_app_protocol proto)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:11404,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:11410,1
    - Dst: search_into_bittorrent_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:11426,1
    - Dst: guess_protocol_id
      Src: /src/ndpi/src/lib/ndpi_main.c:11431,1
    - Dst: ndpi_get_proto_category
      Src: /src/ndpi/src/lib/ndpi_main.c:11434,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_main.c:11437,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11441
      start: 11399
    functionDepth: 3
    functionLinenumber: 11399
    functionLinenumberEnd: 11441
    functionName: ndpi_internal_guess_undetected_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - guess_protocol_id
    - search_into_bittorrent_cache
    - printf
    - memset
    - ndpi_get_proto_category
    linkageType: ''
    returnType: ndpi_protocol
    signature: "ndpi_protocol ndpi_internal_guess_undetected_protocol(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t\t\t     struct ndpi_flow_struct *flow, u_int8_t proto)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:11455,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/ndpi_main.c:11466,1
    - Dst: ndpi_network_port_ptree_match
      Src: /src/ndpi/src/lib/ndpi_main.c:11467,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_main.c:11467,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/ndpi_main.c:11470,1
    - Dst: ndpi_network_port_ptree_match
      Src: /src/ndpi/src/lib/ndpi_main.c:11471,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_main.c:11471,1
    - Dst: ndpi_search_tcp_or_udp_raw
      Src: /src/ndpi/src/lib/ndpi_main.c:11475,1
    - Dst: guess_protocol_id
      Src: /src/ndpi/src/lib/ndpi_main.c:11483,1
    - Dst: guess_protocol_id
      Src: /src/ndpi/src/lib/ndpi_main.c:11488,1
    - Dst: ndpi_get_proto_category
      Src: /src/ndpi/src/lib/ndpi_main.c:11493,1
    - Dst: ndpi_guess_undetected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:11498,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 7
    argNames:
    - ndpi_str
    - flow
    - proto
    - shost
    - sport
    - dhost
    - dport
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t
    - u_int32_t
    - u_int16_t
    - u_int32_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11499
      start: 11447
    functionDepth: 3
    functionLinenumber: 11447
    functionLinenumberEnd: 11499
    functionName: ndpi_guess_undetected_protocol_v4
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_search_tcp_or_udp_raw
    - ndpi_guess_undetected_protocol
    - ndpi_network_port_ptree_match
    - guess_protocol_id
    - htons
    - htonl
    - ndpi_get_proto_category
    - memset
    linkageType: ''
    returnType: ndpi_protocol
    signature: "ndpi_protocol ndpi_guess_undetected_protocol_v4(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t\tstruct ndpi_flow_struct *flow, u_int8_t proto,\n\t\t\t\t\t\tu_int32_t
      shost /* host byte order */, u_int16_t sport,\n\t\t\t\t\t\tu_int32_t dhost /*
      host byte order */, u_int16_t dport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_internal_guess_undetected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:11505,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/src/lib/ndpi_main.c:11507,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/src/lib/ndpi_main.c:11508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11511
      start: 11503
    functionDepth: 4
    functionLinenumber: 11503
    functionLinenumberEnd: 11511
    functionName: ndpi_guess_undetected_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_internal_guess_undetected_protocol
    - ndpi_map_ndpi_id_to_user_proto_id
    linkageType: ''
    returnType: ndpi_protocol
    signature: "ndpi_protocol ndpi_guess_undetected_protocol(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t     struct ndpi_flow_struct *flow, u_int8_t proto)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11518,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11520,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - proto
    - buf
    - buf_len
    argTypes:
    - ndpi_master_app_protocol
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11525
      start: 11515
    functionDepth: 1
    functionLinenumber: 11515
    functionLinenumberEnd: 11525
    functionName: ndpi_protocol2id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    linkageType: ''
    returnType: char
    signature: char *ndpi_protocol2id(ndpi_master_app_protocol proto, char *buf, u_int
      buf_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11533,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/src/lib/ndpi_main.c:11533,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/src/lib/ndpi_main.c:11534,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11536,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/src/lib/ndpi_main.c:11536,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11538,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/src/lib/ndpi_main.c:11538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ndpi_str
    - proto
    - buf
    - buf_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_master_app_protocol
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11541
      start: 11529
    functionDepth: 1
    functionLinenumber: 11529
    functionLinenumberEnd: 11541
    functionName: ndpi_protocol2name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_get_proto_name
    - ndpi_snprintf
    linkageType: ''
    returnType: char
    signature: "char *ndpi_protocol2name(struct ndpi_detection_module_struct *ndpi_str,\n
      \                        ndpi_master_app_protocol proto, char *buf, u_int buf_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - category
    argTypes:
    - ndpi_protocol_category_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11557
      start: 11545
    functionDepth: 0
    functionLinenumber: 11545
    functionLinenumberEnd: 11557
    functionName: ndpi_is_custom_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ndpi_is_custom_category(ndpi_protocol_category_t category)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11569,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11573,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11577,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11581,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11585,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ndpi_str
    - category
    - name
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_protocol_category_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11591
      start: 11561
    functionDepth: 1
    functionLinenumber: 11561
    functionLinenumberEnd: 11591
    functionName: ndpi_category_set_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    linkageType: ''
    returnType: void
    signature: "void ndpi_category_set_name(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \   ndpi_protocol_category_t category,\n\t\t\t    char *name)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - confidence
    argTypes:
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11631
      start: 11595
    functionDepth: 0
    functionLinenumber: 11595
    functionLinenumberEnd: 11631
    functionName: ndpi_confidence_get_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ndpi_confidence_get_name(ndpi_confidence_t confidence)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - fpc_confidence
    argTypes:
    - ndpi_fpc_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11656
      start: 11635
    functionDepth: 0
    functionLinenumber: 11635
    functionLinenumberEnd: 11656
    functionName: ndpi_fpc_confidence_get_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ndpi_fpc_confidence_get_name(ndpi_fpc_confidence_t fpc_confidence)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11666,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ndpi_str
    - category
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_protocol_category_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11687
      start: 11660
    functionDepth: 1
    functionLinenumber: 11660
    functionLinenumberEnd: 11687
    functionName: ndpi_category_get_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    linkageType: ''
    returnType: char
    signature: "char *ndpi_category_get_name(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t\t
      \  ndpi_protocol_category_t category)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - proto
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11705
      start: 11691
    functionDepth: 0
    functionLinenumber: 11691
    functionLinenumberEnd: 11705
    functionName: category_or_breed_depends_on_master
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int category_or_breed_depends_on_master(int proto)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_map_user_proto_id_to_ndpi_id
      Src: /src/ndpi/src/lib/ndpi_main.c:11716,1
    - Dst: ndpi_map_user_proto_id_to_ndpi_id
      Src: /src/ndpi/src/lib/ndpi_main.c:11717,1
    - Dst: category_or_breed_depends_on_master
      Src: /src/ndpi/src/lib/ndpi_main.c:11722,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:11723,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:11727,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:11729,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_str
    - proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11733
      start: 11709
    functionDepth: 2
    functionLinenumber: 11709
    functionLinenumberEnd: 11733
    functionName: ndpi_get_proto_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 5
    functionsReached:
    - ndpi_map_user_proto_id_to_ndpi_id
    - ndpi_is_valid_protoId
    - category_or_breed_depends_on_master
    linkageType: ''
    returnType: ndpi_protocol_category_t
    signature: "ndpi_protocol_category_t ndpi_get_proto_category(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t\t ndpi_protocol proto)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: category_or_breed_depends_on_master
      Src: /src/ndpi/src/lib/ndpi_main.c:11742,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:11743,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:11747,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:11749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_str
    - proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_master_app_protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11753
      start: 11737
    functionDepth: 1
    functionLinenumber: 11737
    functionLinenumberEnd: 11753
    functionName: get_proto_category
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 5
    functionsReached:
    - ndpi_is_valid_protoId
    - category_or_breed_depends_on_master
    linkageType: ''
    returnType: ndpi_protocol_category_t
    signature: "ndpi_protocol_category_t get_proto_category(struct ndpi_detection_module_struct
      *ndpi_str,\n                                            ndpi_master_app_protocol
      proto)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_map_user_proto_id_to_ndpi_id
      Src: /src/ndpi/src/lib/ndpi_main.c:11761,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:11763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_str
    - proto_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11768
      start: 11757
    functionDepth: 2
    functionLinenumber: 11757
    functionLinenumberEnd: 11768
    functionName: ndpi_get_proto_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_map_user_proto_id_to_ndpi_id
    - ndpi_is_valid_protoId
    linkageType: ''
    returnType: char
    signature: "char *ndpi_get_proto_name(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \ u_int16_t proto_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_map_user_proto_id_to_ndpi_id
      Src: /src/ndpi/src/lib/ndpi_main.c:11777,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:11779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_str
    - proto_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11784
      start: 11772
    functionDepth: 2
    functionLinenumber: 11772
    functionLinenumberEnd: 11784
    functionName: ndpi_get_proto_breed
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_map_user_proto_id_to_ndpi_id
    - ndpi_is_valid_protoId
    linkageType: ''
    returnType: ndpi_protocol_breed_t
    signature: "ndpi_protocol_breed_t ndpi_get_proto_breed(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t   u_int16_t proto_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: category_or_breed_depends_on_master
      Src: /src/ndpi/src/lib/ndpi_main.c:11793,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:11794,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:11798,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_main.c:11800,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_str
    - proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_master_app_protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11804
      start: 11788
    functionDepth: 1
    functionLinenumber: 11788
    functionLinenumberEnd: 11804
    functionName: get_proto_breed
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 3
    functionsReached:
    - ndpi_is_valid_protoId
    - category_or_breed_depends_on_master
    linkageType: ''
    returnType: ndpi_protocol_breed_t
    signature: "ndpi_protocol_breed_t get_proto_breed(struct ndpi_detection_module_struct
      *ndpi_str,\n                                      ndpi_master_app_protocol proto)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - breed_id
    argTypes:
    - ndpi_protocol_breed_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11829
      start: 11808
    functionDepth: 0
    functionLinenumber: 11808
    functionLinenumberEnd: 11829
    functionName: ndpi_get_proto_breed_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ndpi_get_proto_breed_name(ndpi_protocol_breed_t breed_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:11841,1
    - Dst: ndpi_get_proto_breed_name
      Src: /src/ndpi/src/lib/ndpi_main.c:11844,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:11846,1
    - Dst: strcasecmp
      Src: /src/ndpi/src/lib/ndpi_main.c:11847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11853
      start: 11831
    functionDepth: 1
    functionLinenumber: 11831
    functionLinenumberEnd: 11853
    functionName: ndpi_get_breed_by_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - tolower
    - strcasecmp
    - ndpi_get_proto_breed_name
    linkageType: ''
    returnType: ndpi_protocol_breed_t
    signature: ndpi_protocol_breed_t ndpi_get_breed_by_name(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_proto_by_name
      Src: /src/ndpi/src/lib/ndpi_main.c:11860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_str
    - proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11861
      start: 11859
    functionDepth: 3
    functionLinenumber: 11859
    functionLinenumberEnd: 11861
    functionName: ndpi_get_protocol_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_get_proto_by_name
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_get_protocol_id(struct ndpi_detection_module_struct
      *ndpi_str, char *proto)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:11876,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/src/lib/ndpi_main.c:11879,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:11880,1
    - Dst: strcasecmp
      Src: /src/ndpi/src/lib/ndpi_main.c:11881,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_str
    - cat
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11887
      start: 11866
    functionDepth: 2
    functionLinenumber: 11866
    functionLinenumberEnd: 11887
    functionName: ndpi_get_category_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_category_get_name
    - tolower
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int ndpi_get_category_id(struct ndpi_detection_module_struct *ndpi_str,
      char *cat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11903,1
    - Dst: sprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11905,1
    - Dst: strcat
      Src: /src/ndpi/src/lib/ndpi_main.c:11906,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:11911,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ports_str
    - default_ports
    argTypes:
    - char*
    - ndpi_port_range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11914
      start: 11891
    functionDepth: 0
    functionLinenumber: 11891
    functionLinenumberEnd: 11914
    functionName: default_ports_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - sprintf
    - strlen
    - strcat
    linkageType: ''
    returnType: char
    signature: char *default_ports_string(char *ports_str, ndpi_port_range *default_ports)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/src/lib/ndpi_main.c:11923,1
    - Dst: ndpi_get_num_protocols
      Src: /src/ndpi/src/lib/ndpi_main.c:11925,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11929,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/src/lib/ndpi_main.c:11930,1
    - Dst: ndpi_get_l4_proto_name
      Src: /src/ndpi/src/lib/ndpi_main.c:11932,1
    - Dst: ndpi_get_l4_proto_info
      Src: /src/ndpi/src/lib/ndpi_main.c:11932,1
    - Dst: ndpi_get_proto_breed_name
      Src: /src/ndpi/src/lib/ndpi_main.c:11934,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/src/lib/ndpi_main.c:11935,1
    - Dst: default_ports_string
      Src: /src/ndpi/src/lib/ndpi_main.c:11936,1
    - Dst: default_ports_string
      Src: /src/ndpi/src/lib/ndpi_main.c:11937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_str
    - dump_out
    argTypes:
    - struct ndpi_detection_module_struct*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11942
      start: 11918
    functionDepth: 6
    functionLinenumber: 11918
    functionLinenumberEnd: 11942
    functionName: ndpi_dump_protocols
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_get_num_protocols
    - default_ports_string
    - ndpi_map_ndpi_id_to_user_proto_id
    - ndpi_get_l4_proto_info
    - ndpi_category_get_name
    - fprintf
    - ndpi_get_l4_proto_name
    - ndpi_finalize_initialization
    - ndpi_get_proto_breed_name
    linkageType: ''
    returnType: void
    signature: void ndpi_dump_protocols(struct ndpi_detection_module_struct *ndpi_str,
      FILE *dump_out)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/src/lib/ndpi_main.c:11953,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/src/lib/ndpi_main.c:11956,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/src/lib/ndpi_main.c:11957,1
    - Dst: ndpi_get_num_protocols
      Src: /src/ndpi/src/lib/ndpi_main.c:11964,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11965,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/src/lib/ndpi_main.c:11974,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11977,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11989,1
    - Dst: ndpi_risk2str
      Src: /src/ndpi/src/lib/ndpi_main.c:11990,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:11996,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/src/lib/ndpi_main.c:12000,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - opt
    - options_out
    argTypes:
    - u_int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12001
      start: 11948
    functionDepth: 6
    functionLinenumber: 11948
    functionLinenumberEnd: 12001
    functionName: ndpi_generate_options
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_init_detection_module
    - ndpi_get_num_protocols
    - ndpi_exit_detection_module
    - ndpi_category_get_name
    - ndpi_risk2str
    - fprintf
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: void
    signature: void ndpi_generate_options(u_int opt, FILE *options_out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:12011,1
    - Dst: ndpi_risk2severity
      Src: /src/ndpi/src/lib/ndpi_main.c:12017,1
    - Dst: ndpi_risk2score
      Src: /src/ndpi/src/lib/ndpi_main.c:12020,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:12022,1
    - Dst: ndpi_risk2code
      Src: /src/ndpi/src/lib/ndpi_main.c:12023,1
    - Dst: ndpi_risk2str
      Src: /src/ndpi/src/lib/ndpi_main.c:12023,1
    - Dst: ndpi_severity2str
      Src: /src/ndpi/src/lib/ndpi_main.c:12024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - risk_out
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12028
      start: 12005
    functionDepth: 1
    functionLinenumber: 12005
    functionLinenumberEnd: 12028
    functionName: ndpi_dump_risks_score
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_risk2severity
    - ndpi_risk2score
    - ndpi_severity2str
    - ndpi_risk2code
    - ndpi_risk2str
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ndpi_dump_risks_score(FILE *risk_out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_memmem
      Src: /src/ndpi/src/lib/ndpi_main.c:12038,1
    - Dst: strnlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12038,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - haystack
    - needle
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12039
      start: 12032
    functionDepth: 1
    functionLinenumber: 12032
    functionLinenumberEnd: 12039
    functionName: ndpi_strnstr
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_memmem
    - strlen
    - strnlen
    linkageType: ''
    returnType: char
    signature: char *ndpi_strnstr(const char *haystack, const char *needle, size_t
      len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12053,1
    - Dst: strnlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12059,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:12069,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:12072,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/ndpi_main.c:12073,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - s
    - find
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12080
      start: 12047
    functionDepth: 0
    functionLinenumber: 12047
    functionLinenumberEnd: 12080
    functionName: ndpi_strncasestr
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - tolower
    - strnlen
    - strlen
    linkageType: ''
    returnType: char
    signature: char * ndpi_strncasestr(const char *s, const char *find, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:12086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - payload
    - payload_len
    - str
    - str_len
    argTypes:
    - u_int8_t*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12089
      start: 12084
    functionDepth: 0
    functionLinenumber: 12084
    functionLinenumberEnd: 12089
    functionName: ndpi_match_prefix
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ndpi_match_prefix(const u_int8_t *payload,\n\t\t      size_t payload_len,
      const char *str, size_t str_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_match_string_common
      Src: /src/ndpi/src/lib/ndpi_main.c:12103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - ndpi_str
    - string_to_match
    - string_to_match_len
    - ret_match
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int
    - ndpi_protocol_match_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12107
      start: 12093
    functionDepth: 2
    functionLinenumber: 12093
    functionLinenumberEnd: 12107
    functionName: ndpi_match_string_subprotocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_match_string_common
    linkageType: ''
    returnType: int
    signature: "int ndpi_match_string_subprotocol(struct ndpi_detection_module_struct
      *ndpi_str, char *string_to_match,\n\t\t\t\t  u_int string_to_match_len, ndpi_protocol_match_result
      *ret_match)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_match_string_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:12118,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:12126,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_main.c:12128,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12131,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:12142,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_main.c:12144,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - ndpi_str
    - string_to_match
    - string_to_match_len
    - ret_match
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int
    - ndpi_protocol_match_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12155
      start: 12111
    functionDepth: 3
    functionLinenumber: 12111
    functionLinenumberEnd: 12155
    functionName: ndpi_automa_match_string_subprotocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_match_string_subprotocol
    - NDPI_LOG_DBG2
    - strncpy
    - ndpi_min
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_automa_match_string_subprotocol(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t\t      char *string_to_match,\n\t\t\t\t\t\t      u_int
      string_to_match_len,\n\t\t\t\t\t\t      ndpi_protocol_match_result *ret_match)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:12166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - subprotocol_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12169
      start: 12159
    functionDepth: 1
    functionLinenumber: 12159
    functionLinenumberEnd: 12169
    functionName: ndpi_check_subprotocol_risk
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_subprotocol_risk(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t struct ndpi_flow_struct *flow, u_int16_t subprotocol_id)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:12186,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12188,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_main.c:12189,1
    - Dst: ndpi_automa_match_string_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:12192,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/src/lib/ndpi_main.c:12193,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12194,1
    - Dst: ndpi_automa_match_string_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:12197,1
    - Dst: ndpi_get_custom_category_match
      Src: /src/ndpi/src/lib/ndpi_main.c:12203,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_main.c:12211,1
    - Dst: ookla_add_to_cache
      Src: /src/ndpi/src/lib/ndpi_main.c:12214,1
    - Dst: category_or_breed_depends_on_master
      Src: /src/ndpi/src/lib/ndpi_main.c:12217,1
    - Dst: ndpi_match_string_common
      Src: /src/ndpi/src/lib/ndpi_main.c:12225,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:12229,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:12231,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:12233,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:12235,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:12237,1
    - Dst: ndpi_check_punycode_string
      Src: /src/ndpi/src/lib/ndpi_main.c:12243,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/ndpi_main.c:12244,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:12246,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:12248,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:12250,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:12252,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 7
    argNames:
    - ndpi_str
    - flow
    - _string_to_match
    - _string_to_match_len
    - ret_match
    - master_protocol_id
    - update_flow_classification
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    - u_int
    - ndpi_protocol_match_result*
    - u_int16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12257
      start: 12173
    functionDepth: 6
    functionLinenumber: 12173
    functionLinenumberEnd: 12257
    functionName: ndpi_match_host_subprotocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - memcpy
    - ndpi_set_risk
    - strlen
    - ndpi_automa_match_string_subprotocol
    - is_flowrisk_info_enabled
    - snprintf
    - category_or_breed_depends_on_master
    - ndpi_check_punycode_string
    - ndpi_get_host_domain
    - ndpi_get_custom_category_match
    - ndpi_min
    - memset
    - ndpi_match_string_common
    - ookla_add_to_cache
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_match_host_subprotocol(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t      struct ndpi_flow_struct *flow,\n\t\t\t\t      char
      *_string_to_match, u_int _string_to_match_len,\n\t\t\t\t      ndpi_protocol_match_result
      *ret_match,\n\t\t\t\t      u_int16_t master_protocol_id,\n\t\t\t\t      int
      update_flow_classification)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_match_host_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:12275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - ndpi_struct
    - flow
    - master_protocol
    - name
    - name_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12282
      start: 12261
    functionDepth: 7
    functionLinenumber: 12261
    functionLinenumberEnd: 12282
    functionName: ndpi_match_hostname_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_match_host_subprotocol
    linkageType: ''
    returnType: int
    signature: "int ndpi_match_hostname_protocol(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t struct ndpi_flow_struct *flow,\n\t\t\t\t u_int16_t master_protocol,
      char *name, u_int name_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - map
    - l
    - str
    argTypes:
    - unsigned int*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12297
      start: 12286
    functionDepth: 0
    functionLinenumber: 12286
    functionLinenumberEnd: 12297
    functionName: ndpi_match_xgram
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_match_xgram(unsigned int *map,unsigned int l,const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_match_xgram
      Src: /src/ndpi/src/lib/ndpi_main.c:12300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12301
      start: 12299
    functionDepth: 1
    functionLinenumber: 12299
    functionLinenumberEnd: 12301
    functionName: ndpi_match_bigram
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_match_xgram
    linkageType: ''
    returnType: int
    signature: int ndpi_match_bigram(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_match_xgram
      Src: /src/ndpi/src/lib/ndpi_main.c:12304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12305
      start: 12303
    functionDepth: 1
    functionLinenumber: 12303
    functionLinenumberEnd: 12305
    functionName: ndpi_match_impossible_bigram
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_match_xgram
    linkageType: ''
    returnType: int
    signature: int ndpi_match_impossible_bigram(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_match_xgram
      Src: /src/ndpi/src/lib/ndpi_main.c:12310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12311
      start: 12309
    functionDepth: 1
    functionLinenumber: 12309
    functionLinenumberEnd: 12311
    functionName: ndpi_match_trigram
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_match_xgram
    linkageType: ''
    returnType: int
    signature: int ndpi_match_trigram(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free_flow_data
      Src: /src/ndpi/src/lib/ndpi_main.c:12317,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:12318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12320
      start: 12315
    functionDepth: 2
    functionLinenumber: 12315
    functionLinenumberEnd: 12320
    functionName: ndpi_free_flow
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_free_flow_data
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_free_flow(struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12326
      start: 12324
    functionDepth: 0
    functionLinenumber: 12324
    functionLinenumberEnd: 12326
    functionName: ndpi_revision
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ndpi_revision()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12332
      start: 12330
    functionDepth: 0
    functionLinenumber: 12330
    functionLinenumberEnd: 12332
    functionName: ndpi_get_api_version
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_get_api_version()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_check_version
      Src: /src/ndpi/src/lib/ndpi_main.c:12335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12336
      start: 12334
    functionDepth: 1
    functionLinenumber: 12334
    functionLinenumberEnd: 12336
    functionName: ndpi_get_gcrypt_version
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - gcry_check_version
    linkageType: ''
    returnType: char
    signature: char *ndpi_get_gcrypt_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12340
      start: 12338
    functionDepth: 0
    functionLinenumber: 12338
    functionLinenumberEnd: 12340
    functionName: ndpi_get_proto_defaults
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ndpi_proto_defaults_t
    signature: ndpi_proto_defaults_t *ndpi_get_proto_defaults(struct ndpi_detection_module_struct
      *ndpi_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12344
      start: 12342
    functionDepth: 0
    functionLinenumber: 12342
    functionLinenumberEnd: 12344
    functionName: ndpi_get_ndpi_detection_module_size
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int
    signature: u_int ndpi_get_ndpi_detection_module_size()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12353
      start: 12348
    functionDepth: 0
    functionLinenumber: 12348
    functionLinenumberEnd: 12353
    functionName: ndpi_get_current_time
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_get_current_time(struct ndpi_flow_struct *flow)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - proto
    argTypes:
    - ndpi_l4_proto_info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12373
      start: 12357
    functionDepth: 0
    functionLinenumber: 12357
    functionLinenumberEnd: 12373
    functionName: ndpi_get_l4_proto_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ndpi_get_l4_proto_name(ndpi_l4_proto_info proto)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_num_protocols
      Src: /src/ndpi/src/lib/ndpi_main.c:12379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - ndpi_proto_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12392
      start: 12377
    functionDepth: 1
    functionLinenumber: 12377
    functionLinenumberEnd: 12392
    functionName: ndpi_get_l4_proto_info
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_get_num_protocols
    linkageType: ''
    returnType: ndpi_l4_proto_info
    signature: "ndpi_l4_proto_info ndpi_get_l4_proto_info(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t  u_int16_t ndpi_proto_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_main.c:12397,1
    - Dst: ndpi_patricia_new
      Src: /src/ndpi/src/lib/ndpi_main.c:12400,1
    - Dst: ndpi_patricia_new
      Src: /src/ndpi/src/lib/ndpi_main.c:12401,1
    - Dst: ndpi_ptree_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:12404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12410
      start: 12396
    functionDepth: 1
    functionLinenumber: 12396
    functionLinenumberEnd: 12410
    functionName: ndpi_ptree_create
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 2
    functionsReached:
    - ndpi_patricia_new
    - ndpi_ptree_destroy
    - ndpi_malloc
    linkageType: ''
    returnType: ndpi_ptree_t
    signature: ndpi_ptree_t *ndpi_ptree_create(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_patricia_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:12417,1
    - Dst: ndpi_patricia_destroy
      Src: /src/ndpi/src/lib/ndpi_main.c:12420,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_main.c:12422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tree
    argTypes:
    - ndpi_ptree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12424
      start: 12414
    functionDepth: 1
    functionLinenumber: 12414
    functionLinenumberEnd: 12424
    functionName: ndpi_ptree_destroy
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 2
    functionsReached:
    - ndpi_patricia_destroy
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_ptree_destroy(ndpi_ptree_t *tree)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:12430,1
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/src/lib/ndpi_main.c:12444,1
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/src/lib/ndpi_main.c:12446,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:12449,1
    - Dst: ndpi_patricia_lookup
      Src: /src/ndpi/src/lib/ndpi_main.c:12454,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - tree
    - addr
    - bits
    - user_data
    argTypes:
    - ndpi_ptree_t*
    - ndpi_ip_addr_t*
    - u_int8_t
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12463
      start: 12428
    functionDepth: 1
    functionLinenumber: 12428
    functionLinenumberEnd: 12463
    functionName: ndpi_ptree_insert
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_is_ipv6
    - ndpi_patricia_lookup
    - ndpi_fill_prefix_v6
    - ndpi_patricia_search_best
    - ndpi_fill_prefix_v4
    linkageType: ''
    returnType: int
    signature: "int ndpi_ptree_insert(ndpi_ptree_t *tree, const ndpi_ip_addr_t *addr,\n\t\t
      \     u_int8_t bits, u_int64_t user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_ipv6
      Src: /src/ndpi/src/lib/ndpi_main.c:12469,1
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/src/lib/ndpi_main.c:12482,1
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/src/lib/ndpi_main.c:12485,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_main.c:12488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - tree
    - addr
    - user_data
    argTypes:
    - ndpi_ptree_t*
    - ndpi_ip_addr_t*
    - u_int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12497
      start: 12467
    functionDepth: 1
    functionLinenumber: 12467
    functionLinenumberEnd: 12497
    functionName: ndpi_ptree_match_addr
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_is_ipv6
    - ndpi_fill_prefix_v4
    - ndpi_fill_prefix_v6
    linkageType: ''
    returnType: int
    signature: "int ndpi_ptree_match_addr(ndpi_ptree_t *tree,\n\t\t\t  const ndpi_ip_addr_t
      *addr, u_int64_t *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_MD5Init
      Src: /src/ndpi/src/lib/ndpi_main.c:12504,1
    - Dst: ndpi_MD5Update
      Src: /src/ndpi/src/lib/ndpi_main.c:12505,1
    - Dst: ndpi_MD5Final
      Src: /src/ndpi/src/lib/ndpi_main.c:12506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - data_len
    - hash
    argTypes:
    - u_char*
    - size_t
    - u_char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12507
      start: 12501
    functionDepth: 1
    functionLinenumber: 12501
    functionLinenumberEnd: 12507
    functionName: ndpi_md5
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_MD5Init
    - ndpi_MD5Update
    - ndpi_MD5Final
    linkageType: ''
    returnType: void
    signature: void ndpi_md5(const u_char *data, size_t data_len, u_char hash[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_sha256_init
      Src: /src/ndpi/src/lib/ndpi_main.c:12514,1
    - Dst: ndpi_sha256_update
      Src: /src/ndpi/src/lib/ndpi_main.c:12515,1
    - Dst: ndpi_sha256_final
      Src: /src/ndpi/src/lib/ndpi_main.c:12516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - data_len
    - sha_hash
    argTypes:
    - u_char*
    - size_t
    - u_int8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12517
      start: 12511
    functionDepth: 1
    functionLinenumber: 12511
    functionLinenumberEnd: 12517
    functionName: ndpi_sha256
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_sha256_init
    - ndpi_sha256_final
    - ndpi_sha256_update
    linkageType: ''
    returnType: void
    signature: void ndpi_sha256(const u_char *data, size_t data_len, u_int8_t sha_hash[32])
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12530
      start: 12521
    functionDepth: 0
    functionLinenumber: 12521
    functionLinenumberEnd: 12530
    functionName: enough
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int enough(int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12536,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12537,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:12542,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndpi_struct
    - str
    - ends
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12547
      start: 12534
    functionDepth: 1
    functionLinenumber: 12534
    functionLinenumberEnd: 12547
    functionName: ends_with
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG2
    - strlen
    - strncmp
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ends_with(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                  char *str, char *ends)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/ndpi_main.c:12552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12556
      start: 12551
    functionDepth: 1
    functionLinenumber: 12551
    functionLinenumberEnd: 12556
    functionName: ndpi_is_trigram_char
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_isdigit
    linkageType: ''
    returnType: int
    signature: int ndpi_is_trigram_char(char c)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12574
      start: 12560
    functionDepth: 0
    functionLinenumber: 12560
    functionLinenumberEnd: 12574
    functionName: ndpi_is_vowel
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_is_vowel(char c)
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/src/lib/ndpi_main.c:12584,1
    - Dst: ndpi_dga_function
      Src: /src/ndpi/src/lib/ndpi_main.c:12588,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:12592,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:12603,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_main.c:12604,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/ndpi_main.c:12605,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/ndpi_main.c:12606,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/ndpi_main.c:12608,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/ndpi_main.c:12609,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/ndpi_main.c:12610,1
    - Dst: ndpi_match_string_subprotocol
      Src: /src/ndpi/src/lib/ndpi_main.c:12618,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12618,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/ndpi_main.c:12621,1
    - Dst: inet_addr
      Src: /src/ndpi/src/lib/ndpi_main.c:12624,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:12625,1
    - Dst: inet_ntoa
      Src: /src/ndpi/src/lib/ndpi_main.c:12625,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:12629,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12632,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12634,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:12643,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12646,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:12652,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/ndpi_main.c:12657,1
    - Dst: ndpi_is_vowel
      Src: /src/ndpi/src/lib/ndpi_main.c:12661,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/ndpi_main.c:12670,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/ndpi_main.c:12673,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12719,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:12739,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12742,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:12752,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_main.c:12752,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12762,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/ndpi_main.c:12764,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12767,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:12767,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/ndpi_main.c:12772,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12805,1
    - Dst: ndpi_match_impossible_bigram
      Src: /src/ndpi/src/lib/ndpi_main.c:12807,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12808,1
    - Dst: ndpi_match_bigram
      Src: /src/ndpi/src/lib/ndpi_main.c:12813,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12821,1
    - Dst: ndpi_is_trigram_char
      Src: /src/ndpi/src/lib/ndpi_main.c:12823,1
    - Dst: ndpi_is_trigram_char
      Src: /src/ndpi/src/lib/ndpi_main.c:12823,1
    - Dst: ndpi_is_trigram_char
      Src: /src/ndpi/src/lib/ndpi_main.c:12823,1
    - Dst: ndpi_match_trigram
      Src: /src/ndpi/src/lib/ndpi_main.c:12829,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12832,1
    - Dst: ndpi_is_vowel
      Src: /src/ndpi/src/lib/ndpi_main.c:12835,1
    - Dst: ndpi_is_vowel
      Src: /src/ndpi/src/lib/ndpi_main.c:12835,1
    - Dst: ndpi_is_vowel
      Src: /src/ndpi/src/lib/ndpi_main.c:12835,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12850,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12852,1
    - Dst: enough
      Src: /src/ndpi/src/lib/ndpi_main.c:12866,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12886,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/ndpi_main.c:12890,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_main.c:12893,1
    CyclomaticComplexity: 106
    EdgeCount: 106
    ICount: 181
    argCount: 6
    argNames:
    - ndpi_str
    - flow
    - _name
    - is_hostname
    - check_subproto
    - flow_fully_classified
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    - u_int8_t
    - u_int8_t
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12897
      start: 12578
    functionDepth: 3
    functionLinenumber: 12578
    functionLinenumberEnd: 12897
    functionName: ndpi_check_dga_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - inet_ntoa
    - ndpi_match_string_subprotocol
    - ndpi_match_bigram
    - NDPI_LOG_DBG2
    - strcmp
    - ndpi_set_risk
    - strlen
    - ndpi_is_trigram_char
    - strncmp
    - ndpi_is_vowel
    - ndpi_dga_function
    - ends_with
    - strchr
    - ndpi_match_impossible_bigram
    - ndpi_get_host_domain
    - inet_addr
    - ndpi_match_trigram
    - strtok_r
    - ndpi_isdigit
    - tolower
    - enough
    - ndpi_snprintf
    linkageType: ''
    returnType: int
    signature: "int ndpi_check_dga_name(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\tstruct
      ndpi_flow_struct *flow,\n\t\t\tchar *_name, u_int8_t is_hostname, u_int8_t check_subproto,\n\t\t\tu_int8_t
      flow_fully_classified)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - risk
    argTypes:
    - ndpi_risk_enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12903
      start: 12901
    functionDepth: 0
    functionLinenumber: 12901
    functionLinenumberEnd: 12903
    functionName: ndpi_risk2severity
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ndpi_risk_info
    signature: ndpi_risk_info * ndpi_risk2severity(ndpi_risk_enum risk)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:12913,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:12917,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:12923,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/ndpi_main.c:12926,1
    - Dst: strrchr
      Src: /src/ndpi/src/lib/ndpi_main.c:12935,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - flow
    - value
    - value_len
    - normalize
    argTypes:
    - struct ndpi_flow_struct*
    - u_int8_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12949
      start: 12907
    functionDepth: 1
    functionLinenumber: 12907
    functionLinenumberEnd: 12949
    functionName: ndpi_hostname_sni_set
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - tolower
    - strrchr
    - ndpi_isprint
    - ndpi_min
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *ndpi_hostname_sni_set(struct ndpi_flow_struct *flow,\n\t\t\t
      \   const u_int8_t *value, size_t value_len,\n\t\t\t    int normalize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_main.c:12963,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:12965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - flow
    - value
    - value_len
    argTypes:
    - struct ndpi_flow_struct*
    - u_int8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12970
      start: 12953
    functionDepth: 0
    functionLinenumber: 12953
    functionLinenumberEnd: 12970
    functionName: ndpi_user_agent_set
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ndpi_malloc
    linkageType: ''
    returnType: char
    signature: "char *ndpi_user_agent_set(struct ndpi_flow_struct *flow,\n\t\t\t  const
      u_int8_t *value, size_t value_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12981
      start: 12974
    functionDepth: 0
    functionLinenumber: 12974
    functionLinenumberEnd: 12981
    functionName: ndpi_seen_flow_beginning
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_seen_flow_beginning(const struct ndpi_flow_struct *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_main.c:12993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_str
    - user_data
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12997
      start: 12985
    functionDepth: 1
    functionLinenumber: 12985
    functionLinenumberEnd: 12997
    functionName: ndpi_set_user_data
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: void
    signature: void ndpi_set_user_data(struct ndpi_detection_module_struct *ndpi_str,
      void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13006
      start: 13001
    functionDepth: 0
    functionLinenumber: 13001
    functionLinenumberEnd: 13006
    functionName: ndpi_get_user_data
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ndpi_get_user_data(struct ndpi_detection_module_struct *ndpi_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/ndpi/src/lib/ndpi_main.c:13020,1
    - Dst: ndpi_get_proto_by_name
      Src: /src/ndpi/src/lib/ndpi_main.c:13031,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_str
    - proto_name_or_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13034
      start: 13010
    functionDepth: 3
    functionLinenumber: 13010
    functionLinenumberEnd: 13034
    functionName: __get_proto_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_get_proto_by_name
    - strtol
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t __get_proto_id(const struct ndpi_detection_module_struct
      *ndpi_str, const char *proto_name_or_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/ndpi/src/lib/ndpi_main.c:13048,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - flowrisk_name_or_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13062
      start: 13038
    functionDepth: 0
    functionLinenumber: 13038
    functionLinenumberEnd: 13062
    functionName: __get_flowrisk_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strtol
    linkageType: ''
    returnType: ndpi_risk_enum
    signature: ndpi_risk_enum __get_flowrisk_id(const char *flowrisk_name_or_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13078,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13079,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13084,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13085,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 7
    argNames:
    - ndpi_str
    - _variable
    - value
    - min_value
    - max_value
    - proto
    - param
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13091
      start: 13066
    functionDepth: 0
    functionLinenumber: 13066
    functionLinenumberEnd: 13091
    functionName: _set_param_enable_disable
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: ndpi_cfg_error
    signature: "ndpi_cfg_error _set_param_enable_disable(struct ndpi_detection_module_struct
      *ndpi_str,\n                                                void *_variable,
      const char *value,\n                                                const char
      *min_value, const char *max_value,\n                                                const
      char *proto, const char *param)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_strtonum
      Src: /src/ndpi/src/lib/ndpi_main.c:13107,1
    - Dst: strtol
      Src: /src/ndpi/src/lib/ndpi_main.c:13115,1
    - Dst: strtol
      Src: /src/ndpi/src/lib/ndpi_main.c:13115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 7
    argNames:
    - ndpi_str
    - _variable
    - value
    - min_value
    - max_value
    - proto
    - param
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13121
      start: 13095
    functionDepth: 1
    functionLinenumber: 13095
    functionLinenumberEnd: 13121
    functionName: _set_param_int
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_strtonum
    - strtol
    linkageType: ''
    returnType: ndpi_cfg_error
    signature: "ndpi_cfg_error _set_param_int(struct ndpi_detection_module_struct
      *ndpi_str,\n                                     void *_variable, const char
      *value,\n                                     const char *min_value, const char
      *max_value,\n                                     const char *proto, const char
      *param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ndpi_str
    - _variable
    - proto
    - buf
    - buf_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13135
      start: 13125
    functionDepth: 0
    functionLinenumber: 13125
    functionLinenumberEnd: 13135
    functionName: _get_param_int
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *_get_param_int(struct ndpi_detection_module_struct *ndpi_str,\n
      \                           void *_variable, const char *proto, char *buf, int
      buf_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ndpi_str
    - _variable
    - proto
    - buf
    - buf_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13149
      start: 13139
    functionDepth: 0
    functionLinenumber: 13139
    functionLinenumberEnd: 13149
    functionName: _get_param_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *_get_param_string(struct ndpi_detection_module_struct *ndpi_str,\n
      \                              void *_variable, const char *proto, char *buf,
      int buf_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/ndpi/src/lib/ndpi_main.c:13170,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_main.c:13172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - ndpi_str
    - _variable
    - value
    - min_value
    - max_value
    - proto
    - param
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13174
      start: 13153
    functionDepth: 0
    functionLinenumber: 13153
    functionLinenumberEnd: 13174
    functionName: _set_param_filename
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - access
    - strncpy
    linkageType: ''
    returnType: ndpi_cfg_error
    signature: "ndpi_cfg_error _set_param_filename(struct ndpi_detection_module_struct
      *ndpi_str,\n                                          void *_variable, const
      char *value,\n                                          const char *min_value,
      const char *max_value,\n                                          const char
      *proto, const char *param)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _set_param_filename
      Src: /src/ndpi/src/lib/ndpi_main.c:13185,1
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_main.c:13189,1
    - Dst: load_config_file_fd
      Src: /src/ndpi/src/lib/ndpi_main.c:13194,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_main.c:13196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 7
    argNames:
    - ndpi_str
    - _variable
    - value
    - min_value
    - max_value
    - proto
    - param
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13202
      start: 13178
    functionDepth: 2
    functionLinenumber: 13178
    functionLinenumberEnd: 13202
    functionName: _set_param_filename_config
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - fopen
    - load_config_file_fd
    - fclose
    - _set_param_filename
    linkageType: ''
    returnType: ndpi_cfg_error
    signature: "ndpi_cfg_error _set_param_filename_config(struct ndpi_detection_module_struct
      *ndpi_str,\n                                                 void *_variable,
      const char *value,\n                                                 const char
      *min_value, const char *max_value,\n                                                 const
      char *proto, const char *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __get_proto_id
      Src: /src/ndpi/src/lib/ndpi_main.c:13213,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13217,1
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/src/lib/ndpi_main.c:13217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ndpi_str
    - _variable
    - proto
    - buf
    - buf_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13220
      start: 13206
    functionDepth: 4
    functionLinenumber: 13206
    functionLinenumberEnd: 13220
    functionName: _get_param_protocol_enable_disable
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - __get_proto_id
    - snprintf
    - ndpi_bitmask_is_set
    linkageType: ''
    returnType: char
    signature: "char *_get_param_protocol_enable_disable(struct ndpi_detection_module_struct
      *ndpi_str,\n                                                void *_variable,
      const char *proto,\n\t\t\t\t\t\tchar *buf, int buf_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13235,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13236,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13237,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13238,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13239,1
    - Dst: ndpi_bitmask_set_all
      Src: /src/ndpi/src/lib/ndpi_main.c:13240,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13243,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13244,1
    - Dst: ndpi_bitmask_reset
      Src: /src/ndpi/src/lib/ndpi_main.c:13245,1
    - Dst: __get_proto_id
      Src: /src/ndpi/src/lib/ndpi_main.c:13250,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13254,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13255,1
    - Dst: ndpi_bitmask_set
      Src: /src/ndpi/src/lib/ndpi_main.c:13256,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13259,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13260,1
    - Dst: ndpi_bitmask_clear
      Src: /src/ndpi/src/lib/ndpi_main.c:13261,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 7
    argNames:
    - ndpi_str
    - _variable
    - value
    - min_value
    - max_value
    - proto
    - param
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13265
      start: 13222
    functionDepth: 4
    functionLinenumber: 13222
    functionLinenumberEnd: 13265
    functionName: _set_param_protocol_enable_disable
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_bitmask_reset
    - strcmp
    - __get_proto_id
    - ndpi_bitmask_set
    - ndpi_bitmask_clear
    - ndpi_bitmask_set_all
    linkageType: ''
    returnType: ndpi_cfg_error
    signature: "ndpi_cfg_error _set_param_protocol_enable_disable(struct ndpi_detection_module_struct
      *ndpi_str,\n                                                         void *_variable,
      const char *value,\n                                                         const
      char *min_value, const char *max_value,\n                                                         const
      char *proto, const char *param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __get_flowrisk_id
      Src: /src/ndpi/src/lib/ndpi_main.c:13276,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13280,1
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/src/lib/ndpi_main.c:13280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ndpi_str
    - _variable
    - proto
    - buf
    - buf_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13283
      start: 13267
    functionDepth: 1
    functionLinenumber: 13267
    functionLinenumberEnd: 13283
    functionName: _get_param_flowrisk_enable_disable
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - __get_flowrisk_id
    - ndpi_bitmask_is_set
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *_get_param_flowrisk_enable_disable(struct ndpi_detection_module_struct
      *ndpi_str,\n                                                void *_variable,
      const char *proto,\n                                                char *buf,
      int buf_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13299,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:13304,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13305,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:13305,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_main.c:13306,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:13306,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_main.c:13306,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_main.c:13308,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13310,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13311,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13312,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13313,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13314,1
    - Dst: ndpi_bitmask_set_all
      Src: /src/ndpi/src/lib/ndpi_main.c:13315,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13318,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13319,1
    - Dst: ndpi_bitmask_reset
      Src: /src/ndpi/src/lib/ndpi_main.c:13320,1
    - Dst: __get_flowrisk_id
      Src: /src/ndpi/src/lib/ndpi_main.c:13325,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13329,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13330,1
    - Dst: ndpi_bitmask_set
      Src: /src/ndpi/src/lib/ndpi_main.c:13331,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13334,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13335,1
    - Dst: ndpi_bitmask_clear
      Src: /src/ndpi/src/lib/ndpi_main.c:13336,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 7
    argNames:
    - ndpi_str
    - _variable
    - value
    - min_value
    - max_value
    - proto
    - _param
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13340
      start: 13285
    functionDepth: 1
    functionLinenumber: 13285
    functionLinenumberEnd: 13340
    functionName: _set_param_flowrisk_enable_disable
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ndpi_bitmask_reset
    - strlen
    - ndpi_bitmask_clear
    - strncmp
    - ndpi_bitmask_set
    - __get_flowrisk_id
    - strncpy
    - ndpi_min
    - ndpi_bitmask_set_all
    - memcpy
    linkageType: ''
    returnType: ndpi_cfg_error
    signature: "ndpi_cfg_error _set_param_flowrisk_enable_disable(struct ndpi_detection_module_struct
      *ndpi_str,\n                                                         void *_variable,
      const char *value,\n                                                         const
      char *min_value, const char *max_value,\n                                                         const
      char *proto, const char *_param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ndpi_str
    - _variable
    - proto
    - param
    argTypes:
    - struct ndpi_detection_module_struct*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13357
      start: 13342
    functionDepth: 0
    functionLinenumber: 13342
    functionLinenumberEnd: 13357
    functionName: clbk_only_with_global_ctx
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int clbk_only_with_global_ctx(struct ndpi_detection_module_struct
      *ndpi_str,\n                                     void *_variable, const char
      *proto,\n                                     const char *param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13388
      start: 13387
    functionDepth: 0
    functionLinenumber: 13387
    functionLinenumberEnd: 13388
    functionName: __OFF
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __OFF(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmask_alloc
      Src: /src/ndpi/src/lib/ndpi_main.c:13561,1
    - Dst: ndpi_bitmask_alloc
      Src: /src/ndpi/src/lib/ndpi_main.c:13562,1
    - Dst: ndpi_bitmask_alloc
      Src: /src/ndpi/src/lib/ndpi_main.c:13563,1
    - Dst: ndpi_bitmask_alloc
      Src: /src/ndpi/src/lib/ndpi_main.c:13564,1
    - Dst: ndpi_bitmask_alloc
      Src: /src/ndpi/src/lib/ndpi_main.c:13565,1
    - Dst: ndpi_bitmask_alloc
      Src: /src/ndpi/src/lib/ndpi_main.c:13566,1
    - Dst: fn_set
      Src: /src/ndpi/src/lib/ndpi_main.c:13570,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - cfg
    - max_internal_proto
    argTypes:
    - struct ndpi_detection_module_config_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13574
      start: 13556
    functionDepth: 1
    functionLinenumber: 13556
    functionLinenumberEnd: 13574
    functionName: set_default_config
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - ndpi_bitmask_alloc
    - fn_set
    linkageType: ''
    returnType: int
    signature: "int set_default_config(struct ndpi_detection_module_config_struct
      *cfg,\n                              u_int16_t max_internal_proto)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:13588,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13590,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13595,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13596,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13598,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13599,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13601,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13602,1
    - Dst: ndpi_str_endswith
      Src: /src/ndpi/src/lib/ndpi_main.c:13603,1
    - Dst: ndpi_str_endswith
      Src: /src/ndpi/src/lib/ndpi_main.c:13604,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13606,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13607,1
    - Dst: ndpi_str_endswith
      Src: /src/ndpi/src/lib/ndpi_main.c:13608,1
    - Dst: fn_set
      Src: /src/ndpi/src/lib/ndpi_main.c:13610,1
    - Dst: struct cfg_param*::fn_callback
      Src: /src/ndpi/src/lib/ndpi_main.c:13613,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 21
    argCount: 4
    argNames:
    - ndpi_str
    - proto
    - param
    - value
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13624
      start: 13576
    functionDepth: 1
    functionLinenumber: 13576
    functionLinenumberEnd: 13624
    functionName: ndpi_set_config
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 2
    functionsReached:
    - strcmp
    - fn_set
    - NDPI_LOG_DBG
    - strncmp
    - ndpi_str_endswith
    - struct cfg_param*::fn_callback
    linkageType: ''
    returnType: ndpi_cfg_error
    signature: "ndpi_cfg_error ndpi_set_config(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t               const char *proto, const char *param, const char
      *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13632,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/src/lib/ndpi_main.c:13638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ndpi_str
    - proto
    - param
    - value
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13639
      start: 13626
    functionDepth: 2
    functionLinenumber: 13626
    functionLinenumberEnd: 13639
    functionName: ndpi_set_config_u64
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_set_config
    - ndpi_snprintf
    linkageType: ''
    returnType: ndpi_cfg_error
    signature: "ndpi_cfg_error ndpi_set_config_u64(struct ndpi_detection_module_struct
      *ndpi_str,\n                                   const char *proto, const char
      *param, uint64_t value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/ndpi_main.c:13649,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13653,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13654,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13656,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13657,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13659,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13660,1
    - Dst: fn_get
      Src: /src/ndpi/src/lib/ndpi_main.c:13662,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 10
    argCount: 5
    argNames:
    - ndpi_str
    - proto
    - param
    - buf
    - buf_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13666
      start: 13641
    functionDepth: 1
    functionLinenumber: 13641
    functionLinenumberEnd: 13666
    functionName: ndpi_get_config
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - strcmp
    - NDPI_LOG_DBG
    - fn_get
    linkageType: ''
    returnType: char
    signature: "char *ndpi_get_config(struct ndpi_detection_module_struct *ndpi_str,\n\t\t
      \     const char *proto, const char *param, char *buf, int buf_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13675,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13682,1
    - Dst: _get_param_int
      Src: /src/ndpi/src/lib/ndpi_main.c:13685,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13688,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13689,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13692,1
    - Dst: _get_param_string
      Src: /src/ndpi/src/lib/ndpi_main.c:13695,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13697,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13701,1
    - Dst: _get_param_protocol_enable_disable
      Src: /src/ndpi/src/lib/ndpi_main.c:13704,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13706,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13710,1
    - Dst: _get_param_flowrisk_enable_disable
      Src: /src/ndpi/src/lib/ndpi_main.c:13713,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13715,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - ndpi_str
    - fd
    argTypes:
    - struct ndpi_detection_module_struct*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13721
      start: 13668
    functionDepth: 5
    functionLinenumber: 13668
    functionLinenumberEnd: 13721
    functionName: ndpi_dump_config
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - _get_param_int
    - _get_param_string
    - _get_param_protocol_enable_disable
    - fprintf
    - _get_param_flowrisk_enable_disable
    linkageType: ''
    returnType: char
    signature: char *ndpi_dump_config(struct ndpi_detection_module_struct *ndpi_str,
      FILE *fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/ndpi/src/lib/ndpi_main.c:13733,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/ndpi_main.c:13742,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/ndpi_main.c:13749,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - haystack
    - haystack_len
    - needle
    - needle_len
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13758
      start: 13723
    functionDepth: 0
    functionLinenumber: 13723
    functionLinenumberEnd: 13758
    functionName: ndpi_memmem
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 1
    functionsReached:
    - memchr
    - memcmp
    linkageType: ''
    returnType: void
    signature: void * ndpi_memmem(const void* haystack, size_t haystack_len, const
      void* needle, size_t needle_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_main.c:13765,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/ndpi_main.c:13766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - dst
    - src
    - dst_len
    - src_len
    argTypes:
    - char*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13770
      start: 13760
    functionDepth: 1
    functionLinenumber: 13760
    functionLinenumberEnd: 13770
    functionName: ndpi_strlcpy
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - memmove
    linkageType: ''
    returnType: size_t
    signature: size_t ndpi_strlcpy(char *dst, const char* src, size_t dst_len, size_t
      src_len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:13793,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:13793,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:13798,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:13798,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:13803,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:13803,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:13810,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_main.c:13810,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13817
      start: 13772
    functionDepth: 0
    functionLinenumber: 13772
    functionLinenumberEnd: 13817
    functionName: ndpi_memcasecmp
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int ndpi_memcasecmp(const void *s1, const void *s2, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13829,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_main.c:13834,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/src/lib/ndpi_main.c:13836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - ndpi_str
    - stack
    - buf
    - buf_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_proto_stack*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13843
      start: 13819
    functionDepth: 3
    functionLinenumber: 13819
    functionLinenumberEnd: 13843
    functionName: ndpi_stack2str
    functionSourceFile: /src/ndpi/src/lib/ndpi_main.c
    functionUses: 0
    functionsReached:
    - ndpi_get_proto_name
    - ndpi_snprintf
    linkageType: ''
    returnType: char
    signature: "char *ndpi_stack2str(struct ndpi_detection_module_struct *ndpi_str,\n
      \                    struct ndpi_proto_stack *stack, char *buf, u_int buf_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_geoip.c:45,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_geoip.c:46,1
    - Dst: MMDB_open
      Src: /src/ndpi/src/lib/ndpi_geoip.c:52,1
    - Dst: MMDB_open
      Src: /src/ndpi/src/lib/ndpi_geoip.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ndpi_str
    - ip_city_data
    - ip_as_data
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 69
    functionName: ndpi_load_geoip
    functionSourceFile: /src/ndpi/src/lib/ndpi_geoip.c
    functionUses: 1
    functionsReached:
    - MMDB_open
    - ndpi_malloc
    linkageType: ''
    returnType: int
    signature: "int ndpi_load_geoip(struct ndpi_detection_module_struct *ndpi_str,\n
      \                   const char *ip_city_data, const char *ip_as_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MMDB_close
      Src: /src/ndpi/src/lib/ndpi_geoip.c:77,1
    - Dst: MMDB_close
      Src: /src/ndpi/src/lib/ndpi_geoip.c:79,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_geoip.c:81,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_geoip.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: ndpi_free_geoip
    functionSourceFile: /src/ndpi/src/lib/ndpi_geoip.c
    functionUses: 1
    functionsReached:
    - MMDB_close
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_free_geoip(struct ndpi_detection_module_struct *ndpi_str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MMDB_lookup_string
      Src: /src/ndpi/src/lib/ndpi_geoip.c:99,1
    - Dst: MMDB_get_value
      Src: /src/ndpi/src/lib/ndpi_geoip.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - ndpi_str
    - ip
    - asn
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 124
    functionName: ndpi_get_geoip_asn
    functionSourceFile: /src/ndpi/src/lib/ndpi_geoip.c
    functionUses: 1
    functionsReached:
    - MMDB_get_value
    - MMDB_lookup_string
    linkageType: ''
    returnType: int
    signature: int ndpi_get_geoip_asn(struct ndpi_detection_module_struct *ndpi_str,
      char *ip, u_int32_t *asn)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MMDB_lookup_string
      Src: /src/ndpi/src/lib/ndpi_geoip.c:135,1
    - Dst: MMDB_get_value
      Src: /src/ndpi/src/lib/ndpi_geoip.c:144,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_geoip.c:149,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_geoip.c:151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ndpi_str
    - ip
    - aso
    - aso_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - char*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 167
    functionName: ndpi_get_geoip_aso
    functionSourceFile: /src/ndpi/src/lib/ndpi_geoip.c
    functionUses: 1
    functionsReached:
    - ndpi_min
    - MMDB_get_value
    - MMDB_lookup_string
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ndpi_get_geoip_aso(struct ndpi_detection_module_struct *ndpi_str,
      char *ip, char *aso, u_int8_t aso_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MMDB_lookup_string
      Src: /src/ndpi/src/lib/ndpi_geoip.c:184,1
    - Dst: MMDB_get_value
      Src: /src/ndpi/src/lib/ndpi_geoip.c:192,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_geoip.c:198,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_geoip.c:200,1
    - Dst: MMDB_get_value
      Src: /src/ndpi/src/lib/ndpi_geoip.c:207,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_geoip.c:213,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_geoip.c:215,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 6
    argNames:
    - ndpi_str
    - ip
    - country_code
    - country_code_len
    - continent
    - continent_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - char*
    - u_int8_t
    - char*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 233
    functionName: ndpi_get_geoip_country_continent
    functionSourceFile: /src/ndpi/src/lib/ndpi_geoip.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - MMDB_get_value
    - MMDB_lookup_string
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ndpi_get_geoip_country_continent(struct ndpi_detection_module_struct
      *ndpi_str, char *ip,\n                                     char *country_code,
      u_int8_t country_code_len,\n                                     char *continent,
      u_int8_t continent_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MMDB_lookup_string
      Src: /src/ndpi/src/lib/ndpi_geoip.c:249,1
    - Dst: MMDB_get_value
      Src: /src/ndpi/src/lib/ndpi_geoip.c:257,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_geoip.c:263,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_geoip.c:265,1
    - Dst: MMDB_get_value
      Src: /src/ndpi/src/lib/ndpi_geoip.c:272,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_geoip.c:278,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_geoip.c:280,1
    - Dst: MMDB_get_value
      Src: /src/ndpi/src/lib/ndpi_geoip.c:287,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_geoip.c:293,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_geoip.c:295,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 8
    argNames:
    - ndpi_str
    - ip
    - country_code
    - country_code_len
    - continent
    - continent_len
    - city
    - city_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - char*
    - u_int8_t
    - char*
    - u_int8_t
    - char*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 315
    functionName: ndpi_get_geoip_country_continent_city
    functionSourceFile: /src/ndpi/src/lib/ndpi_geoip.c
    functionUses: 1
    functionsReached:
    - ndpi_min
    - MMDB_get_value
    - MMDB_lookup_string
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ndpi_get_geoip_country_continent_city(struct ndpi_detection_module_struct
      *ndpi_str, char *ip,\n                                          char *country_code,
      u_int8_t country_code_len,\n                                          char *continent,
      u_int8_t continent_len,\n                                          char *city,
      u_int8_t city_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (*__ndpi_malloc)(size_t size)
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: set_ndpi_malloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_memory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_ndpi_malloc(void *(*__ndpi_malloc)(size_t size))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: set_ndpi_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_memory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_ndpi_free(void (*__ndpi_free)(void *ptr))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/ndpi/src/lib/ndpi_memory.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: ndpi_get_tot_allocated_memory
    functionSourceFile: /src/ndpi/src/lib/ndpi_memory.c
    functionUses: 2
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_get_tot_allocated_memory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/ndpi/src/lib/ndpi_memory.c:56,1
    - Dst: _ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_memory.c:57,1
    - Dst: malloc
      Src: /src/ndpi/src/lib/ndpi_memory.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ndpi_malloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_memory.c
    functionUses: 16
    functionsReached:
    - _ndpi_malloc
    - malloc
    - __sync_fetch_and_add
    linkageType: ''
    returnType: void
    signature: void *ndpi_malloc(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_memory.c:64,1
    - Dst: malloc
      Src: /src/ndpi/src/lib/ndpi_memory.c:64,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_memory.c:67,1
    - Dst: __sync_fetch_and_add
      Src: /src/ndpi/src/lib/ndpi_memory.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - unsigned long
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: ndpi_calloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_memory.c
    functionUses: 7
    functionsReached:
    - _ndpi_malloc
    - memset
    - malloc
    - __sync_fetch_and_add
    linkageType: ''
    returnType: void
    signature: void *ndpi_calloc(unsigned long count, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _ndpi_free
      Src: /src/ndpi/src/lib/ndpi_memory.c:79,1
    - Dst: free
      Src: /src/ndpi/src/lib/ndpi_memory.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: ndpi_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_memory.c
    functionUses: 27
    functionsReached:
    - free
    - _ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_free(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_memory.c:89,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_memory.c:95,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_memory.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ptr
    - old_size
    - new_size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: ndpi_realloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_memory.c
    functionUses: 6
    functionsReached:
    - ndpi_free
    - memcpy
    - ndpi_malloc
    linkageType: ''
    returnType: void
    signature: void *ndpi_realloc(void *ptr, size_t old_size, size_t new_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_memory.c:109,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_memory.c:110,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_memory.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: ndpi_strdup
    functionSourceFile: /src/ndpi/src/lib/ndpi_memory.c
    functionUses: 6
    functionsReached:
    - memcpy
    - strlen
    - ndpi_malloc
    linkageType: ''
    returnType: char
    signature: char *ndpi_strdup(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash
      Src: /src/ndpi/src/lib/ndpi_hash.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: ndpi_murmur_hash
    functionSourceFile: /src/ndpi/src/lib/ndpi_hash.c
    functionUses: 0
    functionsReached:
    - MurmurHash
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_murmur_hash(const char *str, u_int str_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - unsigned char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: ndpi_quick_hash
    functionSourceFile: /src/ndpi/src/lib/ndpi_hash.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_quick_hash(const unsigned char *str, u_int str_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: ndpi_quick_hash64
    functionSourceFile: /src/ndpi/src/lib/ndpi_hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_quick_hash64(const char *str, u_int str_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: ndpi_hash_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_hash_string(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_hash.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: ndpi_rev_hash_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_hash.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_rev_hash_string(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: ndpi_hash_string_len
    functionSourceFile: /src/ndpi/src/lib/ndpi_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_hash_string_len(const char *str, u_int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: ROR64
    functionSourceFile: /src/ndpi/src/lib/ndpi_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROR64(x,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROR64
      Src: /src/ndpi/src/lib/ndpi_hash.c:145,1
    - Dst: ROR64
      Src: /src/ndpi/src/lib/ndpi_hash.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - in_16_bytes_long
    argTypes:
    - u_int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: ndpi_quick_16_byte_hash
    functionSourceFile: /src/ndpi/src/lib/ndpi_hash.c
    functionUses: 0
    functionsReached:
    - ROR64
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_quick_16_byte_hash(const u_int8_t *in_16_bytes_long)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: min
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a,b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_timer_clear
      Src: /src/ndpi/src/lib/ndpi_classify.c:278,1
    - Dst: ndpi_timer_sub
      Src: /src/ndpi/src/lib/ndpi_classify.c:285,1
    - Dst: ndpi_timer_sub
      Src: /src/ndpi/src/lib/ndpi_classify.c:289,1
    - Dst: ndpi_timer_lt
      Src: /src/ndpi/src/lib/ndpi_classify.c:291,1
    - Dst: ndpi_timer_sub
      Src: /src/ndpi/src/lib/ndpi_classify.c:294,1
    - Dst: ndpi_timer_sub
      Src: /src/ndpi/src/lib/ndpi_classify.c:298,1
    - Dst: ndpi_timer_sub
      Src: /src/ndpi/src/lib/ndpi_classify.c:306,1
    - Dst: ndpi_timeval_to_milliseconds
      Src: /src/ndpi/src/lib/ndpi_classify.c:307,1
    - Dst: ndpi_timeval_to_microseconds
      Src: /src/ndpi/src/lib/ndpi_classify.c:309,1
    - Dst: ndpi_timer_sub
      Src: /src/ndpi/src/lib/ndpi_classify.c:315,1
    - Dst: ndpi_timeval_to_milliseconds
      Src: /src/ndpi/src/lib/ndpi_classify.c:316,1
    - Dst: ndpi_timeval_to_microseconds
      Src: /src/ndpi/src/lib/ndpi_classify.c:318,1
    - Dst: ndpi_timer_lt
      Src: /src/ndpi/src/lib/ndpi_classify.c:322,1
    - Dst: ndpi_timer_sub
      Src: /src/ndpi/src/lib/ndpi_classify.c:325,1
    - Dst: ndpi_timeval_to_milliseconds
      Src: /src/ndpi/src/lib/ndpi_classify.c:326,1
    - Dst: ndpi_timeval_to_microseconds
      Src: /src/ndpi/src/lib/ndpi_classify.c:328,1
    - Dst: ndpi_timer_sub
      Src: /src/ndpi/src/lib/ndpi_classify.c:334,1
    - Dst: ndpi_timeval_to_milliseconds
      Src: /src/ndpi/src/lib/ndpi_classify.c:335,1
    - Dst: ndpi_timeval_to_microseconds
      Src: /src/ndpi/src/lib/ndpi_classify.c:337,1
    - Dst: ndpi_timeval_to_milliseconds
      Src: /src/ndpi/src/lib/ndpi_classify.c:343,1
    - Dst: ndpi_timeval_to_microseconds
      Src: /src/ndpi/src/lib/ndpi_classify.c:345,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 10
    argNames:
    - pkt_len
    - pkt_time
    - pkt_len_twin
    - pkt_time_twin
    - start_time
    - start_time_twin
    - s_idx
    - r_idx
    - merged_lens
    - merged_times
    argTypes:
    - uint16_t*
    - pkt_timeval*
    - uint16_t*
    - pkt_timeval*
    - pkt_timeval
    - pkt_timeval
    - uint16_t
    - uint16_t
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 346
    functionName: ndpi_merge_splt_arrays
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 0
    functionsReached:
    - ndpi_timeval_to_milliseconds
    - ndpi_timeval_to_microseconds
    - ndpi_timer_sub
    - ndpi_timer_lt
    - ndpi_timer_clear
    linkageType: ''
    returnType: void
    signature: "void ndpi_merge_splt_arrays (const uint16_t *pkt_len, const pkt_timeval
      *pkt_time,\n                        const uint16_t *pkt_len_twin, const pkt_timeval
      *pkt_time_twin,\n                        pkt_timeval start_time, pkt_timeval
      start_time_twin,\n                        uint16_t s_idx, uint16_t r_idx,\n
      \                       uint16_t *merged_lens, uint16_t *merged_times)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/ndpi/src/lib/ndpi_classify.c:366,1
    - Dst: min
      Src: /src/ndpi/src/lib/ndpi_classify.c:370,1
    - Dst: min
      Src: /src/ndpi/src/lib/ndpi_classify.c:371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - lens
    - length_mc
    - num_packets
    argTypes:
    - uint16_t*
    - float*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 388
    functionName: ndpi_get_mc_rep_lens
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 0
    functionsReached:
    - min
    linkageType: ''
    returnType: void
    signature: void ndpi_get_mc_rep_lens (uint16_t *lens, float *length_mc, uint16_t
      num_packets)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/ndpi/src/lib/ndpi_classify.c:407,1
    - Dst: min
      Src: /src/ndpi/src/lib/ndpi_classify.c:411,1
    - Dst: min
      Src: /src/ndpi/src/lib/ndpi_classify.c:412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - times
    - time_mc
    - num_packets
    argTypes:
    - uint16_t*
    - float*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 429
    functionName: ndpi_get_mc_rep_times
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 0
    functionsReached:
    - min
    linkageType: ''
    returnType: void
    signature: void ndpi_get_mc_rep_times (uint16_t *times, float *time_mc, uint16_t
      num_packets)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/ndpi/src/lib/ndpi_classify.c:472,1
    - Dst: min
      Src: /src/ndpi/src/lib/ndpi_classify.c:473,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_classify.c:481,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_classify.c:482,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_classify.c:485,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_classify.c:486,1
    - Dst: ndpi_merge_splt_arrays
      Src: /src/ndpi/src/lib/ndpi_classify.c:500,1
    - Dst: ndpi_get_mc_rep_lens
      Src: /src/ndpi/src/lib/ndpi_classify.c:509,1
    - Dst: ndpi_get_mc_rep_times
      Src: /src/ndpi/src/lib/ndpi_classify.c:512,1
    - Dst: min
      Src: /src/ndpi/src/lib/ndpi_classify.c:542,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_classify.c:544,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_classify.c:545,1
    - Dst: exp
      Src: /src/ndpi/src/lib/ndpi_classify.c:547,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 18
    argNames:
    - pkt_len
    - pkt_time
    - pkt_len_twin
    - pkt_time_twin
    - start_time
    - start_time_twin
    - max_num_pkt_len
    - sp
    - dp
    - op
    - ip
    - np_o
    - np_i
    - ob
    - ib
    - use_bd
    - bd
    - bd_t
    argTypes:
    - unsigned short*
    - pkt_timeval*
    - unsigned short*
    - pkt_timeval*
    - pkt_timeval
    - pkt_timeval
    - uint32_t
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 548
    functionName: ndpi_classify
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 0
    functionsReached:
    - exp
    - min
    - ndpi_get_mc_rep_lens
    - ndpi_get_mc_rep_times
    - ndpi_merge_splt_arrays
    - ndpi_free
    - ndpi_calloc
    linkageType: ''
    returnType: float
    signature: "float ndpi_classify (const unsigned short *pkt_len, const pkt_timeval
      *pkt_time,\n               const unsigned short *pkt_len_twin, const pkt_timeval
      *pkt_time_twin,\n               pkt_timeval start_time, pkt_timeval start_time_twin,
      uint32_t max_num_pkt_len,\n               uint16_t sp, uint16_t dp, uint32_t
      op, uint32_t ip, uint32_t np_o, uint32_t np_i,\n               uint32_t ob,
      uint32_t ib, uint16_t use_bd, const uint32_t *bd, const uint32_t *bd_t)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_classify.c:569,1
    - Dst: fscanf
      Src: /src/ndpi/src/lib/ndpi_classify.c:571,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_classify.c:578,1
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_classify.c:584,1
    - Dst: fscanf
      Src: /src/ndpi/src/lib/ndpi_classify.c:586,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_classify.c:593,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_classify.c:599,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - param_type
    - param_file
    argTypes:
    - classifier_type_codes_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 603
    functionName: ndpi_update_params
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 0
    functionsReached:
    - fopen
    - fscanf
    - fclose
    - printf
    linkageType: ''
    returnType: void
    signature: void ndpi_update_params (classifier_type_codes_t param_type, const
      char *param_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - pkt_timeval*
    - pkt_timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 632
    functionName: ndpi_timer_eq
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ndpi_timer_eq(const pkt_timeval *a,\n              const
      pkt_timeval *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - pkt_timeval*
    - pkt_timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: ndpi_timer_lt
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int ndpi_timer_lt(const pkt_timeval *a,\n              const
      pkt_timeval *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - result
    argTypes:
    - pkt_timeval*
    - pkt_timeval*
    - pkt_timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 662
    functionName: ndpi_timer_sub
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ndpi_timer_sub(const pkt_timeval *a,\n               const pkt_timeval
      *b,\n               pkt_timeval *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - pkt_timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: ndpi_timer_clear
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_timer_clear(pkt_timeval *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - pkt_timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: ndpi_timeval_to_milliseconds
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_timeval_to_milliseconds(pkt_timeval ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - pkt_timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 705
    functionName: ndpi_timeval_to_microseconds
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_timeval_to_microseconds(pkt_timeval ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/ndpi/src/lib/ndpi_classify.c:717,1
    - Dst: localtime
      Src: /src/ndpi/src/lib/ndpi_classify.c:721,1
    - Dst: localtime_r
      Src: /src/ndpi/src/lib/ndpi_classify.c:724,1
    - Dst: strftime
      Src: /src/ndpi/src/lib/ndpi_classify.c:726,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_classify.c:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - log_ts
    - log_ts_len
    argTypes:
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 728
    functionName: ndpi_log_timestamp
    functionSourceFile: /src/ndpi/src/lib/ndpi_classify.c
    functionUses: 0
    functionsReached:
    - strftime
    - ndpi_snprintf
    - localtime_r
    - localtime
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void ndpi_log_timestamp(char *log_ts, uint32_t log_ts_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:41,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ret
    - _max_series_len
    argTypes:
    - struct ndpi_analyze_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: ndpi_init_data_analysis
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - memset
    - ndpi_calloc
    linkageType: ''
    returnType: void
    signature: void ndpi_init_data_analysis(struct ndpi_analyze_struct *ret, u_int16_t
      _max_series_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:56,1
    - Dst: ndpi_init_data_analysis
      Src: /src/ndpi/src/lib/ndpi_analyze.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - _max_series_len
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: ndpi_alloc_data_analysis
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_init_data_analysis
    - ndpi_malloc
    linkageType: ''
    returnType: struct ndpi_analyze_struct
    signature: struct ndpi_analyze_struct * ndpi_alloc_data_analysis(u_int16_t _max_series_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_alloc_data_analysis
      Src: /src/ndpi/src/lib/ndpi_analyze.c:68,1
    - Dst: ndpi_data_add_value
      Src: /src/ndpi/src/lib/ndpi_analyze.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - values
    - num_values
    argTypes:
    - u_int32_t*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: ndpi_alloc_data_analysis_from_series
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_alloc_data_analysis
    - ndpi_data_add_value
    linkageType: ''
    returnType: struct ndpi_analyze_struct
    signature: struct ndpi_analyze_struct * ndpi_alloc_data_analysis_from_series(const
      u_int32_t *values, u_int16_t num_values)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:81,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - d
    - free_pointer
    argTypes:
    - struct ndpi_analyze_struct*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: ndpi_free_data_analysis
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_free_data_analysis(struct ndpi_analyze_struct *d, u_int8_t
      free_pointer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:97,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: ndpi_reset_data_analysis
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ndpi_reset_data_analysis(struct ndpi_analyze_struct *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_data_last
      Src: /src/ndpi/src/lib/ndpi_analyze.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - s
    - value
    argTypes:
    - struct ndpi_analyze_struct*
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 145
    functionName: ndpi_data_add_value
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 1
    functionsReached:
    - ndpi_data_last
    linkageType: ''
    returnType: void
    signature: void ndpi_data_add_value(struct ndpi_analyze_struct *s, const u_int64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: ndpi_data_average
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float ndpi_data_average(struct ndpi_analyze_struct *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: ndpi_data_last
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_data_last(struct ndpi_analyze_struct *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: ndpi_data_min
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_data_min(struct ndpi_analyze_struct *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: ndpi_data_max
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_data_max(struct ndpi_analyze_struct *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: ndpi_data_variance
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float ndpi_data_variance(struct ndpi_analyze_struct *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/ndpi/src/lib/ndpi_analyze.c:195,1
    - Dst: ndpi_data_variance
      Src: /src/ndpi/src/lib/ndpi_analyze.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: ndpi_data_stddev
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - sqrt
    - ndpi_data_variance
    linkageType: ''
    returnType: float
    signature: float ndpi_data_stddev(struct ndpi_analyze_struct *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_data_average
      Src: /src/ndpi/src/lib/ndpi_analyze.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: ndpi_data_mean
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_data_average
    linkageType: ''
    returnType: float
    signature: float ndpi_data_mean(struct ndpi_analyze_struct *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: ndpi_data_jitter
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float ndpi_data_jitter(struct ndpi_analyze_struct *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_analyze.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: ndpi_data_window_average
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    linkageType: ''
    returnType: float
    signature: float ndpi_data_window_average(struct ndpi_analyze_struct *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_data_window_average
      Src: /src/ndpi/src/lib/ndpi_analyze.c:241,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_analyze.c:242,1
    - Dst: pow
      Src: /src/ndpi/src/lib/ndpi_analyze.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: ndpi_data_window_variance
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - ndpi_data_window_average
    - pow
    linkageType: ''
    returnType: float
    signature: float ndpi_data_window_variance(struct ndpi_analyze_struct *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/ndpi/src/lib/ndpi_analyze.c:259,1
    - Dst: ndpi_data_window_variance
      Src: /src/ndpi/src/lib/ndpi_analyze.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: ndpi_data_window_stddev
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_data_window_variance
    - sqrt
    linkageType: ''
    returnType: float
    signature: float ndpi_data_window_stddev(struct ndpi_analyze_struct *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fpclassify
      Src: /src/ndpi/src/lib/ndpi_analyze.c:275,1
    - Dst: logf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:282,1
    - Dst: logf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 288
    functionName: ndpi_data_entropy
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - fpclassify
    - logf
    linkageType: ''
    returnType: float
    signature: float ndpi_data_entropy(struct ndpi_analyze_struct *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_analyze.c:294,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:297,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_analyze_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: ndpi_data_print_window_values
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - printf
    linkageType: ''
    returnType: void
    signature: void ndpi_data_print_window_values(struct ndpi_analyze_struct *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sent
    - rcvd
    argTypes:
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: ndpi_data_ratio
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float ndpi_data_ratio(u_int32_t sent, u_int32_t rcvd)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ratio
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: ndpi_data_ratio2str
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ndpi_data_ratio2str(float ratio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hll_init
      Src: /src/ndpi/src/lib/ndpi_analyze.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hll
    - bits
    argTypes:
    - struct ndpi_hll*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: ndpi_hll_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - hll_init
    linkageType: ''
    returnType: int
    signature: int ndpi_hll_init(struct ndpi_hll *hll, u_int8_t bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hll_destroy
      Src: /src/ndpi/src/lib/ndpi_analyze.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hll
    argTypes:
    - struct ndpi_hll*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: ndpi_hll_destroy
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - hll_destroy
    linkageType: ''
    returnType: void
    signature: void ndpi_hll_destroy(struct ndpi_hll *hll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hll_reset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hll
    argTypes:
    - struct ndpi_hll*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: ndpi_hll_reset
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - hll_reset
    linkageType: ''
    returnType: void
    signature: void ndpi_hll_reset(struct ndpi_hll *hll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hll_add
      Src: /src/ndpi/src/lib/ndpi_analyze.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hll
    - data
    - data_len
    argTypes:
    - struct ndpi_hll*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: ndpi_hll_add
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - hll_add
    linkageType: ''
    returnType: int
    signature: int ndpi_hll_add(struct ndpi_hll *hll, const char *data, size_t data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hll_add
      Src: /src/ndpi/src/lib/ndpi_analyze.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hll
    - value
    argTypes:
    - struct ndpi_hll*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: ndpi_hll_add_number
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - hll_add
    linkageType: ''
    returnType: int
    signature: int ndpi_hll_add_number(struct ndpi_hll *hll, u_int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hll_count
      Src: /src/ndpi/src/lib/ndpi_analyze.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hll
    argTypes:
    - struct ndpi_hll*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: ndpi_hll_count
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - hll_count
    linkageType: ''
    returnType: double
    signature: double ndpi_hll_count(struct ndpi_hll *hll)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:366,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:371,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:376,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - b
    - f
    - num_bins
    argTypes:
    - struct ndpi_bin*
    - enum ndpi_bin_family
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: ndpi_init_bin
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int ndpi_init_bin(struct ndpi_bin *b, enum ndpi_bin_family f, u_int16_t
      num_bins)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:397,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:400,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:403,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct ndpi_bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 409
    functionName: ndpi_free_bin
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_free_bin(struct ndpi_bin *b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:418,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:425,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:426,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_analyze.c:429,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:433,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:434,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_analyze.c:437,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:441,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:442,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_analyze.c:445,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:449,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:450,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_analyze.c:453,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct ndpi_bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 458
    functionName: ndpi_clone_bin
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - ndpi_calloc
    - memcpy
    - ndpi_malloc
    linkageType: ''
    returnType: struct ndpi_bin
    signature: struct ndpi_bin * ndpi_clone_bin(struct ndpi_bin *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - b
    - slot_id
    - val
    argTypes:
    - struct ndpi_bin*
    - u_int16_t
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 482
    functionName: ndpi_set_bin
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_set_bin(struct ndpi_bin *b, u_int16_t slot_id, u_int64_t
      val)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - b
    - slot_id
    - val
    argTypes:
    - struct ndpi_bin*
    - u_int16_t
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 508
    functionName: ndpi_inc_bin
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_inc_bin(struct ndpi_bin *b, u_int16_t slot_id, u_int64_t
      val)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - b
    - slot_id
    argTypes:
    - struct ndpi_bin*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 530
    functionName: ndpi_get_bin_value
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_get_bin_value(struct ndpi_bin *b, u_int16_t slot_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:542,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:545,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:548,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct ndpi_bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 554
    functionName: ndpi_reset_bin
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ndpi_reset_bin(struct ndpi_bin *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct ndpi_bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 603
    functionName: ndpi_normalize_bin
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_normalize_bin(struct ndpi_bin *b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_normalize_bin
      Src: /src/ndpi/src/lib/ndpi_analyze.c:614,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:619,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:628,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:637,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:646,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 37
    argCount: 4
    argNames:
    - b
    - normalize_first
    - out_buf
    - out_buf_len
    argTypes:
    - struct ndpi_bin*
    - u_int8_t
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 655
    functionName: ndpi_print_bin
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    - ndpi_normalize_bin
    linkageType: ''
    returnType: char
    signature: char * ndpi_print_bin(struct ndpi_bin *b, u_int8_t normalize_first,
      char *out_buf, u_int out_buf_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_normalize_bin
      Src: /src/ndpi/src/lib/ndpi_analyze.c:694,1
    - Dst: ndpi_normalize_bin
      Src: /src/ndpi/src/lib/ndpi_analyze.c:694,1
    - Dst: ndpi_get_bin_value
      Src: /src/ndpi/src/lib/ndpi_analyze.c:701,1
    - Dst: ndpi_get_bin_value
      Src: /src/ndpi/src/lib/ndpi_analyze.c:702,1
    - Dst: sqrt
      Src: /src/ndpi/src/lib/ndpi_analyze.c:710,1
    - Dst: ndpi_get_bin_value
      Src: /src/ndpi/src/lib/ndpi_analyze.c:717,1
    - Dst: ndpi_get_bin_value
      Src: /src/ndpi/src/lib/ndpi_analyze.c:718,1
    - Dst: pow
      Src: /src/ndpi/src/lib/ndpi_analyze.c:721,1
    - Dst: sqrt
      Src: /src/ndpi/src/lib/ndpi_analyze.c:730,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - b1
    - b2
    - normalize_first
    - similarity_max_threshold
    argTypes:
    - struct ndpi_bin*
    - struct ndpi_bin*
    - u_int8_t
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 733
    functionName: ndpi_bin_similarity
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_get_bin_value
    - sqrt
    - ndpi_normalize_bin
    - pow
    linkageType: ''
    returnType: float
    signature: "float ndpi_bin_similarity(struct ndpi_bin *b1, struct ndpi_bin *b2,\n\t\t\t
      \ u_int8_t normalize_first, float similarity_max_threshold)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/ndpi/src/lib/ndpi_analyze.c:759,1
    - Dst: time
      Src: /src/ndpi/src/lib/ndpi_analyze.c:759,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:768,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:771,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:777,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:778,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/src/lib/ndpi_analyze.c:782,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:787,1
    - Dst: rand
      Src: /src/ndpi/src/lib/ndpi_analyze.c:791,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:796,1
    - Dst: ndpi_print_bin
      Src: /src/ndpi/src/lib/ndpi_analyze.c:798,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:810,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:813,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:816,1
    - Dst: ndpi_reset_bin
      Src: /src/ndpi/src/lib/ndpi_analyze.c:820,1
    - Dst: ndpi_inc_bin
      Src: /src/ndpi/src/lib/ndpi_analyze.c:824,1
    - Dst: ndpi_get_bin_value
      Src: /src/ndpi/src/lib/ndpi_analyze.c:824,1
    - Dst: ndpi_normalize_bin
      Src: /src/ndpi/src/lib/ndpi_analyze.c:829,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:832,1
    - Dst: ndpi_print_bin
      Src: /src/ndpi/src/lib/ndpi_analyze.c:833,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:846,1
    - Dst: ndpi_bin_similarity
      Src: /src/ndpi/src/lib/ndpi_analyze.c:861,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:867,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:893,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:910,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:920,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:939,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/src/lib/ndpi_analyze.c:952,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:954,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:957,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 109
    argCount: 5
    argNames:
    - bins
    - num_bins
    - num_clusters
    - cluster_ids
    - centroids
    argTypes:
    - struct ndpi_bin*
    - u_int16_t
    - u_int8_t
    - u_int16_t*
    - struct ndpi_bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 960
    functionName: ndpi_cluster_bins
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_normalize_bin
    - ndpi_free_bin
    - time
    - rand
    - ndpi_init_bin
    - ndpi_get_bin_value
    - ndpi_malloc
    - ndpi_bin_similarity
    - ndpi_print_bin
    - ndpi_free
    - printf
    - memset
    - ndpi_inc_bin
    - ndpi_reset_bin
    - srand
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: "int ndpi_cluster_bins(struct ndpi_bin *bins, u_int16_t num_bins,\n\t\t
      \     u_int8_t num_clusters, u_int16_t *cluster_ids,\n\t\t      struct ndpi_bin
      *centroids)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:976,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:979,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:980,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:986,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:987,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - s
    - num_learning_values
    argTypes:
    - struct ndpi_rsi_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 990
    functionName: ndpi_alloc_rsi
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - memset
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int ndpi_alloc_rsi(struct ndpi_rsi_struct *s, u_int16_t num_learning_values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:995,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_rsi_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 996
    functionName: ndpi_free_rsi
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_free_rsi(struct ndpi_rsi_struct *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1022,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1029,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1034,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1048,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - s
    - value
    argTypes:
    - struct ndpi_rsi_struct*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1052
    functionName: ndpi_rsi_add_value
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: float
    signature: float ndpi_rsi_add_value(struct ndpi_rsi_struct *s, const u_int32_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1065
    functionName: ndpi_rational_approximation
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double ndpi_rational_approximation(double t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_rational_approximation
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1073,1
    - Dst: sqrt
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1073,1
    - Dst: log
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1073,1
    - Dst: ndpi_rational_approximation
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1076,1
    - Dst: sqrt
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1076,1
    - Dst: log
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1078
    functionName: ndpi_normal_cdf_inverse
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - log
    - sqrt
    - ndpi_rational_approximation
    linkageType: ''
    returnType: double
    signature: double ndpi_normal_cdf_inverse(double p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - v
    - num
    argTypes:
    - u_int64_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1088
    functionName: ndpi_avg_inline
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double ndpi_avg_inline(u_int64_t *v, u_int num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1118,1
    - Dst: ndpi_normal_cdf_inverse
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1130,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1132,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1135,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - hw
    - num_periods
    - additive_seeasonal
    - alpha
    - beta
    - gamma
    - significance
    argTypes:
    - struct ndpi_hw_struct*
    - u_int16_t
    - u_int8_t
    - double
    - double
    - double
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1115
    functionDepth: 2
    functionLinenumber: 1115
    functionLinenumberEnd: 1142
    functionName: ndpi_hw_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - memset
    - ndpi_normal_cdf_inverse
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: "int ndpi_hw_init(struct ndpi_hw_struct *hw,\n\t\t u_int16_t num_periods,
      u_int8_t additive_seeasonal,\n\t\t double alpha, double beta, double gamma,
      float significance)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1148,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - hw
    argTypes:
    - struct ndpi_hw_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1150
    functionName: ndpi_hw_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_hw_free(struct ndpi_hw_struct *hw)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_avg_inline
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1184,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1199,1
    - Dst: sqrt
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1227,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 4
    argNames:
    - hw
    - _value
    - forecast
    - confidence_band
    argTypes:
    - struct ndpi_hw_struct*
    - u_int64_t
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1246
    functionName: ndpi_hw_add_value
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_avg_inline
    - sqrt
    - ndpi_free
    linkageType: ''
    returnType: int
    signature: int ndpi_hw_add_value(struct ndpi_hw_struct *hw, const u_int64_t _value,
      double *forecast,  double *confidence_band)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1256,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - hw
    argTypes:
    - struct ndpi_hw_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1259
    functionName: ndpi_hw_reset
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ndpi_hw_reset(struct ndpi_hw_struct *hw)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1274,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - s
    - num_learning_values
    argTypes:
    - struct ndpi_jitter_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1286
    functionName: ndpi_jitter_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - memset
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int ndpi_jitter_init(struct ndpi_jitter_struct *s, u_int16_t num_learning_values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct ndpi_jitter_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1292
    functionName: ndpi_jitter_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_jitter_free(struct ndpi_jitter_struct *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1300,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - s
    - value
    argTypes:
    - struct ndpi_jitter_struct*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1323
    functionName: ndpi_jitter_add_value
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - printf
    - fabsf
    linkageType: ''
    returnType: float
    signature: float ndpi_jitter_add_value(struct ndpi_jitter_struct *s, const float
      value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1337,1
    - Dst: ndpi_normal_cdf_inverse
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ses
    - alpha
    - significance
    argTypes:
    - struct ndpi_ses_struct*
    - double
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1333
    functionDepth: 2
    functionLinenumber: 1333
    functionLinenumberEnd: 1345
    functionName: ndpi_ses_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 1
    functionsReached:
    - memset
    - ndpi_normal_cdf_inverse
    linkageType: ''
    returnType: int
    signature: int ndpi_ses_init(struct ndpi_ses_struct *ses, double alpha, float
      significance)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1386,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - ses
    - _value
    - forecast
    - confidence_band
    argTypes:
    - struct ndpi_ses_struct*
    - double
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1406
    functionName: ndpi_ses_add_value
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 1
    functionsReached:
    - printf
    - sqrt
    linkageType: ''
    returnType: int
    signature: int ndpi_ses_add_value(struct ndpi_ses_struct *ses, const double _value,
      double *forecast, double *confidence_band)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ses
    argTypes:
    - struct ndpi_ses_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1414
    functionName: ndpi_ses_reset
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_ses_reset(struct ndpi_ses_struct *ses)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_ses_init
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1436,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1439,1
    - Dst: ndpi_ses_add_value
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1448,1
    - Dst: fabs
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1449,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1452,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1467,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - values
    - num_values
    - ret_alpha
    argTypes:
    - double*
    - u_int32_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1421
    functionDepth: 3
    functionLinenumber: 1421
    functionLinenumberEnd: 1477
    functionName: ndpi_ses_fitting
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_ses_init
    - ndpi_ses_add_value
    - printf
    - fabs
    linkageType: ''
    returnType: void
    signature: void ndpi_ses_fitting(double *values, u_int32_t num_values, float *ret_alpha)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1490,1
    - Dst: ndpi_normal_cdf_inverse
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - des
    - alpha
    - beta
    - significance
    argTypes:
    - struct ndpi_des_struct*
    - double
    - double
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1499
    functionName: ndpi_des_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - memset
    - ndpi_normal_cdf_inverse
    linkageType: ''
    returnType: int
    signature: int ndpi_des_init(struct ndpi_des_struct *des, double alpha, double
      beta, float significance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - des
    argTypes:
    - struct ndpi_des_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1507
    functionName: ndpi_des_reset
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_des_reset(struct ndpi_des_struct *des)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1543,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - des
    - _value
    - forecast
    - confidence_band
    argTypes:
    - struct ndpi_des_struct*
    - double
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1563
    functionName: ndpi_des_add_value
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - printf
    - sqrt
    linkageType: ''
    returnType: int
    signature: int ndpi_des_add_value(struct ndpi_des_struct *des, const double _value,
      double *forecast, double *confidence_band)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_des_init
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1587,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1590,1
    - Dst: ndpi_des_add_value
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1599,1
    - Dst: fabs
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1600,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1603,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1618,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - values
    - num_values
    - ret_alpha
    - ret_beta
    argTypes:
    - double*
    - u_int32_t
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1570
    functionDepth: 3
    functionLinenumber: 1570
    functionLinenumberEnd: 1629
    functionName: ndpi_des_fitting
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_des_init
    - ndpi_des_add_value
    - fabs
    linkageType: ''
    returnType: void
    signature: void ndpi_des_fitting(double *values, u_int32_t num_values, float *ret_alpha,
      float *ret_beta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_data_analysis
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1642,1
    - Dst: ndpi_data_add_value
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1646,1
    - Dst: ndpi_data_mean
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1648,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1649,1
    - Dst: fpclassify
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1651,1
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1652,1
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - values
    - outliers
    - num_values
    argTypes:
    - u_int32_t*
    - bool*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1634
    functionDepth: 2
    functionLinenumber: 1634
    functionLinenumberEnd: 1668
    functionName: ndpi_find_outliers
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free_data_analysis
    - ndpi_data_stddev
    - ndpi_data_add_value
    - fpclassify
    - ndpi_init_data_analysis
    - ndpi_data_mean
    linkageType: ''
    returnType: u_int
    signature: u_int ndpi_find_outliers(u_int32_t *values, bool *outliers, u_int32_t
      num_values)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_alloc_data_analysis_from_series
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1676,1
    - Dst: ndpi_data_mean
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1681,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1682,1
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - past_values
    - num_past_values
    - value_to_check
    - threshold
    - lower
    - upper
    argTypes:
    - u_int32_t*
    - u_int32_t
    - u_int32_t
    - float
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1673
    functionDepth: 3
    functionLinenumber: 1673
    functionLinenumberEnd: 1693
    functionName: ndpi_is_outlier
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_data_mean
    - ndpi_free_data_analysis
    - ndpi_alloc_data_analysis_from_series
    - ndpi_data_stddev
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_is_outlier(u_int32_t *past_values, u_int32_t num_past_values,\n\t\t
      \    u_int32_t value_to_check, float threshold,\n\t\t     float *lower, float
      *upper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - values
    - num_values
    - predict_periods
    - prediction
    argTypes:
    - u_int32_t*
    - u_int32_t
    - u_int32_t
    - u_int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1727
    functionName: ndpi_predict_linear
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ndpi_predict_linear(u_int32_t *values, u_int32_t num_values,\n\t\t\tu_int32_t
      predict_periods, u_int32_t *prediction)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1744,1
    - Dst: pow
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1745,1
    - Dst: sqrt
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - values_a
    - values_b
    - num_values
    argTypes:
    - u_int32_t*
    - u_int32_t*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1755
    functionName: ndpi_pearson_correlation
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - sqrt
    - pow
    linkageType: ''
    returnType: double
    signature: double ndpi_pearson_correlation(u_int32_t *values_a, u_int32_t *values_b,
      u_int16_t num_values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - crc
    - data
    - n_bytes
    argTypes:
    - u_int16_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1836
    functionName: __crc16
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t __crc16(u_int16_t crc, const void *data, size_t n_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - n_bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1845
    functionName: ndpi_crc16_ccit
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_crc16_ccit(const void* data, size_t n_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __crc16
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n_bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1847
    functionDepth: 1
    functionLinenumber: 1847
    functionLinenumberEnd: 1849
    functionName: ndpi_crc16_ccit_false
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - __crc16
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_crc16_ccit_false(const void *data, size_t n_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __crc16
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n_bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1851
    functionDepth: 1
    functionLinenumber: 1851
    functionLinenumberEnd: 1853
    functionName: ndpi_crc16_xmodem
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - __crc16
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_crc16_xmodem(const void *data, size_t n_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - n_bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1862
    functionName: ndpi_crc16_x25
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_crc16_x25(const void* data, size_t n_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - length
    - crc
    argTypes:
    - void*
    - size_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1945
    functionName: ndpi_crc32
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_crc32(const void *data, size_t length, u_int32_t crc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1980,1
    - Dst: ndpi_nearest_power_of_two
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1990,1
    - Dst: ndpi_nearest_power_of_two
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1994,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:1997,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2004,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2008,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - num_hashes
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 2013
    functionName: ndpi_cm_sketch_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_nearest_power_of_two
    - ndpi_malloc
    - ndpi_free
    - printf
    - ndpi_calloc
    linkageType: ''
    returnType: struct ndpi_cm_sketch
    signature: struct ndpi_cm_sketch *ndpi_cm_sketch_init(u_int16_t num_hashes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - seed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2018
    functionName: ndpi_simple_hash
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ndpi_simple_hash(value, seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_simple_hash
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2025,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sketch
    - element
    argTypes:
    - struct ndpi_cm_sketch*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 2021
    functionDepth: 1
    functionLinenumber: 2021
    functionLinenumberEnd: 2034
    functionName: ndpi_cm_sketch_add
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_simple_hash
    linkageType: ''
    returnType: void
    signature: void ndpi_cm_sketch_add(struct ndpi_cm_sketch *sketch, u_int32_t element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_simple_hash
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2042,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2045,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sketch
    - element
    argTypes:
    - struct ndpi_cm_sketch*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2053
    functionName: ndpi_cm_sketch_count
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_simple_hash
    - ndpi_min
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_cm_sketch_count(struct ndpi_cm_sketch *sketch, u_int32_t
      element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2058,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sketch
    argTypes:
    - struct ndpi_cm_sketch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2060
    functionName: ndpi_cm_sketch_destroy
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_cm_sketch_destroy(struct ndpi_cm_sketch *sketch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct ndpi_popcount*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2080
    functionName: ndpi_popcount_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int ndpi_popcount_init(struct ndpi_popcount *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_popcount
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2094,1
    - Dst: __builtin_popcount
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - h
    - buf
    - buf_len
    argTypes:
    - struct ndpi_popcount*
    - u_int8_t*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2099
    functionName: ndpi_popcount_count
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 1
    functionsReached:
    - __builtin_popcount
    linkageType: ''
    returnType: void
    signature: void ndpi_popcount_count(struct ndpi_popcount *h, const u_int8_t *buf,
      u_int32_t buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kd_create
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_dimensions
    argTypes:
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2104
    functionDepth: 1
    functionLinenumber: 2104
    functionLinenumberEnd: 2104
    functionName: ndpi_kd_create
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - kd_create
    linkageType: ''
    returnType: ndpi_kd_tree
    signature: ndpi_kd_tree * ndpi_kd_create(u_int num_dimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kd_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - ndpi_kd_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2106
    functionDepth: 1
    functionLinenumber: 2106
    functionLinenumberEnd: 2106
    functionName: ndpi_kd_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - kd_free
    linkageType: ''
    returnType: void
    signature: void ndpi_kd_free(ndpi_kd_tree *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kd_clear
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - ndpi_kd_tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2108
    functionDepth: 1
    functionLinenumber: 2108
    functionLinenumberEnd: 2108
    functionName: ndpi_kd_clear
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - kd_clear
    linkageType: ''
    returnType: void
    signature: void ndpi_kd_clear(ndpi_kd_tree *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kd_insert
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree
    - data_vector
    - user_data
    argTypes:
    - ndpi_kd_tree*
    - double*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2110
    functionDepth: 1
    functionLinenumber: 2110
    functionLinenumberEnd: 2112
    functionName: ndpi_kd_insert
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - kd_insert
    linkageType: ''
    returnType: bool
    signature: bool ndpi_kd_insert(ndpi_kd_tree *tree, const double *data_vector,
      void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kd_nearest
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tree
    - data_vector
    argTypes:
    - ndpi_kd_tree*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2114
    functionDepth: 1
    functionLinenumber: 2114
    functionLinenumberEnd: 2116
    functionName: ndpi_kd_nearest
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - kd_nearest
    linkageType: ''
    returnType: ndpi_kd_tree_result
    signature: ndpi_kd_tree_result *ndpi_kd_nearest(ndpi_kd_tree *tree, const double
      *data_vector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kd_res_size
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - ndpi_kd_tree_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2118
    functionDepth: 1
    functionLinenumber: 2118
    functionLinenumberEnd: 2118
    functionName: ndpi_kd_num_results
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - kd_res_size
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_kd_num_results(ndpi_kd_tree_result *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kd_res_item
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - res
    - user_data
    argTypes:
    - ndpi_kd_tree_result*
    - double**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2120
    functionDepth: 1
    functionLinenumber: 2120
    functionLinenumberEnd: 2122
    functionName: ndpi_kd_result_get_item
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - kd_res_item
    linkageType: ''
    returnType: double
    signature: double * ndpi_kd_result_get_item(ndpi_kd_tree_result *res, double **user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kd_res_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - ndpi_kd_tree_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2124
    functionDepth: 1
    functionLinenumber: 2124
    functionLinenumberEnd: 2124
    functionName: ndpi_kd_result_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - kd_res_free
    linkageType: ''
    returnType: void
    signature: void ndpi_kd_result_free(ndpi_kd_tree_result *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a1
    - a2
    - num_dimensions
    argTypes:
    - double*
    - double*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2126
    functionDepth: 1
    functionLinenumber: 2126
    functionLinenumberEnd: 2142
    functionName: ndpi_kd_distance
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: double
    signature: double ndpi_kd_distance(double *a1, double *a2, u_int num_dimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btree_init
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - n_rows
    - n_columns
    argTypes:
    - double**
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2147
    functionDepth: 1
    functionLinenumber: 2147
    functionLinenumberEnd: 2149
    functionName: ndpi_btree_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - btree_init
    linkageType: ''
    returnType: ndpi_btree
    signature: ndpi_btree * ndpi_btree_init(double **data, u_int32_t n_rows, u_int32_t
      n_columns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: btree_query
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - b
    - query_data
    - query_data_num_rows
    - query_data_num_columns
    - max_num_results
    argTypes:
    - ndpi_btree*
    - double**
    - u_int32_t
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2151
    functionDepth: 1
    functionLinenumber: 2151
    functionLinenumberEnd: 2156
    functionName: ndpi_btree_query
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - btree_query
    linkageType: ''
    returnType: ndpi_knn
    signature: "ndpi_knn ndpi_btree_query(ndpi_btree *b, double **query_data,\n\t\t\t
      \ u_int32_t query_data_num_rows, u_int32_t query_data_num_columns,\n\t\t\t  u_int32_t
      max_num_results)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_knn
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - knn
    argTypes:
    - ndpi_knn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2158
    functionDepth: 1
    functionLinenumber: 2158
    functionLinenumberEnd: 2158
    functionName: ndpi_free_knn
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - free_knn
    linkageType: ''
    returnType: void
    signature: void ndpi_free_knn(ndpi_knn knn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_tree
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - ndpi_btree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2160
    functionDepth: 1
    functionLinenumber: 2160
    functionLinenumberEnd: 2160
    functionName: ndpi_free_btree
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - free_tree
    linkageType: ''
    returnType: void
    signature: void ndpi_free_btree(ndpi_btree *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2181,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2182,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2196,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2197,1
    - Dst: sqrt
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - x
    - size
    - u
    - i_s
    argTypes:
    - u_int32_t*
    - u_int32_t
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2200
    functionName: ndpi_mahalanobis_distance
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - sqrt
    - ndpi_calloc
    linkageType: ''
    returnType: float
    signature: float ndpi_mahalanobis_distance(const u_int32_t *x, u_int32_t size,
      const float *u, const float *i_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2208,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2211,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - rank
    - max_num_entries
    - num_epochs
    argTypes:
    - ndpi_ranking*
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2207
    functionDepth: 1
    functionLinenumber: 2207
    functionLinenumberEnd: 2217
    functionName: ndpi_init_ranking
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - memset
    - ndpi_calloc
    linkageType: ''
    returnType: void
    signature: void ndpi_init_ranking(ndpi_ranking *rank, u_int16_t max_num_entries,
      u_int16_t num_epochs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rank
    argTypes:
    - ndpi_ranking*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2223
    functionName: ndpi_term_ranking
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_term_ranking(ndpi_ranking *rank)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2228,1
    - Dst: fwrite
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2232,1
    - Dst: fwrite
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2233,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rank
    - path
    argTypes:
    - ndpi_ranking*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2237
    functionName: ndpi_serialize_ranking
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - fopen
    - fclose
    - fwrite
    linkageType: ''
    returnType: bool
    signature: bool ndpi_serialize_ranking(ndpi_ranking *rank, const char *path)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2243,1
    - Dst: fread
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2248,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2252,1
    - Dst: fread
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2256,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - rank
    - path
    argTypes:
    - ndpi_ranking*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2267
    functionName: ndpi_deserialize_ranking
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - fopen
    - fread
    - fclose
    - ndpi_calloc
    linkageType: ''
    returnType: bool
    signature: bool ndpi_deserialize_ranking(ndpi_ranking *rank, const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2274,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2288,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rank
    argTypes:
    - ndpi_ranking*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2271
    functionDepth: 1
    functionLinenumber: 2271
    functionLinenumberEnd: 2296
    functionName: ndpi_print_ranking
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ndpi_print_ranking(ndpi_ranking *rank)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2307
    functionName: _comp
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _comp(const void *a, const void *b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2324,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2326,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2343,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2344,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2359,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2360,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2369,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2372,1
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2381,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_analyze.c:2382,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 7
    argNames:
    - rank
    - epoch
    - entries
    - num_epoch_entries
    - curr_ranking
    - prev_ranking
    - prev_ranking_epoch
    argTypes:
    - ndpi_ranking*
    - u_int32_t
    - ndpi_ranking_epoch_entry*
    - u_int16_t
    - ndpi_ranking_change*
    - ndpi_ranking_change*
    - u_int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2309
    functionDepth: 1
    functionLinenumber: 2309
    functionLinenumberEnd: 2387
    functionName: ndpi_ranking_add_epoch
    functionSourceFile: /src/ndpi/src/lib/ndpi_analyze.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - memset
    - memcpy
    - qsort
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_ranking_add_epoch(ndpi_ranking *rank,\n\t\t\t\t u_int32_t
      epoch,\n\t\t\t\t ndpi_ranking_epoch_entry *entries,\n\t\t\t\t u_int16_t num_epoch_entries,\n\t\t\t\t
      ndpi_ranking_change *curr_ranking,\n\t\t\t\t ndpi_ranking_change *prev_ranking,\n\t\t\t\t
      u_int32_t *prev_ranking_epoch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: ndpi_check_punycode_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_check_punycode_string(char * buffer , int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - vkey
    - vrootp
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 129
    functionName: ndpi_tsearch
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_malloc
    linkageType: ''
    returnType: void
    signature: "void * ndpi_tsearch(const void *vkey, void **vrootp,\n\t\t    int
      (*compar)(const void *, const void *))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - vkey
    - vrootp
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 173
    functionName: ndpi_tdelete
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: "void * ndpi_tdelete(const void *vkey, void **vrootp,\n\t\t    int
      (*compar)(const void *, const void *))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_trecurse
      Src: /src/ndpi/src/lib/ndpi_utils.c:185,1
    - Dst: ndpi_trecurse
      Src: /src/ndpi/src/lib/ndpi_utils.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - root
    - level
    - user_data
    argTypes:
    - ndpi_node*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 191
    functionName: ndpi_trecurse
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_trecurse
    linkageType: ''
    returnType: void
    signature: void ndpi_trecurse(ndpi_node *root, void (*action)(const void *, ndpi_VISIT,
      int, void*), int level, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_trecurse
      Src: /src/ndpi/src/lib/ndpi_utils.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - vroot
    - user_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: ndpi_twalk
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_trecurse
    linkageType: ''
    returnType: void
    signature: void ndpi_twalk(const void *vroot, void (*action)(const void *, ndpi_VISIT,
      int, void *), void *user_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - vkey
    - vrootp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 224
    functionName: ndpi_tfind
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void * ndpi_tfind(const void *vkey, void *vrootp,\n\t\t  int (*compar)(const
      void *, const void *))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_tdestroy_recurse
      Src: /src/ndpi/src/lib/ndpi_utils.c:232,1
    - Dst: ndpi_tdestroy_recurse
      Src: /src/ndpi/src/lib/ndpi_utils.c:234,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - root
    argTypes:
    - ndpi_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: ndpi_tdestroy_recurse
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_free
    - ndpi_tdestroy_recurse
    linkageType: ''
    returnType: void
    signature: void ndpi_tdestroy_recurse(ndpi_node* root, void (*free_action)(void
      *))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_tdestroy_recurse
      Src: /src/ndpi/src/lib/ndpi_utils.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vrootp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: ndpi_tdestroy
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_tdestroy_recurse
    linkageType: ''
    returnType: void
    signature: void ndpi_tdestroy(void *vrootp, void (*freefct)(void *))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ip_to_check
    - net
    - num_bits
    argTypes:
    - u_int32_t
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: ndpi_net_match
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_net_match(u_int32_t ip_to_check,\n\t\t\tu_int32_t net,\n\t\t\tu_int32_t
      num_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_net_match
      Src: /src/ndpi/src/lib/ndpi_utils.c:264,1
    - Dst: ndpi_net_match
      Src: /src/ndpi/src/lib/ndpi_utils.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - src
    - dst
    - net
    - num_bits
    argTypes:
    - u_int32_t
    - u_int32_t
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: ndpi_ips_match
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_net_match
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_ips_match(u_int32_t src, u_int32_t dst,\n\t\t\tu_int32_t
      net, u_int32_t num_bits)"
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 296
    functionName: ndpi_is_safe_ssl_cipher
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_is_safe_ssl_cipher(u_int32_t cipher)
  - BBCount: 364
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 731
    argCount: 2
    argNames:
    - cipher
    - unknown_cipher
    argTypes:
    - u_int32_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 671
    functionName: ndpi_cipher2str
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    linkageType: ''
    returnType: char
    signature: char * ndpi_cipher2str(u_int32_t cipher, char unknown_cipher[8])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 681
    functionName: ndpi_is_other_char
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_is_other_char(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_ispunct
      Src: /src/ndpi/src/lib/ndpi_utils.c:686,1
    - Dst: ndpi_is_other_char
      Src: /src/ndpi/src/lib/ndpi_utils.c:686,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/ndpi_utils.c:689,1
    - Dst: ndpi_isalpha
      Src: /src/ndpi/src/lib/ndpi_utils.c:690,1
    - Dst: ndpi_is_other_char
      Src: /src/ndpi/src/lib/ndpi_utils.c:691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 692
    functionName: _ndpi_is_valid_char
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_is_other_char
    - ndpi_ispunct
    - ndpi_isdigit
    - ndpi_isalpha
    linkageType: ''
    returnType: int
    signature: int _ndpi_is_valid_char(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ndpi_is_valid_char
      Src: /src/ndpi/src/lib/ndpi_utils.c:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 699
    functionName: _ndpi_is_valid_char_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - _ndpi_is_valid_char
    linkageType: ''
    returnType: void
    signature: void _ndpi_is_valid_char_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ndpi_is_valid_char_init
      Src: /src/ndpi/src/lib/ndpi_utils.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 704
    functionName: ndpi_is_valid_char
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - _ndpi_is_valid_char_init
    linkageType: ''
    returnType: int
    signature: int ndpi_is_valid_char(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/ndpi_utils.c:711,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/ndpi_utils.c:711,1
    - Dst: ndpi_is_other_char
      Src: /src/ndpi/src/lib/ndpi_utils.c:712,1
    - Dst: ndpi_is_other_char
      Src: /src/ndpi/src/lib/ndpi_utils.c:713,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_utils.c:717,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/ndpi_utils.c:717,1
    - Dst: ndpi_match_bigram
      Src: /src/ndpi/src/lib/ndpi_utils.c:719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 720
    functionName: ndpi_find_non_eng_bigrams
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_is_other_char
    - tolower
    - ndpi_isdigit
    - ndpi_match_bigram
    linkageType: ''
    returnType: int
    signature: int ndpi_find_non_eng_bigrams(char *str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_valid_char
      Src: /src/ndpi/src/lib/ndpi_utils.c:738,1
    - Dst: ndpi_is_valid_char
      Src: /src/ndpi/src/lib/ndpi_utils.c:739,1
    - Dst: ndpi_find_non_eng_bigrams
      Src: /src/ndpi/src/lib/ndpi_utils.c:740,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_utils.c:742,1
    - Dst: ndpi_is_valid_char
      Src: /src/ndpi/src/lib/ndpi_utils.c:748,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_utils.c:750,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_utils.c:767,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_utils.c:779,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - buffer
    - buffer_size
    - min_string_match_len
    - outbuf
    - outbuf_len
    argTypes:
    - char*
    - u_int
    - u_int8_t
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 726
    functionDepth: 4
    functionLinenumber: 726
    functionLinenumberEnd: 783
    functionName: ndpi_has_human_readable_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_find_non_eng_bigrams
    - ndpi_is_valid_char
    linkageType: ''
    returnType: int
    signature: "int ndpi_has_human_readable_string(char *buffer, u_int buffer_size,\n\t\t\t\t
      \   u_int8_t min_string_match_len,\n\t\t\t\t    char *outbuf, u_int outbuf_len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - flow
    - proto_id
    argTypes:
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 814
    functionName: ndpi_get_flow_info_by_proto_id
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * ndpi_get_flow_info_by_proto_id(struct ndpi_flow_struct const
      * const flow,\n                                                  u_int16_t proto_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_flow_info_by_proto_id
      Src: /src/ndpi/src/lib/ndpi_utils.c:820,1
    - Dst: ndpi_get_flow_info_by_proto_id
      Src: /src/ndpi/src/lib/ndpi_utils.c:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - flow
    - l7_protocol
    argTypes:
    - struct ndpi_flow_struct*
    - ndpi_protocol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: ndpi_get_flow_info
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_get_flow_info_by_proto_id
    linkageType: ''
    returnType: char
    signature: "char * ndpi_get_flow_info(struct ndpi_flow_struct const * const flow,\n
      \                              ndpi_protocol const * const l7_protocol)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:840,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:845,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:849,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:853,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - buf_len
    - m_types
    argTypes:
    - char*
    - int
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 858
    functionName: ndpi_multimedia_flowtype2str
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    linkageType: ''
    returnType: char
    signature: char *ndpi_multimedia_flowtype2str(char *buf, int buf_len, u_int8_t
      m_types)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:871,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:872,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:873,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:874,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:875,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:876,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:877,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:878,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:879,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:895,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:899,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:907,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 71
    argCount: 4
    argNames:
    - buf
    - buf_len
    - version
    - unknown_tls_version
    argTypes:
    - char*
    - int
    - u_int16_t
    - u_int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 910
    functionName: ndpi_ssl_version2str
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    - strncpy
    linkageType: ''
    returnType: char
    signature: "char * ndpi_ssl_version2str(char *buf, int buf_len,\n                           u_int16_t
      version, u_int8_t *unknown_tls_version)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/ndpi/src/lib/ndpi_utils.c:917,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 932
    functionName: ndpi_patchIPv6Address
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: void
    signature: void ndpi_patchIPv6Address(char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - dest
    - dest_len
    - offset
    - src
    - src_len
    argTypes:
    - u_int8_t*
    - u_int
    - u_int
    - u_int8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 949
    functionName: ndpi_user_pwd_payload_copy
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ndpi_user_pwd_payload_copy(u_int8_t *dest, u_int dest_len,\n\t\t\t\tu_int
      offset,\n\t\t\t\tconst u_int8_t *src, u_int src_len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_utils.c:975,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:990,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:1016,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - src
    - len
    - out_len
    argTypes:
    - u_char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 1027
    functionName: ndpi_base64_decode
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - memset
    - ndpi_calloc
    linkageType: ''
    returnType: u_char
    signature: u_char * ndpi_base64_decode(const u_char *src, size_t len, size_t *out_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:1041,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - bytes_to_encode
    - in_len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1077
    functionName: ndpi_base64_encode
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_malloc
    linkageType: ''
    returnType: char
    signature: char * ndpi_base64_encode(unsigned char const* bytes_to_encode, size_t
      in_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:1084,1
    - Dst: sprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bytes_to_encode
    - in_len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1098
    functionName: ndpi_hex_encode
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - sprintf
    - ndpi_malloc
    linkageType: ''
    returnType: char
    signature: char * ndpi_hex_encode(unsigned char const* bytes_to_encode, size_t
      in_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:1106,1
    - Dst: sscanf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - src
    - len
    - out_len
    argTypes:
    - u_char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1120
    functionName: ndpi_hex_decode
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - sscanf
    - ndpi_malloc
    linkageType: ''
    returnType: u_char
    signature: u_char * ndpi_hex_decode(const u_char *src, size_t len, size_t *out_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1132,1
    - Dst: NDPI_ISSET_BIT
      Src: /src/ndpi/src/lib/ndpi_utils.c:1136,1
    - Dst: ndpi_risk2severity
      Src: /src/ndpi/src/lib/ndpi_utils.c:1137,1
    - Dst: ndpi_serialize_start_of_block_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1141,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1142,1
    - Dst: ndpi_risk2str
      Src: /src/ndpi/src/lib/ndpi_utils.c:1142,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1143,1
    - Dst: ndpi_severity2str
      Src: /src/ndpi/src/lib/ndpi_utils.c:1143,1
    - Dst: ndpi_serialize_risk_score
      Src: /src/ndpi/src/lib/ndpi_utils.c:1144,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1145,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - serializer
    - risk
    argTypes:
    - ndpi_serializer*
    - ndpi_risk
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1150
    functionName: ndpi_serialize_risk
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_end_of_block
    - ndpi_risk2severity
    - ndpi_serialize_start_of_block_uint32
    - ndpi_serialize_start_of_block
    - ndpi_severity2str
    - ndpi_serialize_risk_score
    - ndpi_risk2str
    - NDPI_ISSET_BIT
    - ndpi_serialize_string_string
    linkageType: ''
    returnType: void
    signature: "void ndpi_serialize_risk(ndpi_serializer *serializer,\n                         ndpi_risk
      risk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1162,1
    - Dst: ndpi_risk2score
      Src: /src/ndpi/src/lib/ndpi_utils.c:1163,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1164,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1165,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1166,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - serializer
    - risk
    argTypes:
    - ndpi_serializer*
    - ndpi_risk_enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1168
    functionName: ndpi_serialize_risk_score
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_serialize_end_of_block
    - ndpi_serialize_start_of_block
    - ndpi_serialize_string_uint32
    - ndpi_risk2score
    linkageType: ''
    returnType: void
    signature: "void ndpi_serialize_risk_score(ndpi_serializer *serializer,\n                               ndpi_risk_enum
      risk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1179,1
    - Dst: ndpi_serialize_uint32_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1180,1
    - Dst: ndpi_confidence_get_name
      Src: /src/ndpi/src/lib/ndpi_utils.c:1180,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - serializer
    - confidence
    argTypes:
    - ndpi_serializer*
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1182
    functionName: ndpi_serialize_confidence
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_uint32_string
    - ndpi_serialize_end_of_block
    - ndpi_serialize_start_of_block
    - ndpi_confidence_get_name
    linkageType: ''
    returnType: void
    signature: "void ndpi_serialize_confidence(ndpi_serializer *serializer,\n                               ndpi_confidence_t
      confidence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:1194,1
    - Dst: ndpi_serialize_confidence
      Src: /src/ndpi/src/lib/ndpi_utils.c:1195,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1196,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/src/lib/ndpi_utils.c:1196,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1197,1
    - Dst: ndpi_protocol2id
      Src: /src/ndpi/src/lib/ndpi_utils.c:1197,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1198,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/src/lib/ndpi_utils.c:1198,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1200,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1201,1
    - Dst: ndpi_is_encrypted_proto
      Src: /src/ndpi/src/lib/ndpi_utils.c:1201,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1202,1
    - Dst: ndpi_get_proto_breed_name
      Src: /src/ndpi/src/lib/ndpi_utils.c:1202,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1203,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1204,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/src/lib/ndpi_utils.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ndpi_struct
    - serializer
    - risk
    - confidence
    - l7_protocol
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_serializer*
    - ndpi_risk
    - ndpi_confidence_t
    - ndpi_protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1205
    functionName: ndpi_serialize_proto
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_protocol2id
    - ndpi_serialize_string_uint32
    - ndpi_is_encrypted_proto
    - ndpi_serialize_confidence
    - ndpi_serialize_risk
    - ndpi_category_get_name
    - ndpi_protocol2name
    - ndpi_get_proto_name
    - ndpi_serialize_string_string
    - ndpi_get_proto_breed_name
    linkageType: ''
    returnType: void
    signature: "void ndpi_serialize_proto(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                         ndpi_serializer *serializer,\n                          ndpi_risk
      risk,\n                          ndpi_confidence_t confidence,\n                          ndpi_protocol
      l7_protocol)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_ssl_version2str
      Src: /src/ndpi/src/lib/ndpi_utils.c:1220,1
    - Dst: ndpi_gmtime_r
      Src: /src/ndpi/src/lib/ndpi_utils.c:1224,1
    - Dst: ndpi_gmtime_r
      Src: /src/ndpi/src/lib/ndpi_utils.c:1228,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1233,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1234,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1238,1
    - Dst: strftime
      Src: /src/ndpi/src/lib/ndpi_utils.c:1244,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1245,1
    - Dst: strftime
      Src: /src/ndpi/src/lib/ndpi_utils.c:1250,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1251,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1254,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1255,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1256,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1257,1
    - Dst: ndpi_cipher2str
      Src: /src/ndpi/src/lib/ndpi_utils.c:1258,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1262,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1266,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1270,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1274,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1278,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1285,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1291,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1296,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1299,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1302,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 3
    argNames:
    - serializer
    - flow
    - is_tls_proto
    argTypes:
    - ndpi_serializer*
    - struct ndpi_flow_struct*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1209
    functionDepth: 2
    functionLinenumber: 1209
    functionLinenumberEnd: 1305
    functionName: ndpi_tls2json
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - strftime
    - ndpi_ssl_version2str
    - ndpi_serialize_string_uint32
    - ndpi_snprintf
    - ndpi_serialize_start_of_block
    - ndpi_cipher2str
    - ndpi_gmtime_r
    - ndpi_serialize_end_of_block
    - ndpi_serialize_string_string
    linkageType: ''
    returnType: void
    signature: void ndpi_tls2json(ndpi_serializer *serializer, struct ndpi_flow_struct
      *flow, bool is_tls_proto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_utils.c:1313,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_utils.c:1315,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ap
    - buf
    - buf_len
    argTypes:
    - ndpi_address_port*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1321
    functionName: print_ndpi_address_port
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - snprintf
    - inet_ntop
    linkageType: ''
    returnType: char
    signature: char * print_ndpi_address_port(ndpi_address_port *ap, char *buf, u_int
      buf_len)
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1338,1
    - Dst: ndpi_serialize_proto
      Src: /src/ndpi/src/lib/ndpi_utils.c:1339,1
    - Dst: ndpi_get_flow_info
      Src: /src/ndpi/src/lib/ndpi_utils.c:1341,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1344,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1345,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/src/lib/ndpi_utils.c:1345,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1349,1
    - Dst: ndpi_multimedia_flowtype2str
      Src: /src/ndpi/src/lib/ndpi_utils.c:1349,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/src/lib/ndpi_utils.c:1355,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1360,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1361,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1362,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1363,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1372,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1382,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1383,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1384,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1389,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1390,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1391,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1395,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1396,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1397,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1398,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1399,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1400,1
    - Dst: ndpi_serialize_start_of_list
      Src: /src/ndpi/src/lib/ndpi_utils.c:1402,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_utils.c:1409,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_utils.c:1411,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:1414,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1415,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1416,1
    - Dst: ndpi_serialize_end_of_list
      Src: /src/ndpi/src/lib/ndpi_utils.c:1419,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1421,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1425,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1426,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1427,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1428,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1432,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1433,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1437,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1438,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1439,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1443,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1444,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1445,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1446,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1447,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1451,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1452,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1453,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1454,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1455,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1456,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1460,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1461,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1462,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1463,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_utils.c:1464,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1465,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1466,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1470,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1471,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1472,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1473,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1474,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1478,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1479,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1480,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1481,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1482,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1486,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1487,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1488,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1489,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1493,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1494,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1495,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1499,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1500,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1501,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1502,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1503,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1504,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1510,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1513,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1514,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1515,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1516,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1520,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1524,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1528,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1531,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1535,1
    - Dst: ndpi_quic_version2str
      Src: /src/ndpi/src/lib/ndpi_utils.c:1537,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1539,1
    - Dst: ndpi_tls2json
      Src: /src/ndpi/src/lib/ndpi_utils.c:1541,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1543,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1547,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1548,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1549,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1550,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1552,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1556,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1557,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1558,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1559,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1561,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1565,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1566,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1567,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1568,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1570,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1574,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1575,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1576,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1577,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1578,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1585,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1587,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1595,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1598,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1601,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1604,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1607,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1610,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1613,1
    - Dst: ndpi_intoav4
      Src: /src/ndpi/src/lib/ndpi_utils.c:1614,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1617,1
    - Dst: ndpi_intoav6
      Src: /src/ndpi/src/lib/ndpi_utils.c:1618,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1621,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1623,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1628,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1631,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1635,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1639,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1643,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1647,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1651,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1655,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1659,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1663,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1667,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1671,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1675,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1679,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1683,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1687,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1691,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1695,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1699,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1703,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1707,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1710,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1715,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1716,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1717,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1722,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1723,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1724,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1725,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1726,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1727,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1731,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1734,1
    - Dst: print_ndpi_address_port
      Src: /src/ndpi/src/lib/ndpi_utils.c:1734,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1737,1
    - Dst: print_ndpi_address_port
      Src: /src/ndpi/src/lib/ndpi_utils.c:1737,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1740,1
    - Dst: print_ndpi_address_port
      Src: /src/ndpi/src/lib/ndpi_utils.c:1740,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1743,1
    - Dst: print_ndpi_address_port
      Src: /src/ndpi/src/lib/ndpi_utils.c:1743,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1746,1
    - Dst: print_ndpi_address_port
      Src: /src/ndpi/src/lib/ndpi_utils.c:1746,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1748,1
    - Dst: ndpi_multimedia_flowtype2str
      Src: /src/ndpi/src/lib/ndpi_utils.c:1749,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1755,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1759,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1761,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1763,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1765,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1767,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1768,1
    - Dst: ndpi_tls2json
      Src: /src/ndpi/src/lib/ndpi_utils.c:1772,1
    - Dst: ndpi_tls2json
      Src: /src/ndpi/src/lib/ndpi_utils.c:1776,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_utils.c:1787,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 326
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - l7_protocol
    - serializer
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - ndpi_protocol
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1326
    functionDepth: 4
    functionLinenumber: 1326
    functionLinenumberEnd: 1790
    functionName: ndpi_dpi2json
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_string_uint32
    - ndpi_serialize_string_float
    - ndpi_serialize_string_string
    - strlen
    - print_ndpi_address_port
    - ndpi_serialize_start_of_block
    - ndpi_intoav6
    - inet_ntop
    - ndpi_quic_version2str
    - ndpi_get_flow_info
    - ndpi_intoav4
    - snprintf
    - ndpi_get_host_domain
    - ndpi_serialize_end_of_block
    - ndpi_serialize_end_of_list
    - ndpi_tls2json
    - ndpi_serialize_proto
    - ndpi_multimedia_flowtype2str
    - ndpi_serialize_start_of_list
    linkageType: ''
    returnType: int
    signature: "int ndpi_dpi2json(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t
      \ struct ndpi_flow_struct *flow,\n\t\t  ndpi_protocol l7_protocol,\n\t\t  ndpi_serializer
      *serializer)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1800,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1804,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1808,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1812,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1816,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1820,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1824,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1828,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1832,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1836,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1840,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1844,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1848,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1852,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1856,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1860,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 3
    argNames:
    - ip_proto
    - name
    - name_len
    argTypes:
    - u_int16_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1866
    functionName: ndpi_get_ip_proto_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *ndpi_get_ip_proto_name(u_int16_t ip_proto, char *name, unsigned
      int name_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_utils.c:1885,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_utils.c:1886,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_utils.c:1888,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_utils.c:1889,1
    - Dst: ndpi_patchIPv6Address
      Src: /src/ndpi/src/lib/ndpi_utils.c:1891,1
    - Dst: ndpi_patchIPv6Address
      Src: /src/ndpi/src/lib/ndpi_utils.c:1891,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1894,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1895,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1896,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1897,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_utils.c:1897,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1898,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_utils.c:1898,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_utils.c:1900,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1903,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1906,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1909,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:1911,1
    - Dst: ndpi_get_ip_proto_name
      Src: /src/ndpi/src/lib/ndpi_utils.c:1912,1
    - Dst: ndpi_dpi2json
      Src: /src/ndpi/src/lib/ndpi_utils.c:1914,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 13
    argNames:
    - ndpi_struct
    - flow
    - ip_version
    - l4_protocol
    - vlan_id
    - src_v4
    - dst_v4
    - src_v6
    - dst_v6
    - src_port
    - dst_port
    - l7_protocol
    - serializer
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t
    - u_int8_t
    - u_int16_t
    - u_int32_t
    - u_int32_t
    - struct ndpi_in6_addr*
    - struct ndpi_in6_addr*
    - u_int16_t
    - u_int16_t
    - ndpi_protocol
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1871
    functionDepth: 5
    functionLinenumber: 1871
    functionLinenumberEnd: 1915
    functionName: ndpi_flow2json
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_string_uint32
    - ndpi_get_ip_proto_name
    - ndpi_dpi2json
    - ndpi_patchIPv6Address
    - inet_ntop
    - ntohs
    - ndpi_serialize_string_string
    linkageType: ''
    returnType: int
    signature: "int ndpi_flow2json(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t
      \  struct ndpi_flow_struct *flow,\n\t\t   u_int8_t ip_version,\n\t\t   u_int8_t
      l4_protocol,\n\t\t   u_int16_t vlan_id,\n\t\t   u_int32_t src_v4, u_int32_t
      dst_v4,\n\t\t   struct ndpi_in6_addr *src_v6, struct ndpi_in6_addr *dst_v6,\n\t\t
      \  u_int16_t src_port, u_int16_t dst_port,\n\t\t   ndpi_protocol l7_protocol,\n\t\t
      \  ndpi_serializer *serializer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - tt
    argTypes:
    - ndpi_packet_tunnel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1944
    functionName: ndpi_tunnel2str
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ndpi_tunnel2str(ndpi_packet_tunnel tt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1956
    functionName: ishex
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ishex(int x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:1962,1
    - Dst: ishex
      Src: /src/ndpi/src/lib/ndpi_utils.c:1968,1
    - Dst: ishex
      Src: /src/ndpi/src/lib/ndpi_utils.c:1969,1
    - Dst: sscanf
      Src: /src/ndpi/src/lib/ndpi_utils.c:1970,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1960
    functionDepth: 1
    functionLinenumber: 1960
    functionLinenumberEnd: 1977
    functionName: ndpi_url_decode
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ishex
    - strlen
    - sscanf
    linkageType: ''
    returnType: int
    signature: int ndpi_url_decode(const char *s, char *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:1984,1
    - Dst: libinjection_sqli_init
      Src: /src/ndpi/src/lib/ndpi_utils.c:1985,1
    - Dst: libinjection_is_sqli
      Src: /src/ndpi/src/lib/ndpi_utils.c:1987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - query
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1981
    functionDepth: 1
    functionLinenumber: 1981
    functionLinenumberEnd: 1988
    functionName: ndpi_is_sql_injection
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - libinjection_sqli_init
    - libinjection_is_sqli
    - strlen
    linkageType: ''
    returnType: int
    signature: int ndpi_is_sql_injection(char* query)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:1993,1
    - Dst: libinjection_xss
      Src: /src/ndpi/src/lib/ndpi_utils.c:1994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - query
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1992
    functionDepth: 1
    functionLinenumber: 1992
    functionLinenumberEnd: 1995
    functionName: ndpi_is_xss_injection
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - libinjection_xss
    - strlen
    linkageType: ''
    returnType: int
    signature: int ndpi_is_xss_injection(char* query)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:2007,1
    - Dst: pcre2_compile
      Src: /src/ndpi/src/lib/ndpi_utils.c:2009,1
    - Dst: pcre2_get_error_message
      Src: /src/ndpi/src/lib/ndpi_utils.c:2011,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:2014,1
    - Dst: pcre2_jit_compile
      Src: /src/ndpi/src/lib/ndpi_utils.c:2021,1
    - Dst: pcre2_get_error_message
      Src: /src/ndpi/src/lib/ndpi_utils.c:2025,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:2026,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2001
    functionDepth: 1
    functionLinenumber: 2001
    functionLinenumberEnd: 2031
    functionName: ndpi_compile_rce_regex
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - pcre2_jit_compile
    - ndpi_malloc
    - pcre2_compile
    - pcre2_get_error_message
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: void
    signature: void ndpi_compile_rce_regex()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_compile_rce_regex
      Src: /src/ndpi/src/lib/ndpi_utils.c:2037,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:2046,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/ndpi/src/lib/ndpi_utils.c:2048,1
    - Dst: pcre2_match
      Src: /src/ndpi/src/lib/ndpi_utils.c:2049,1
    - Dst: pcre2_match_data_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:2051,1
    - Dst: switch
      Src: /src/ndpi/src/lib/ndpi_utils.c:2057,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:2059,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:2062,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:2065,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:2068,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:2071,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:2074,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:2077,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - query
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2035
    functionDepth: 2
    functionLinenumber: 2035
    functionLinenumberEnd: 2080
    functionName: ndpi_is_rce_injection
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - switch
    - strlen
    - pcre2_match_data_free
    - pcre2_match
    - ndpi_compile_rce_regex
    - pcre2_match_data_create_from_pattern
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: int ndpi_is_rce_injection(char* query)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_utils.c:2110,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_utils.c:2116,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_utils.c:2120,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/ndpi_utils.c:2123,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:2132,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:2132,1
    - Dst: ndpi_url_decode
      Src: /src/ndpi/src/lib/ndpi_utils.c:2135,1
    - Dst: ndpi_is_xss_injection
      Src: /src/ndpi/src/lib/ndpi_utils.c:2140,1
    - Dst: ndpi_is_sql_injection
      Src: /src/ndpi/src/lib/ndpi_utils.c:2142,1
    - Dst: ndpi_is_rce_injection
      Src: /src/ndpi/src/lib/ndpi_utils.c:2145,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_utils.c:2150,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:2154,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:2160,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:2161,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_utils.c:2167,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:2172,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/ndpi_utils.c:2176,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - url
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2107
    functionDepth: 3
    functionLinenumber: 2107
    functionLinenumberEnd: 2183
    functionName: ndpi_validate_url
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - strlen
    - strchr
    - ndpi_is_xss_injection
    - ndpi_strdup
    - ndpi_is_sql_injection
    - snprintf
    - ndpi_malloc
    - ndpi_url_decode
    - strstr
    - ndpi_free
    - printf
    - strtok_r
    - ndpi_is_rce_injection
    linkageType: ''
    returnType: ndpi_risk_enum
    signature: "ndpi_risk_enum ndpi_validate_url(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t struct ndpi_flow_struct *flow,\n\t\t\t\t char *url)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - proto
    argTypes:
    - ndpi_protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2187
    functionDepth: 0
    functionLinenumber: 2187
    functionLinenumberEnd: 2194
    functionName: ndpi_is_protocol_detected
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_is_protocol_detected(ndpi_protocol proto)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:2371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 118
    argCount: 1
    argNames:
    - risk
    argTypes:
    - ndpi_risk_enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2198
    functionDepth: 1
    functionLinenumber: 2198
    functionLinenumberEnd: 2374
    functionName: ndpi_risk2str
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 3
    functionsReached:
    - ndpi_snprintf
    linkageType: ''
    returnType: char
    signature: char * ndpi_risk2str(ndpi_risk_enum risk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2379
    functionName: STRINGIFY
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(x)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2383,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2385,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2387,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2389,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2391,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2393,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2395,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2397,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2399,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2401,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2403,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2405,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2407,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2409,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2411,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2413,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2415,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2417,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2419,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2421,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2423,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2425,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2427,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2429,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2431,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2433,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2435,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2437,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2439,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2441,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2443,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2445,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2447,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2449,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2451,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2453,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2455,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2457,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2459,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2461,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2463,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2465,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2467,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2469,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2471,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2473,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2475,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2477,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2479,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2481,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2483,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2485,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2487,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2489,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2491,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2493,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 119
    argCount: 1
    argNames:
    - risk
    argTypes:
    - ndpi_risk_enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2500
    functionName: ndpi_risk2code
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - STRINGIFY
    linkageType: ''
    returnType: char
    signature: char * ndpi_risk2code(ndpi_risk_enum risk)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2505,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2505,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2507,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2507,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2509,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2509,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2511,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2511,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2513,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2513,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2515,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2515,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2517,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2517,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2519,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2519,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2521,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2521,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2523,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2523,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2525,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2525,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2527,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2527,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2529,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2529,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2531,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2531,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2533,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2533,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2535,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2535,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2537,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2537,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2539,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2539,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2541,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2541,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2543,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2543,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2545,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2545,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2547,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2547,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2549,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2549,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2551,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2551,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2553,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2553,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2555,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2555,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2557,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2557,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2559,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2559,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2561,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2561,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2563,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2563,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2565,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2565,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2567,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2567,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2569,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2569,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2571,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2571,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2573,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2573,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2575,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2575,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2577,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2577,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2579,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2579,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2581,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2581,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2583,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2583,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2585,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2585,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2587,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2587,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2589,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2589,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2591,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2591,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2593,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2593,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2595,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2595,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2597,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2597,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2599,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2599,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2601,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2601,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2603,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2603,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2605,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2605,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2607,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2607,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2609,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2609,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2611,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2611,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2613,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2613,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2615,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2615,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2617,1
    - Dst: STRINGIFY
      Src: /src/ndpi/src/lib/ndpi_utils.c:2617,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 116
    argCount: 1
    argNames:
    - risk
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2504
    functionDepth: 0
    functionLinenumber: 2504
    functionLinenumberEnd: 2621
    functionName: ndpi_code2risk
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - strcmp
    - STRINGIFY
    linkageType: ''
    returnType: ndpi_risk_enum
    signature: ndpi_risk_enum ndpi_code2risk(const char* risk)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - ndpi_risk_severity
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2647
    functionName: ndpi_severity2str
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ndpi_severity2str(ndpi_risk_severity s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_ISSET_BIT
      Src: /src/ndpi/src/lib/ndpi_utils.c:2664,1
    - Dst: ndpi_risk2severity
      Src: /src/ndpi/src/lib/ndpi_utils.c:2665,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - risk
    - client_score
    - server_score
    argTypes:
    - ndpi_risk
    - u_int16_t*
    - u_int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2651
    functionDepth: 1
    functionLinenumber: 2651
    functionLinenumberEnd: 2702
    functionName: ndpi_risk2score
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 2
    functionsReached:
    - NDPI_ISSET_BIT
    - ndpi_risk2severity
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_risk2score(ndpi_risk risk,\n\t\t\t  u_int16_t *client_score,\n\t\t\t
      \ u_int16_t *server_score)"
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 1
    argNames:
    - m
    argTypes:
    - ndpi_http_method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2791
    functionName: ndpi_http_method2str
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ndpi_http_method2str(ndpi_http_method m)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2818,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2820,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2836,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2838,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:2840,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - method
    - method_len
    argTypes:
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2850
    functionName: ndpi_http_str2method
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: ndpi_http_method
    signature: ndpi_http_method ndpi_http_str2method(const char* method, u_int16_t
      method_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:2858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - ndpi_str_hash**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2862
    functionName: ndpi_hash_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 7
    functionsReached:
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int ndpi_hash_init(ndpi_str_hash **h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DEL
      Src: /src/ndpi/src/lib/ndpi_utils.c:2872,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:2873,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:2874,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:2877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - ndpi_str_hash**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2866
    functionDepth: 1
    functionLinenumber: 2866
    functionLinenumberEnd: 2880
    functionName: ndpi_hash_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 3
    functionsReached:
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_hash_free(ndpi_str_hash **h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DEL
      Src: /src/ndpi/src/lib/ndpi_utils.c:2872,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:2873,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:2874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2871
    functionDepth: 1
    functionLinenumber: 2871
    functionLinenumberEnd: 2875
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, h_priv, current, tmp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/ndpi/src/lib/ndpi_utils.c:2894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - h
    - key
    - key_len
    - value
    argTypes:
    - ndpi_str_hash*
    - char*
    - u_int
    - u_int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2904
      start: 2884
    functionDepth: 1
    functionLinenumber: 2884
    functionLinenumberEnd: 2904
    functionName: ndpi_hash_find_entry
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 2
    functionsReached:
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int ndpi_hash_find_entry(ndpi_str_hash *h, char *key, u_int key_len,
      u_int64_t *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/ndpi/src/lib/ndpi_utils.c:2917,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:2924,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:2928,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:2931,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:2934,1
    - Dst: HASH_ADD
      Src: /src/ndpi/src/lib/ndpi_utils.c:2940,1
    - Dst: HASH_FIND
      Src: /src/ndpi/src/lib/ndpi_utils.c:2942,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:2944,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:2945,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - h
    - key
    - key_len
    - value
    argTypes:
    - ndpi_str_hash**
    - char*
    - u_int8_t
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2908
    functionDepth: 1
    functionLinenumber: 2908
    functionLinenumberEnd: 2950
    functionName: ndpi_hash_add_entry
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 7
    functionsReached:
    - HASH_FIND
    - ndpi_malloc
    - HASH_ADD
    - ndpi_free
    - memcpy
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int ndpi_hash_add_entry(ndpi_str_hash **h, char *key, u_int8_t key_len,
      u_int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - h
    - stats
    argTypes:
    - ndpi_str_hash*
    - struct ndpi_str_hash_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2954
    functionDepth: 0
    functionLinenumber: 2954
    functionLinenumberEnd: 2962
    functionName: ndpi_hash_get_stats
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_hash_get_stats(ndpi_str_hash *h, struct ndpi_str_hash_stats
      *stats)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_hash_get_stats
      Src: /src/ndpi/src/lib/ndpi_utils.c:2974,1
    - Dst: ndpi_hash_get_stats
      Src: /src/ndpi/src/lib/ndpi_utils.c:2978,1
    - Dst: ndpi_hash_get_stats
      Src: /src/ndpi/src/lib/ndpi_utils.c:2982,1
    - Dst: ndpi_hash_get_stats
      Src: /src/ndpi/src/lib/ndpi_utils.c:2986,1
    - Dst: ndpi_hash_get_stats
      Src: /src/ndpi/src/lib/ndpi_utils.c:2990,1
    - Dst: ndpi_hash_get_stats
      Src: /src/ndpi/src/lib/ndpi_utils.c:2994,1
    - Dst: ndpi_hash_get_stats
      Src: /src/ndpi/src/lib/ndpi_utils.c:2998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - ndpi_struct
    - hash_type
    - stats
    argTypes:
    - struct ndpi_detection_module_struct*
    - str_hash_type
    - struct ndpi_str_hash_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2965
    functionDepth: 1
    functionLinenumber: 2965
    functionLinenumberEnd: 3004
    functionName: ndpi_get_hash_stats
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_get_stats
    linkageType: ''
    returnType: int
    signature: "int ndpi_get_hash_stats(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                       str_hash_type hash_type,\n                        struct
      ndpi_str_hash_stats *stats)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/src/lib/ndpi_utils.c:3017,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_utils.c:3019,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_str
    - pin
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct in_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3008
    functionDepth: 1
    functionLinenumber: 3008
    functionLinenumberEnd: 3025
    functionName: ndpi_host_ip_risk_ptree_match
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_fill_prefix_v4
    linkageType: ''
    returnType: u_int64_t
    signature: "u_int64_t ndpi_host_ip_risk_ptree_match(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t       struct in_addr *pin /* network byte order */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/src/lib/ndpi_utils.c:3038,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/src/lib/ndpi_utils.c:3040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_str
    - pin6
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3046
      start: 3029
    functionDepth: 1
    functionLinenumber: 3029
    functionLinenumberEnd: 3046
    functionName: ndpi_host_ip_risk_ptree_match6
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_search_best
    - ndpi_fill_prefix_v6
    linkageType: ''
    returnType: u_int64_t
    signature: "u_int64_t ndpi_host_ip_risk_ptree_match6(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t        struct in6_addr *pin6)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:3057,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_str
    - issuerDN
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3065
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3065
    functionName: ndpi_check_issuerdn_risk_exception
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_check_issuerdn_risk_exception(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t    char *issuerDN)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_utils.c:3083,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:3084,1
    - Dst: ac_automata_search
      Src: /src/ndpi/src/lib/ndpi_utils.c:3087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - hostname
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3095
      start: 3070
    functionDepth: 1
    functionLinenumber: 3070
    functionLinenumberEnd: 3095
    functionName: ndpi_check_hostname_risk_exception
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ac_automata_search
    - memset
    - strlen
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_check_hostname_risk_exception(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t\t   struct ndpi_flow_struct *flow,\n\t\t\t\t\t\t   char
      *hostname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_host_ip_risk_ptree_match
      Src: /src/ndpi/src/lib/ndpi_utils.c:3107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - addr
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3112
      start: 3100
    functionDepth: 2
    functionLinenumber: 3100
    functionLinenumberEnd: 3112
    functionName: ndpi_check_ipv4_exception
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_host_ip_risk_ptree_match
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_check_ipv4_exception(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t  struct ndpi_flow_struct *flow,\n\t\t\t\t\t  u_int32_t
      addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_host_ip_risk_ptree_match6
      Src: /src/ndpi/src/lib/ndpi_utils.c:3121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - addr
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3116
    functionDepth: 2
    functionLinenumber: 3116
    functionLinenumberEnd: 3126
    functionName: ndpi_check_ipv6_exception
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_host_ip_risk_ptree_match6
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_check_ipv6_exception(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t  struct ndpi_flow_struct *flow,\n\t\t\t\t\t  struct in6_addr
      *addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/src/lib/ndpi_utils.c:3132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_str
    - flowrisk_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_risk_enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 3130
    functionDepth: 1
    functionLinenumber: 3130
    functionLinenumberEnd: 3135
    functionName: is_flowrisk_enabled
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_bitmask_is_set
    linkageType: ''
    returnType: int
    signature: int is_flowrisk_enabled(struct ndpi_detection_module_struct *ndpi_str,
      ndpi_risk_enum flowrisk_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/src/lib/ndpi_utils.c:3141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_str
    - flowrisk_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_risk_enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3139
    functionDepth: 1
    functionLinenumber: 3139
    functionLinenumberEnd: 3144
    functionName: is_flowrisk_info_enabled
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_bitmask_is_set
    linkageType: ''
    returnType: int
    signature: int is_flowrisk_info_enabled(struct ndpi_detection_module_struct *ndpi_str,
      ndpi_risk_enum flowrisk_id)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_flow_name
      Src: /src/ndpi/src/lib/ndpi_utils.c:3156,1
    - Dst: ndpi_check_hostname_risk_exception
      Src: /src/ndpi/src/lib/ndpi_utils.c:3160,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:3171,1
    - Dst: ndpi_check_ipv4_exception
      Src: /src/ndpi/src/lib/ndpi_utils.c:3188,1
    - Dst: ndpi_check_ipv4_exception
      Src: /src/ndpi/src/lib/ndpi_utils.c:3189,1
    - Dst: ndpi_check_ipv6_exception
      Src: /src/ndpi/src/lib/ndpi_utils.c:3191,1
    - Dst: ndpi_check_ipv6_exception
      Src: /src/ndpi/src/lib/ndpi_utils.c:3192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3148
    functionDepth: 3
    functionLinenumber: 3148
    functionLinenumberEnd: 3199
    functionName: ndpi_handle_risk_exceptions
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_check_hostname_risk_exception
    - ndpi_check_ipv6_exception
    - ndpi_check_ipv4_exception
    - ndpi_free
    - ndpi_get_flow_name
    linkageType: ''
    returnType: void
    signature: "void ndpi_handle_risk_exceptions(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: is_flowrisk_enabled
      Src: /src/ndpi/src/lib/ndpi_utils.c:3207,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3211,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/ndpi_utils.c:3225,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_utils.c:3228,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/ndpi_utils.c:3238,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_utils.c:3250,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - ndpi_str
    - flow
    - r
    - risk_message
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - ndpi_risk_enum
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3203
    functionDepth: 2
    functionLinenumber: 3203
    functionLinenumberEnd: 3259
    functionName: ndpi_set_risk
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 18
    functionsReached:
    - ndpi_isset_risk
    - ndpi_strdup
    - is_flowrisk_enabled
    - is_flowrisk_info_enabled
    linkageType: ''
    returnType: void
    signature: "void ndpi_set_risk(struct ndpi_detection_module_struct *ndpi_str,
      struct ndpi_flow_struct *flow,\n                   ndpi_risk_enum r, char *risk_message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3265,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/ndpi_utils.c:3271,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:3278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - r
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - ndpi_risk_enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3289
      start: 3263
    functionDepth: 2
    functionLinenumber: 3263
    functionLinenumberEnd: 3289
    functionName: ndpi_unset_risk
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_isset_risk
    - is_flowrisk_info_enabled
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: "void ndpi_unset_risk(struct ndpi_detection_module_struct *ndpi_str,\n
      \                    struct ndpi_flow_struct *flow, ndpi_risk_enum r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - flow
    - r
    argTypes:
    - struct ndpi_flow_struct*
    - ndpi_risk_enum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3293
    functionDepth: 0
    functionLinenumber: 3293
    functionLinenumberEnd: 3297
    functionName: ndpi_isset_risk
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_isset_risk(struct ndpi_flow_struct *flow, ndpi_risk_enum r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/ndpi_utils.c:3306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3312
      start: 3301
    functionDepth: 1
    functionLinenumber: 3301
    functionLinenumberEnd: 3312
    functionName: ndpi_is_printable_buffer
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_isprint
    linkageType: ''
    returnType: int
    signature: int ndpi_is_printable_buffer(uint8_t const * const buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/ndpi_utils.c:3321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3316
    functionDepth: 1
    functionLinenumber: 3316
    functionLinenumberEnd: 3328
    functionName: ndpi_normalize_printable_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_isprint
    linkageType: ''
    returnType: int
    signature: int ndpi_normalize_printable_string(char * const str, size_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/ndpi/src/lib/ndpi_utils.c:3371,1
    - Dst: isalnum
      Src: /src/ndpi/src/lib/ndpi_utils.c:3376,1
    - Dst: isalnum
      Src: /src/ndpi/src/lib/ndpi_utils.c:3392,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 2
    argNames:
    - hostname
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3344
    functionDepth: 0
    functionLinenumber: 3344
    functionLinenumberEnd: 3396
    functionName: ndpi_is_valid_hostname
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - isalnum
    linkageType: ''
    returnType: bool
    signature: bool ndpi_is_valid_hostname(char * const hostname, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_utils.c:3405,1
    - Dst: log2f
      Src: /src/ndpi/src/lib/ndpi_utils.c:3417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u_int8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3421
    functionName: ndpi_entropy
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - memset
    - log2f
    linkageType: ''
    returnType: float
    signature: float ndpi_entropy(u_int8_t const * const buf, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_ENTROPY_ENCRYPTED_OR_RANDOM
      Src: /src/ndpi/src/lib/ndpi_utils.c:3432,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:3433,1
    - Dst: NDPI_ENTROPY_EXECUTABLE_ENCRYPTED
      Src: /src/ndpi/src/lib/ndpi_utils.c:3434,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:3435,1
    - Dst: NDPI_ENTROPY_EXECUTABLE_PACKED
      Src: /src/ndpi/src/lib/ndpi_utils.c:3436,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:3437,1
    - Dst: NDPI_ENTROPY_EXECUTABLE
      Src: /src/ndpi/src/lib/ndpi_utils.c:3438,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:3439,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:3441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - entropy
    - buf
    - len
    argTypes:
    - float
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3445
      start: 3426
    functionDepth: 1
    functionLinenumber: 3426
    functionLinenumberEnd: 3445
    functionName: ndpi_entropy2str
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - snprintf
    - NDPI_ENTROPY_EXECUTABLE_ENCRYPTED
    - NDPI_ENTROPY_EXECUTABLE_PACKED
    - NDPI_ENTROPY_EXECUTABLE
    - NDPI_ENTROPY_ENCRYPTED_OR_RANDOM
    linkageType: ''
    returnType: char
    signature: char *ndpi_entropy2str(float entropy, char *buf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_ENTROPY_PLAINTEXT
      Src: /src/ndpi/src/lib/ndpi_utils.c:3453,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3468,1
    - Dst: ndpi_entropy2str
      Src: /src/ndpi/src/lib/ndpi_utils.c:3469,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3473,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3474,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3475,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3476,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3477,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3478,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3479,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3487,1
    - Dst: ndpi_entropy2str
      Src: /src/ndpi/src/lib/ndpi_utils.c:3488,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/ndpi_utils.c:3493,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3494
      start: 3449
    functionDepth: 3
    functionLinenumber: 3449
    functionLinenumberEnd: 3494
    functionName: ndpi_entropy2risk
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_set_risk
    - NDPI_ENTROPY_PLAINTEXT
    - ndpi_unset_risk
    - ndpi_isset_risk
    - ndpi_entropy2str
    linkageType: ''
    returnType: void
    signature: "void ndpi_entropy2risk(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbuf
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3498
    functionDepth: 0
    functionLinenumber: 3498
    functionLinenumberEnd: 3501
    functionName: get_n16bit
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_n16bit(uint8_t const * cbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_n16bit
      Src: /src/ndpi/src/lib/ndpi_utils.c:3512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - u_int8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3524
      start: 3503
    functionDepth: 1
    functionLinenumber: 3503
    functionLinenumberEnd: 3524
    functionName: icmp4_checksum
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - get_n16bit
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t icmp4_checksum(const u_int8_t * buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3536
      start: 3528
    functionDepth: 0
    functionLinenumber: 3528
    functionLinenumberEnd: 3536
    functionName: ndpi_get_flow_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ndpi_get_flow_name(struct ndpi_flow_struct *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_utils.c:3573,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_utils.c:3574,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:3576,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:3579,1
    - Dst: ac_automata_add
      Src: /src/ndpi/src/lib/ndpi_utils.c:3581,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:3582,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:3583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3586
      start: 3540
    functionDepth: 1
    functionLinenumber: 3540
    functionLinenumberEnd: 3586
    functionName: load_common_alpns
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - strlen
    - ndpi_strdup
    - ac_automata_add
    - ndpi_free
    - memset
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: void
    signature: void load_common_alpns(struct ndpi_detection_module_struct *ndpi_str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_utils.c:3598,1
    - Dst: ac_automata_search
      Src: /src/ndpi/src/lib/ndpi_utils.c:3602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ndpi_str
    - alpn_to_check
    - alpn_to_check_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3607
      start: 3590
    functionDepth: 1
    functionLinenumber: 3590
    functionLinenumberEnd: 3607
    functionName: is_a_common_alpn
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ac_automata_search
    - memset
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t is_a_common_alpn(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \ const char *alpn_to_check, u_int alpn_to_check_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_str
    - protoId
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3615
      start: 3611
    functionDepth: 0
    functionLinenumber: 3611
    functionLinenumberEnd: 3615
    functionName: ndpi_is_valid_protoId
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_is_valid_protoId(const struct ndpi_detection_module_struct
      *ndpi_str, u_int16_t protoId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_utils.c:3621,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_utils.c:3623,1
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_utils.c:3623,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_str
    - proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_master_app_protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3619
    functionDepth: 1
    functionLinenumber: 3619
    functionLinenumberEnd: 3632
    functionName: ndpi_is_encrypted_proto
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_is_valid_protoId
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_is_encrypted_proto(struct ndpi_detection_module_struct
      *ndpi_str,\n                                 ndpi_master_app_protocol proto)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3649
      start: 3636
    functionDepth: 0
    functionLinenumber: 3636
    functionLinenumberEnd: 3649
    functionName: ndpi_get_flow_error_code
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_get_flow_error_code(struct ndpi_flow_struct *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf_s
      Src: /src/ndpi/src/lib/ndpi_utils.c:3660,1
    - Dst: vsnprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:3668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - str
    - size
    - format
    - va_args
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3670
      start: 3653
    functionDepth: 0
    functionLinenumber: 3653
    functionLinenumberEnd: 3670
    functionName: ndpi_vsnprintf
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - vsnprintf
    - vsnprintf_s
    linkageType: ''
    returnType: int
    signature: int ndpi_vsnprintf(char * str, size_t size, char const * format, va_list
      va_args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_s
      Src: /src/ndpi/src/lib/ndpi_utils.c:3678,1
    - Dst: gmtime_r
      Src: /src/ndpi/src/lib/ndpi_utils.c:3681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - timep
    - result
    argTypes:
    - time_t*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3683
      start: 3674
    functionDepth: 0
    functionLinenumber: 3674
    functionLinenumberEnd: 3683
    functionName: ndpi_gmtime_r
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - gmtime_s
    - gmtime_r
    linkageType: ''
    returnType: struct tm
    signature: "struct tm *ndpi_gmtime_r(const time_t *timep,\n                         struct
      tm *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/ndpi/src/lib/ndpi_utils.c:3690,1
    - Dst: ndpi_vsnprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:3691,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/ndpi_utils.c:3692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3695
      start: 3687
    functionDepth: 1
    functionLinenumber: 3687
    functionLinenumberEnd: 3695
    functionName: ndpi_snprintf
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 20
    functionsReached:
    - va_end
    - va_start
    - ndpi_vsnprintf
    linkageType: ''
    returnType: int
    signature: int ndpi_snprintf(char * str, size_t size, char const * format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3705
      start: 3699
    functionDepth: 0
    functionLinenumber: 3699
    functionLinenumberEnd: 3705
    functionName: risk_infos_pair_cmp
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int risk_infos_pair_cmp (const void *_a, const void *_b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:3721,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:3724,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/ndpi_utils.c:3725,1
    - Dst: ndpi_init_serializer
      Src: /src/ndpi/src/lib/ndpi_utils.c:3732,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:3733,1
    - Dst: ndpi_serialize_uint32_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:3738,1
    - Dst: ndpi_serializer_get_buffer
      Src: /src/ndpi/src/lib/ndpi_utils.c:3742,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_utils.c:3745,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:3747,1
    - Dst: ndpi_term_serializer
      Src: /src/ndpi/src/lib/ndpi_utils.c:3751,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:3753,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:3759,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:3773,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - flow
    - out
    - out_len
    - use_json
    argTypes:
    - struct ndpi_flow_struct*
    - char*
    - u_int
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3776
      start: 3709
    functionDepth: 1
    functionLinenumber: 3709
    functionLinenumberEnd: 3776
    functionName: ndpi_get_flow_risk_info
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_uint32_string
    - ndpi_serializer_get_buffer
    - snprintf
    - ndpi_malloc
    - strncpy
    - ndpi_free
    - ndpi_min
    - ndpi_term_serializer
    - ndpi_init_serializer
    - memcpy
    - qsort
    linkageType: ''
    returnType: char
    signature: "char * ndpi_get_flow_risk_info(struct ndpi_flow_struct *flow,\n\t\t\t
      \     char *out, u_int out_len,\n\t\t\t      u_int8_t use_json)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_check_hostname_risk_exception
      Src: /src/ndpi/src/lib/ndpi_utils.c:3798,1
    - Dst: ndpi_check_issuerdn_risk_exception
      Src: /src/ndpi/src/lib/ndpi_utils.c:3803,1
    - Dst: ndpi_check_ipv4_exception
      Src: /src/ndpi/src/lib/ndpi_utils.c:3808,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:3813,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - ndpi_str
    - num_params
    - params
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int
    - ndpi_risk_params[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3819
      start: 3787
    functionDepth: 3
    functionLinenumber: 3787
    functionLinenumberEnd: 3819
    functionName: ndpi_check_flow_risk_exceptions
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_check_hostname_risk_exception
    - ndpi_check_ipv4_exception
    - ndpi_check_issuerdn_risk_exception
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_check_flow_risk_exceptions(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t u_int num_params,\n\t\t\t\t\t ndpi_risk_params params[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - payload
    - payload_len
    - value_len
    argTypes:
    - unsigned char*
    - int
    - u_int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3823
    functionDepth: 0
    functionLinenumber: 3823
    functionLinenumberEnd: 3855
    functionName: asn1_ber_decode_length
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t asn1_ber_decode_length(const unsigned char *payload, int payload_len,
      u_int16_t *value_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - addr
    - buf
    - bufLen
    argTypes:
    - unsigned int
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3884
      start: 3859
    functionDepth: 0
    functionLinenumber: 3859
    functionLinenumberEnd: 3884
    functionName: ndpi_intoav4
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ndpi_intoav4(unsigned int addr, char* buf, u_int16_t bufLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_utils.c:3893,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/ndpi_utils.c:3900,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:3906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - addr
    - buf
    - bufLen
    argTypes:
    - struct ndpi_in6_addr*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3915
      start: 3888
    functionDepth: 0
    functionLinenumber: 3888
    functionLinenumberEnd: 3915
    functionName: ndpi_intoav6
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - inet_ntop
    - strlen
    linkageType: ''
    returnType: char
    signature: char * ndpi_intoav6(struct ndpi_in6_addr *addr, char* buf, u_int16_t
      bufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3931
      start: 3920
    functionDepth: 0
    functionLinenumber: 3920
    functionLinenumberEnd: 3931
    functionName: ndpi_nearest_power_of_two
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_nearest_power_of_two(u_int32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/ndpi_utils.c:3938,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_utils.c:3938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3939
      start: 3935
    functionDepth: 1
    functionLinenumber: 3935
    functionLinenumberEnd: 3939
    functionName: tpkt_verify_hdr
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - htons
    linkageType: ''
    returnType: int
    signature: int tpkt_verify_hdr(const struct ndpi_packet_struct * const packet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/ndpi/src/lib/ndpi_utils.c:3954,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 5
    argNames:
    - numstr
    - minval
    - maxval
    - errstrp
    - base
    argTypes:
    - char*
    - int64_t
    - int64_t
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3979
      start: 3943
    functionDepth: 0
    functionLinenumber: 3943
    functionLinenumberEnd: 3979
    functionName: ndpi_strtonum
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 5
    functionsReached:
    - strtoll
    linkageType: ''
    returnType: int64_t
    signature: "int64_t ndpi_strtonum(const char *numstr, int64_t minval,\n\t\t      int64_t
      maxval, const char **errstrp, int base)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:3989,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/ndpi_utils.c:3995,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4006
      start: 3983
    functionDepth: 0
    functionLinenumber: 3983
    functionLinenumberEnd: 4006
    functionName: ndpi_strrstr
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - strstr
    - strlen
    linkageType: ''
    returnType: char
    signature: char * ndpi_strrstr(const char *haystack, const char *needle)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - m
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4019
      start: 4010
    functionDepth: 0
    functionLinenumber: 4010
    functionLinenumberEnd: 4019
    functionName: ndpi_memrchr
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *ndpi_memrchr(const void *m, int c, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:4025,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:4026,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/ndpi_utils.c:4028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - suffix
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4029
      start: 4024
    functionDepth: 0
    functionLinenumber: 4024
    functionLinenumberEnd: 4029
    functionName: ndpi_str_endswith
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int ndpi_str_endswith(const char *s, const char *suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - lru_cache_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4042
      start: 4033
    functionDepth: 0
    functionLinenumber: 4033
    functionLinenumberEnd: 4042
    functionName: ndpi_lru_cache_idx_to_name
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ndpi_lru_cache_idx_to_name(lru_cache_type idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shoco_compress
      Src: /src/ndpi/src/lib/ndpi_utils.c:4047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - in
    - len
    - out
    - bufsize
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4053
      start: 4046
    functionDepth: 1
    functionLinenumber: 4046
    functionLinenumberEnd: 4053
    functionName: ndpi_compress_str
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - shoco_compress
    linkageType: ''
    returnType: size_t
    signature: size_t ndpi_compress_str(const char * in, size_t len, char * out, size_t
      bufsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shoco_decompress
      Src: /src/ndpi/src/lib/ndpi_utils.c:4058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - in
    - len
    - out
    - bufsize
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4059
      start: 4057
    functionDepth: 1
    functionLinenumber: 4057
    functionLinenumberEnd: 4059
    functionName: ndpi_decompress_str
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - shoco_decompress
    linkageType: ''
    returnType: size_t
    signature: size_t ndpi_decompress_str(const char * in, size_t len, char * out,
      size_t bufsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_utils.c:4075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4086
      start: 4071
    functionDepth: 0
    functionLinenumber: 4071
    functionLinenumberEnd: 4086
    functionName: ndpi_domain_mapper_init
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ndpi_domain_mapper_init()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_domain_mapper_init
      Src: /src/ndpi/src/lib/ndpi_utils.c:4099,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:4103,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:4109,1
    - Dst: ndpi_get_host_domain_suffix
      Src: /src/ndpi/src/lib/ndpi_utils.c:4112,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:4115,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:4117,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:4118,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:4118,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:4121,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:4133,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:4144,1
    - Dst: ndpi_compress_str
      Src: /src/ndpi/src/lib/ndpi_utils.c:4150,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:4156,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_utils.c:4158,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_utils.c:4158,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:4159,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:4172,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:4173,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:4174,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 4
    argNames:
    - ndpi_str
    - domain
    - out
    - out_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4179
      start: 4090
    functionDepth: 2
    functionLinenumber: 4090
    functionLinenumberEnd: 4179
    functionName: ndpi_encode_domain
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 2
    functionsReached:
    - ndpi_get_host_domain_suffix
    - strlen
    - snprintf
    - ndpi_min
    - fprintf
    - ndpi_domain_mapper_init
    - memcpy
    - ndpi_compress_str
    linkageType: ''
    returnType: u_int
    signature: "u_int ndpi_encode_domain(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      char *domain, char *out, u_int out_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - flow
    - id
    argTypes:
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4189
      start: 4183
    functionDepth: 0
    functionLinenumber: 4183
    functionLinenumberEnd: 4189
    functionName: is_ndpi_proto
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t is_ndpi_proto(struct ndpi_flow_struct *flow, u_int16_t id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: is_ndpi_proto
      Src: /src/ndpi/src/lib/ndpi_utils.c:4195,1
    - Dst: is_ndpi_proto
      Src: /src/ndpi/src/lib/ndpi_utils.c:4195,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:4200,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:4202,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:4205,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:4207,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/src/lib/ndpi_utils.c:4208,1
    - Dst: is_ndpi_proto
      Src: /src/ndpi/src/lib/ndpi_utils.c:4214,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:4216,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:4217,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:4220,1
    - Dst: is_ndpi_proto
      Src: /src/ndpi/src/lib/ndpi_utils.c:4223,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:4226,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:4227,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:4228,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_utils.c:4229,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - ndpi_str
    - flow
    - serializer
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4235
      start: 4193
    functionDepth: 3
    functionLinenumber: 4193
    functionLinenumberEnd: 4235
    functionName: ndpi_serialize_flow_fingerprint
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_get_host_domain
    - ndpi_serialize_string_string
    - is_ndpi_proto
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_serialize_flow_fingerprint(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t     struct ndpi_flow_struct *flow, ndpi_serializer *serializer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/ndpi/src/lib/ndpi_utils.c:4249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - out
    - out_len
    - in
    - in_len
    argTypes:
    - u_char*
    - u_int
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4253
      start: 4239
    functionDepth: 0
    functionLinenumber: 4239
    functionLinenumberEnd: 4253
    functionName: ndpi_hex2bin
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: u_int
    signature: u_int ndpi_hex2bin(u_char *out, u_int out_len, u_char* in, u_int in_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:4266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - out
    - out_len
    - in
    - in_len
    argTypes:
    - u_char*
    - u_int
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4271
      start: 4257
    functionDepth: 0
    functionLinenumber: 4257
    functionLinenumberEnd: 4271
    functionName: ndpi_bin2hex
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: u_int
    signature: u_int ndpi_bin2hex(u_char *out, u_int out_len, u_char* in, u_int in_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:4296,1
    - Dst: ndpi_hex2bin
      Src: /src/ndpi/src/lib/ndpi_utils.c:4303,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:4305,1
    - Dst: AES_init_ctx_iv
      Src: /src/ndpi/src/lib/ndpi_utils.c:4313,1
    - Dst: AES_CBC_encrypt_buffer
      Src: /src/ndpi/src/lib/ndpi_utils.c:4314,1
    - Dst: ndpi_base64_encode
      Src: /src/ndpi/src/lib/ndpi_utils.c:4316,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:4317,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:4320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - cleartext_msg
    - cleartext_msg_len
    - encrypted_msg_len
    - encrypt_key
    argTypes:
    - char*
    - u_int16_t
    - u_int16_t*
    - u_char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4323
      start: 4281
    functionDepth: 1
    functionLinenumber: 4281
    functionLinenumberEnd: 4323
    functionName: ndpi_quick_encrypt
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - ndpi_base64_encode
    - ndpi_hex2bin
    - ndpi_free
    - AES_CBC_encrypt_buffer
    - AES_init_ctx_iv
    - ndpi_calloc
    linkageType: ''
    returnType: char
    signature: "char * ndpi_quick_encrypt(const char *cleartext_msg,\n\t\t\t u_int16_t
      cleartext_msg_len,\n\t\t\t u_int16_t *encrypted_msg_len,\n\t\t\t u_char encrypt_key[64])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:4335,1
    - Dst: ndpi_hex2bin
      Src: /src/ndpi/src/lib/ndpi_utils.c:4346,1
    - Dst: ndpi_base64_decode
      Src: /src/ndpi/src/lib/ndpi_utils.c:4348,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:4352,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:4353,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:4359,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:4360,1
    - Dst: AES_init_ctx_iv
      Src: /src/ndpi/src/lib/ndpi_utils.c:4365,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:4366,1
    - Dst: AES_CBC_decrypt_buffer
      Src: /src/ndpi/src/lib/ndpi_utils.c:4367,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:4379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - encrypted_msg
    - encrypted_msg_len
    - decrypted_msg_len
    - decrypt_key
    argTypes:
    - char*
    - u_int16_t
    - u_int16_t*
    - u_char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4382
      start: 4327
    functionDepth: 1
    functionLinenumber: 4327
    functionLinenumberEnd: 4382
    functionName: ndpi_quick_decrypt
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ndpi_calloc
    - ndpi_hex2bin
    - AES_CBC_decrypt_buffer
    - ndpi_free
    - AES_init_ctx_iv
    - ndpi_base64_decode
    linkageType: ''
    returnType: char
    signature: "char * ndpi_quick_decrypt(const char *encrypted_msg,\n\t\t\t u_int16_t
      encrypted_msg_len,\n\t\t\t u_int16_t *decrypted_msg_len,\n\t\t\t u_char decrypt_key[64])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/ndpi/src/lib/ndpi_utils.c:4390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4391
      start: 4386
    functionDepth: 0
    functionLinenumber: 4386
    functionLinenumberEnd: 4391
    functionName: ndpi_fill_randombytes
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: void
    signature: void ndpi_fill_randombytes(unsigned char *buf, unsigned int buf_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - os_hint
    argTypes:
    - ndpi_os
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4408
      start: 4395
    functionDepth: 0
    functionLinenumber: 4395
    functionLinenumberEnd: 4408
    functionName: ndpi_print_os_hint
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ndpi_print_os_hint(ndpi_os os_hint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:4413,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_utils.c:4417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4421
      start: 4412
    functionDepth: 0
    functionLinenumber: 4412
    functionLinenumberEnd: 4421
    functionName: ndpi_strndup
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ndpi_malloc
    linkageType: ''
    returnType: char
    signature: char * ndpi_strndup(const char *s, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - ptr_len
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4443
      start: 4425
    functionDepth: 0
    functionLinenumber: 4425
    functionLinenumberEnd: 4443
    functionName: ndpi_strip_leading_trailing_spaces
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *ndpi_strip_leading_trailing_spaces(char *ptr, int *ptr_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_utils.c:4449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_str
    - protoId
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4453
      start: 4447
    functionDepth: 1
    functionLinenumber: 4447
    functionLinenumberEnd: 4453
    functionName: ndpi_find_protocol_qoe
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_is_valid_protoId
    linkageType: ''
    returnType: ndpi_protocol_qoe_category_t
    signature: "ndpi_protocol_qoe_category_t ndpi_find_protocol_qoe(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t\t    u_int16_t protoId)"
  - BBCount: 73
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 149
    argCount: 2
    argNames:
    - payload_type
    - evs_payload_type
    argTypes:
    - u_int8_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4545
      start: 4458
    functionDepth: 0
    functionLinenumber: 4458
    functionLinenumberEnd: 4545
    functionName: ndpi_rtp_payload_type2str
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ndpi_rtp_payload_type2str(u_int8_t payload_type, u_int32_t evs_payload_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - u_char*
    - u_int
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4571
      start: 4549
    functionDepth: 0
    functionLinenumber: 4549
    functionLinenumberEnd: 4571
    functionName: ndpi_str_to_utf8
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_char
    signature: u_char * ndpi_str_to_utf8(u_char *in, u_int in_len, u_char *out, u_int
      out_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_valid_protoId
      Src: /src/ndpi/src/lib/ndpi_utils.c:4582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_str
    - proto_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4586
      start: 4580
    functionDepth: 1
    functionLinenumber: 4580
    functionLinenumberEnd: 4586
    functionName: ndpi_is_master_only_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_is_valid_protoId
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_is_master_only_protocol(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t  u_int16_t proto_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_master_only_protocol
      Src: /src/ndpi/src/lib/ndpi_utils.c:4595,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_utils.c:4601,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/src/lib/ndpi_utils.c:4603,1
    - Dst: ndpi_is_master_only_protocol
      Src: /src/ndpi/src/lib/ndpi_utils.c:4611,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - ndpi_str
    - proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - ndpi_master_app_protocol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4622
      start: 4590
    functionDepth: 3
    functionLinenumber: 4590
    functionLinenumberEnd: 4622
    functionName: ndpi_normalize_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_get_proto_name
    - ndpi_is_master_only_protocol
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: bool
    signature: "bool ndpi_normalize_protocol(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \    ndpi_master_app_protocol *proto)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_utils.c:4630,1
    - Dst: howmanybits
      Src: /src/ndpi/src/lib/ndpi_utils.c:4630,1
    - Dst: howmanybits
      Src: /src/ndpi/src/lib/ndpi_utils.c:4634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - b
    - max_bits
    argTypes:
    - struct ndpi_bitmask*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4636
      start: 4626
    functionDepth: 1
    functionLinenumber: 4626
    functionLinenumberEnd: 4636
    functionName: ndpi_bitmask_alloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - howmanybits
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int ndpi_bitmask_alloc(struct ndpi_bitmask *b, u_int16_t max_bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_utils.c:4641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct ndpi_bitmask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4644
      start: 4638
    functionDepth: 0
    functionLinenumber: 4638
    functionLinenumberEnd: 4644
    functionName: ndpi_bitmask_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmask_free(struct ndpi_bitmask *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - b
    - bit
    argTypes:
    - struct ndpi_bitmask*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4650
      start: 4646
    functionDepth: 0
    functionLinenumber: 4646
    functionLinenumberEnd: 4650
    functionName: ndpi_bitmask_set
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmask_set(struct ndpi_bitmask *b, u_int16_t bit)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - b
    - bit
    argTypes:
    - struct ndpi_bitmask*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4656
      start: 4652
    functionDepth: 0
    functionLinenumber: 4652
    functionLinenumberEnd: 4656
    functionName: ndpi_bitmask_clear
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmask_clear(struct ndpi_bitmask *b, u_int16_t bit)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - b
    - bit
    argTypes:
    - struct ndpi_bitmask*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4663
      start: 4658
    functionDepth: 0
    functionLinenumber: 4658
    functionLinenumberEnd: 4663
    functionName: ndpi_bitmask_is_set
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_bitmask_is_set(const struct ndpi_bitmask *b, u_int16_t bit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_utils.c:4668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct ndpi_bitmask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4669
      start: 4665
    functionDepth: 0
    functionLinenumber: 4665
    functionLinenumberEnd: 4669
    functionName: ndpi_bitmask_set_all
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmask_set_all(struct ndpi_bitmask *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_utils.c:4674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct ndpi_bitmask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4675
      start: 4671
    functionDepth: 0
    functionLinenumber: 4671
    functionLinenumberEnd: 4675
    functionName: ndpi_bitmask_reset
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmask_reset(struct ndpi_bitmask *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_utils.c:4682,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/ndpi_utils.c:4684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - host
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4688
      start: 4679
    functionDepth: 0
    functionLinenumber: 4679
    functionLinenumberEnd: 4688
    functionName: ndpi_check_is_numeric_ip
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - inet_pton
    linkageType: ''
    returnType: bool
    signature: bool ndpi_check_is_numeric_ip(char *host)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_utils.c:4702,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_utils.c:4703,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4720
      start: 4692
    functionDepth: 0
    functionLinenumber: 4692
    functionLinenumberEnd: 4720
    functionName: ndpi_tls_refine_master_protocol
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_tls_refine_master_protocol(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_tls_refine_master_protocol
      Src: /src/ndpi/src/lib/ndpi_utils.c:4731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4732
      start: 4724
    functionDepth: 1
    functionLinenumber: 4724
    functionLinenumberEnd: 4732
    functionName: ndpi_get_master_proto
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 0
    functionsReached:
    - ndpi_tls_refine_master_protocol
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t ndpi_get_master_proto(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\tstruct ndpi_flow_struct *flow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_stack_is_tls_like
      Src: /src/ndpi/src/lib/ndpi_utils.c:4740,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:4767,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/ndpi_utils.c:4769,1
    - Dst: ndpi_sha256
      Src: /src/ndpi/src/lib/ndpi_utils.c:4770,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_utils.c:4772,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/ndpi_utils.c:4781,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/ndpi_utils.c:4788,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_utils.c:4789,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/ndpi_utils.c:4791,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/ndpi_utils.c:4792,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - ndpi_str
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4800
      start: 4736
    functionDepth: 5
    functionLinenumber: 4736
    functionLinenumberEnd: 4800
    functionName: ndpi_compute_ndpi_flow_fingerprint
    functionSourceFile: /src/ndpi/src/lib/ndpi_utils.c
    functionUses: 1
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_hash_find_entry
    - strlen
    - ndpi_min
    - ndpi_get_master_proto
    - ndpi_snprintf
    - snprintf
    - ndpi_strdup
    - ndpi_stack_is_tls_like
    - ndpi_sha256
    linkageType: ''
    returnType: char
    signature: "char * ndpi_compute_ndpi_flow_fingerprint(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/ndpi/src/lib/ndpi_serializer.c:54,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/ndpi_serializer.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: ndpi_htonll
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - htonl
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_htonll(u_int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_serializer.c:67,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_serializer.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: ndpi_ntohll
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_ntohll(u_int64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/ndpi_serializer.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - str
    - str_len
    argTypes:
    - char*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: ndpi_is_number
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_isdigit
    linkageType: ''
    returnType: int
    signature: int ndpi_is_number(const char *str, u_int32_t str_len)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 58
    argCount: 4
    argNames:
    - src
    - src_len
    - dst
    - dst_max_len
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 163
    functionName: ndpi_json_string_escape
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_json_string_escape(const char *src, int src_len, char *dst,
      int dst_max_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 192
    functionName: ndpi_reset_serializer
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    linkageType: ''
    returnType: void
    signature: void ndpi_reset_serializer(ndpi_serializer *_serializer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ndpi_serializer_skip_header
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_serializer_skip_header(ndpi_serializer *_serializer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/ndpi_serializer.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - buffer_size
    argTypes:
    - ndpi_private_serializer_buffer*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: ndpi_init_serializer_buffer
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int ndpi_init_serializer_buffer(ndpi_private_serializer_buffer *buffer,
      u_int32_t buffer_size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/ndpi_serializer.c:220,1
    - Dst: ndpi_init_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:233,1
    - Dst: ndpi_init_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:240,1
    - Dst: ndpi_term_serializer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:241,1
    - Dst: ndpi_reset_serializer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - _serializer
    - fmt
    - buffer_size
    argTypes:
    - ndpi_serializer*
    - ndpi_serialization_format
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 256
    functionName: ndpi_init_serializer_ll
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_init_serializer_buffer
    - memset
    - ndpi_reset_serializer
    - ndpi_term_serializer
    linkageType: ''
    returnType: int
    signature: "int ndpi_init_serializer_ll(ndpi_serializer *_serializer,\n\t\t\t
      \   ndpi_serialization_format fmt,\n\t\t\t    u_int32_t buffer_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_serializer_ll
      Src: /src/ndpi/src/lib/ndpi_serializer.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _serializer
    - fmt
    argTypes:
    - ndpi_serializer*
    - ndpi_serialization_format
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: ndpi_init_serializer
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 3
    functionsReached:
    - ndpi_init_serializer_ll
    linkageType: ''
    returnType: int
    signature: "int ndpi_init_serializer(ndpi_serializer *_serializer,\n\t\t\t ndpi_serialization_format
      fmt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_realloc
      Src: /src/ndpi/src/lib/ndpi_serializer.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - buffer
    - min_len
    argTypes:
    - ndpi_private_serializer_buffer*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 292
    functionName: ndpi_extend_serializer_buffer
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_realloc
    linkageType: ''
    returnType: int
    signature: int ndpi_extend_serializer_buffer(ndpi_private_serializer_buffer *buffer,
      u_int32_t min_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - serializer
    - needed
    argTypes:
    - ndpi_private_serializer*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: ndpi_serializer_check_header_room
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_extend_serializer_buffer
    linkageType: ''
    returnType: int
    signature: int ndpi_serializer_check_header_room(ndpi_private_serializer *serializer,
      u_int32_t needed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serializer_check_header_room
      Src: /src/ndpi/src/lib/ndpi_serializer.c:316,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - serializer
    - key
    argTypes:
    - ndpi_private_serializer*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: ndpi_serializer_header_uint32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serializer_check_header_room
    - ndpi_snprintf
    linkageType: ''
    returnType: int
    signature: int ndpi_serializer_header_uint32(ndpi_private_serializer *serializer,
      u_int32_t key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serializer_check_header_room
      Src: /src/ndpi/src/lib/ndpi_serializer.c:335,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:341,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:342,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - serializer
    - key
    - klen
    argTypes:
    - ndpi_private_serializer*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 354
    functionName: ndpi_serializer_header_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serializer_check_header_room
    - memcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: int ndpi_serializer_header_string(ndpi_private_serializer *serializer,
      const char *key, u_int16_t klen)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - _serializer
    - buffer_len
    argTypes:
    - ndpi_serializer*
    - u_int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 374
    functionName: ndpi_serializer_get_buffer
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ndpi_serializer_get_buffer(ndpi_serializer *_serializer, u_int32_t
      *buffer_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: ndpi_serializer_get_buffer_len
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_serializer_get_buffer_len(ndpi_serializer *_serializer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: ndpi_serializer_get_internal_buffer_size
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_serializer_get_internal_buffer_size(ndpi_serializer
      *_serializer)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _serializer
    - l
    argTypes:
    - ndpi_serializer*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 402
    functionName: ndpi_serializer_set_buffer_len
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_serializer_set_buffer_len(ndpi_serializer *_serializer, u_int32_t
      l)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - _serializer
    - buffer_len
    argTypes:
    - ndpi_serializer*
    - u_int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 423
    functionName: ndpi_serializer_get_header
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ndpi_serializer_get_header(ndpi_serializer *_serializer, u_int32_t
      *buffer_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: ndpi_serializer_get_format
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ndpi_serialization_format
    signature: ndpi_serialization_format ndpi_serializer_get_format(ndpi_serializer
      *_serializer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _serializer
    - separator
    argTypes:
    - ndpi_serializer*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: ndpi_serializer_set_csv_separator
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_serializer_set_csv_separator(ndpi_serializer *_serializer,
      char separator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_serializer.c:447,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_serializer.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 457
    functionName: ndpi_term_serializer
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 4
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_term_serializer(ndpi_serializer *_serializer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serializer
    - s
    argTypes:
    - ndpi_private_serializer*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 467
    functionName: ndpi_serialize_single_uint8
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_serialize_single_uint8(ndpi_private_serializer *serializer,\n\t\t\t\t\t
      \      u_int8_t s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_serializer.c:473,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serializer
    - s
    argTypes:
    - ndpi_private_serializer*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: ndpi_serialize_single_uint16
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - htons
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_serialize_single_uint16(ndpi_private_serializer *serializer,\n\t\t\t\t\t\tu_int16_t
      s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/ndpi/src/lib/ndpi_serializer.c:483,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serializer
    - s
    argTypes:
    - ndpi_private_serializer*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 487
    functionName: ndpi_serialize_single_uint32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - htonl
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_serialize_single_uint32(ndpi_private_serializer *serializer,\n\t\t\t\t\t\tu_int32_t
      s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_htonll
      Src: /src/ndpi/src/lib/ndpi_serializer.c:493,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serializer
    - s
    argTypes:
    - ndpi_private_serializer*
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: ndpi_serialize_single_uint64
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_htonll
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_serialize_single_uint64(ndpi_private_serializer *serializer,\n\t\t\t\t\t\tu_int64_t
      s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serializer
    - s
    argTypes:
    - ndpi_private_serializer*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: ndpi_serialize_single_float
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_serialize_single_float(ndpi_private_serializer *serializer,\n\t\t\t\t\t
      \      float s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - serializer
    - s
    argTypes:
    - ndpi_private_serializer*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: ndpi_serialize_single_double
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_serialize_single_double(ndpi_private_serializer *serializer,\n
      \                          double s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_serializer.c:523,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:525,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - serializer
    - s
    - slen
    argTypes:
    - ndpi_private_serializer*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 532
    functionName: ndpi_serialize_single_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - htons
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_serialize_single_string(ndpi_private_serializer *serializer,\n\t\t\t\t\t\tconst
      char *s, u_int16_t slen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - deserializer
    - offset
    - s
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    - u_int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: ndpi_deserialize_single_uint8
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ndpi_deserialize_single_uint8(ndpi_private_deserializer *deserializer,\n\t\t\t\t\t\t
      u_int32_t offset, u_int8_t *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_serializer.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - deserializer
    - offset
    - s
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    - u_int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: ndpi_deserialize_single_uint16
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_deserialize_single_uint16(ndpi_private_deserializer *deserializer,\n\t\t\t\t\t\t
      \ u_int32_t offset, u_int16_t *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_serializer.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - deserializer
    - offset
    - s
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    - u_int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: ndpi_deserialize_single_uint32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: void
    signature: "void ndpi_deserialize_single_uint32(ndpi_private_deserializer *deserializer,\n\t\t\t\t\t\t
      \ u_int32_t offset, u_int32_t *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - deserializer
    - offset
    - s
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: ndpi_deserialize_single_int8
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ndpi_deserialize_single_int8(ndpi_private_deserializer *deserializer,\n\t\t\t\t\t\tu_int32_t
      offset, int8_t *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_serializer.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - deserializer
    - offset
    - s
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: ndpi_deserialize_single_int16
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_deserialize_single_int16(ndpi_private_deserializer *deserializer,\n\t\t\t\t\t\t
      u_int32_t offset, int16_t *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_serializer.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - deserializer
    - offset
    - s
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: ndpi_deserialize_single_int32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: void
    signature: "void ndpi_deserialize_single_int32(ndpi_private_deserializer *deserializer,\n\t\t\t\t\t\t
      u_int32_t offset, int32_t *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_ntohll
      Src: /src/ndpi/src/lib/ndpi_serializer.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - deserializer
    - offset
    - s
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    - u_int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: ndpi_deserialize_single_uint64
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_ntohll
    linkageType: ''
    returnType: void
    signature: "void ndpi_deserialize_single_uint64(ndpi_private_deserializer *deserializer,\n\t\t\t\t\t\t
      \ u_int32_t offset, u_int64_t *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_ntohll
      Src: /src/ndpi/src/lib/ndpi_serializer.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - deserializer
    - offset
    - s
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: ndpi_deserialize_single_int64
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_ntohll
    linkageType: ''
    returnType: void
    signature: "void ndpi_deserialize_single_int64(ndpi_private_deserializer *deserializer,\n\t\t\t\t\t\t
      u_int32_t offset, int64_t *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - deserializer
    - offset
    - s
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: ndpi_deserialize_single_float
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ndpi_deserialize_single_float(ndpi_private_deserializer *deserializer,\n\t\t\t\t\t\t
      u_int32_t offset, float *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - deserializer
    - offset
    - s
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionName: ndpi_deserialize_single_double
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ndpi_deserialize_single_double(ndpi_private_deserializer *deserializer,\n
      \                        u_int32_t offset, double *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_serializer.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - deserializer
    - offset
    - v
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    - ndpi_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 612
    functionName: ndpi_deserialize_single_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_deserialize_single_string(ndpi_private_deserializer *deserializer,\n\t\t\t\t\t\t
      \ u_int32_t offset, ndpi_string *v)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:646,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:661,1
    - Dst: ndpi_serialize_end_of_record
      Src: /src/ndpi/src/lib/ndpi_serializer.c:671,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - _serializer
    - record
    - record_len
    argTypes:
    - ndpi_serializer*
    - u_char*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 674
    functionName: ndpi_serialize_raw_record
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_extend_serializer_buffer
    - ndpi_serialize_end_of_record
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_raw_record(ndpi_serializer *_serializer,\n\t\t\t
      \     u_char *record, u_int32_t record_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:688,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:708,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 721
    functionName: ndpi_serialize_end_of_record
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 2
    functionsReached:
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    linkageType: ''
    returnType: int
    signature: int ndpi_serialize_end_of_record(ndpi_serializer *_serializer)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - serializer
    argTypes:
    - ndpi_private_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 737
    functionName: ndpi_serialize_csv_pre
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_serialize_csv_pre(ndpi_private_serializer *serializer)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 778
    functionName: ndpi_serialize_json_pre
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_serialize_json_pre(ndpi_serializer *_serializer)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 811
    functionName: ndpi_serialize_json_post
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_serialize_json_post(ndpi_serializer *_serializer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_single_uint8
      Src: /src/ndpi/src/lib/ndpi_serializer.c:819,1
    - Dst: ndpi_serialize_single_uint16
      Src: /src/ndpi/src/lib/ndpi_serializer.c:822,1
    - Dst: ndpi_serialize_single_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - serializer
    - key
    argTypes:
    - ndpi_private_serializer*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 830
    functionName: ndpi_serialize_key_uint32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_single_uint32
    - ndpi_serialize_single_uint16
    - ndpi_serialize_single_uint8
    linkageType: ''
    returnType: ndpi_serialization_type
    signature: ndpi_serialization_type ndpi_serialize_key_uint32(ndpi_private_serializer
      *serializer, u_int32_t key)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:848,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:854,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:858,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:867,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:874,1
    - Dst: ndpi_serializer_header_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:877,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:878,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:880,1
    - Dst: ndpi_serialize_key_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:891,1
    - Dst: ndpi_serialize_single_uint8
      Src: /src/ndpi/src/lib/ndpi_serializer.c:895,1
    - Dst: ndpi_serialize_single_uint16
      Src: /src/ndpi/src/lib/ndpi_serializer.c:898,1
    - Dst: ndpi_serialize_single_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:901,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - _serializer
    - key
    - value
    argTypes:
    - ndpi_serializer*
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 834
    functionDepth: 4
    functionLinenumber: 834
    functionLinenumberEnd: 910
    functionName: ndpi_serialize_uint32_uint32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_serialize_single_uint32
    - ndpi_serialize_key_uint32
    - ndpi_serialize_single_uint8
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serializer_header_uint32
    - ndpi_serialize_single_uint16
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_uint32_uint32(ndpi_serializer *_serializer,\n\t\t\t\t
      u_int32_t key, u_int32_t value)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:928,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:934,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:938,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:947,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:954,1
    - Dst: ndpi_serializer_header_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:957,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:958,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:960,1
    - Dst: ndpi_serialize_uint32_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:968,1
    - Dst: ndpi_serialize_key_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:974,1
    - Dst: ndpi_serialize_single_uint64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:977,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - _serializer
    - key
    - value
    argTypes:
    - ndpi_serializer*
    - u_int32_t
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 914
    functionDepth: 5
    functionLinenumber: 914
    functionLinenumberEnd: 986
    functionName: ndpi_serialize_uint32_uint64
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_key_uint32
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serialize_single_uint64
    - ndpi_serializer_header_uint32
    - ndpi_serialize_uint32_uint32
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_uint32_uint64(ndpi_serializer *_serializer,\n\t\t\t\t
      u_int32_t key, u_int64_t value)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1004,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1010,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1014,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1023,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1030,1
    - Dst: ndpi_serializer_header_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1033,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1034,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1036,1
    - Dst: ndpi_serialize_key_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1047,1
    - Dst: ndpi_serialize_single_uint8
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1051,1
    - Dst: ndpi_serialize_single_uint16
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1054,1
    - Dst: ndpi_serialize_single_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1057,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 3
    argNames:
    - _serializer
    - key
    - value
    argTypes:
    - ndpi_serializer*
    - u_int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 990
    functionDepth: 4
    functionLinenumber: 990
    functionLinenumberEnd: 1066
    functionName: ndpi_serialize_uint32_int32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_single_uint32
    - ndpi_serialize_key_uint32
    - ndpi_serialize_single_uint8
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serializer_header_uint32
    - ndpi_serialize_single_uint16
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_uint32_int32(ndpi_serializer *_serializer,\n\t\t\t\tu_int32_t
      key, int32_t value)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1084,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1090,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1094,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1103,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1110,1
    - Dst: ndpi_serializer_header_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1113,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1114,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1116,1
    - Dst: ndpi_serialize_uint32_int32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1125,1
    - Dst: ndpi_serialize_key_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1131,1
    - Dst: ndpi_serialize_single_uint64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1134,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 3
    argNames:
    - _serializer
    - key
    - value
    argTypes:
    - ndpi_serializer*
    - u_int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1070
    functionDepth: 5
    functionLinenumber: 1070
    functionLinenumberEnd: 1143
    functionName: ndpi_serialize_uint32_int64
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_key_uint32
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serialize_single_uint64
    - ndpi_serialize_uint32_int32
    - ndpi_serializer_header_uint32
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_uint32_int64(ndpi_serializer *_serializer,\n\t\t\t\tu_int32_t
      key, int64_t value)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1163,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1169,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1173,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1180,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1185,1
    - Dst: ndpi_serializer_header_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1188,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1189,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1191,1
    - Dst: ndpi_serialize_key_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1201,1
    - Dst: ndpi_serialize_single_float
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1204,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 4
    argNames:
    - _serializer
    - key
    - value
    - format
    argTypes:
    - ndpi_serializer*
    - u_int32_t
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1147
    functionDepth: 4
    functionLinenumber: 1147
    functionLinenumberEnd: 1212
    functionName: ndpi_serialize_uint32_float
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_single_float
    - ndpi_serialize_key_uint32
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serializer_header_uint32
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_uint32_float(ndpi_serializer *_serializer,\n\t\t\t\tu_int32_t
      key, float value,\n                                const char *format /* e.f.
      \"%.2f\" */)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1232,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1238,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1242,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1249,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1254,1
    - Dst: ndpi_serializer_header_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1257,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1258,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1260,1
    - Dst: ndpi_serialize_key_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1273,1
    - Dst: ndpi_serialize_single_float
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1276,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - _serializer
    - key
    - value
    - format
    argTypes:
    - ndpi_serializer*
    - u_int32_t
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1216
    functionDepth: 4
    functionLinenumber: 1216
    functionLinenumberEnd: 1285
    functionName: ndpi_serialize_uint32_double
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_single_float
    - ndpi_serialize_key_uint32
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serializer_header_uint32
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_uint32_double(ndpi_serializer *_serializer,\n\t\t\t\t
      u_int32_t key, double value,\n                                 const char *format
      /* e.f. \"%.2f\" */)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1304,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1310,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1314,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1321,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1324,1
    - Dst: ndpi_serializer_header_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1327,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1328,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1330,1
    - Dst: ndpi_serialize_key_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1341,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1344,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - _serializer
    - key
    - value
    - slen
    argTypes:
    - ndpi_serializer*
    - u_int32_t
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1289
    functionDepth: 4
    functionLinenumber: 1289
    functionLinenumberEnd: 1352
    functionName: ndpi_serialize_uint32_binary
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_key_uint32
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serializer_header_uint32
    - ndpi_serialize_single_string
    - ndpi_serialize_csv_pre
    - ndpi_json_string_escape
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_uint32_binary(ndpi_serializer *_serializer,\n\t\t\t\t
      u_int32_t key, const char *value, u_int16_t slen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_uint32_binary
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1359,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _serializer
    - key
    - _value
    argTypes:
    - ndpi_serializer*
    - u_int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1356
    functionDepth: 5
    functionLinenumber: 1356
    functionLinenumberEnd: 1360
    functionName: ndpi_serialize_uint32_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 3
    functionsReached:
    - strlen
    - ndpi_serialize_uint32_binary
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_uint32_string(ndpi_serializer *_serializer,\n\t\t\t\t
      u_int32_t key, const char *_value)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1376,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1382,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1386,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1395,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1402,1
    - Dst: ndpi_serializer_header_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1405,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1406,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1408,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - _serializer
    - key
    - value
    argTypes:
    - ndpi_serializer*
    - u_int32_t
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1364
    functionDepth: 4
    functionLinenumber: 1364
    functionLinenumberEnd: 1418
    functionName: ndpi_serialize_uint32_boolean
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serializer_header_uint32
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_uint32_boolean(ndpi_serializer *_serializer,\n\t\t\t\t
      \ u_int32_t key, u_int8_t value)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_number
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1431,1
    - Dst: ndpi_serialize_uint32_int32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1432,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1432,1
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1445,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1451,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1455,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1462,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1468,1
    - Dst: ndpi_serializer_header_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1471,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1472,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1474,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1483,1
    - Dst: ndpi_serialize_single_uint8
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1484,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1487,1
    - Dst: ndpi_serialize_single_uint16
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1488,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1491,1
    - Dst: ndpi_serialize_single_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1492,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 4
    argNames:
    - _serializer
    - key
    - klen
    - value
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1422
    functionDepth: 5
    functionLinenumber: 1422
    functionLinenumberEnd: 1499
    functionName: ndpi_serialize_binary_int32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_single_uint32
    - ndpi_serialize_single_uint8
    - ndpi_extend_serializer_buffer
    - ndpi_is_number
    - ndpi_snprintf
    - ndpi_serialize_single_uint16
    - ndpi_serialize_single_string
    - ndpi_serializer_header_string
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - atoi
    - ndpi_json_string_escape
    - ndpi_serialize_json_post
    - ndpi_serialize_uint32_int32
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_binary_int32(ndpi_serializer *_serializer,\n\t\t\t
      \       const char *key, u_int16_t klen,\n\t\t\t        int32_t value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1515,1
    - Dst: ndpi_serializer_header_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1520,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1520,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1524,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1527,1
    - Dst: ndpi_serialize_binary_int32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1538,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1538,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - _serializer
    - key
    - value
    argTypes:
    - ndpi_serializer*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1503
    functionDepth: 6
    functionLinenumber: 1503
    functionLinenumberEnd: 1539
    functionName: ndpi_serialize_string_int32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - strlen
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serialize_binary_int32
    - ndpi_serializer_header_string
    - ndpi_serialize_csv_pre
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_int32(ndpi_serializer *_serializer,\n\t\t\t\tconst
      char *key, int32_t value)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_number
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1552,1
    - Dst: ndpi_serialize_uint32_int64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1553,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1553,1
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1566,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1572,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1576,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1584,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1591,1
    - Dst: ndpi_serializer_header_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1594,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1595,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1597,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1604,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1607,1
    - Dst: ndpi_serialize_single_uint64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1608,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 4
    argNames:
    - _serializer
    - key
    - klen
    - value
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int16_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1543
    functionDepth: 7
    functionLinenumber: 1543
    functionLinenumberEnd: 1614
    functionName: ndpi_serialize_binary_int64
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_uint32_int64
    - ndpi_serialize_string_int32
    - ndpi_extend_serializer_buffer
    - ndpi_is_number
    - ndpi_snprintf
    - ndpi_serialize_single_uint64
    - ndpi_serialize_single_string
    - ndpi_serializer_header_string
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - atoi
    - ndpi_json_string_escape
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_binary_int64(ndpi_serializer *_serializer,\n\t\t\t\tconst
      char *key, u_int16_t klen,\n\t\t\t\tint64_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_binary_int64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1620,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _serializer
    - key
    - value
    argTypes:
    - ndpi_serializer*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1618
    functionDepth: 8
    functionLinenumber: 1618
    functionLinenumberEnd: 1621
    functionName: ndpi_serialize_string_int64
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_serialize_binary_int64
    - strlen
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_int64(ndpi_serializer *_serializer,\n\t\t\t\tconst
      char *key, int64_t value)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1639,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1640,1
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1643,1
    - Dst: ndpi_serializer_header_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1650,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1654,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1656,1
    - Dst: ndpi_is_number
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1663,1
    - Dst: ndpi_serialize_uint32_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1664,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1664,1
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1676,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1682,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1686,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1694,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1701,1
    - Dst: ndpi_serializer_header_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1705,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1706,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1708,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1718,1
    - Dst: ndpi_serialize_single_uint8
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1719,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1722,1
    - Dst: ndpi_serialize_single_uint16
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1723,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1726,1
    - Dst: ndpi_serialize_single_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1727,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 4
    argNames:
    - _serializer
    - key
    - klen
    - value
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int16_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1625
    functionDepth: 5
    functionLinenumber: 1625
    functionLinenumberEnd: 1733
    functionName: ndpi_serialize_binary_uint32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_single_uint32
    - strlen
    - ndpi_serialize_single_uint8
    - ndpi_extend_serializer_buffer
    - ndpi_is_number
    - ndpi_snprintf
    - ndpi_serialize_uint32_uint32
    - ndpi_serialize_single_string
    - ndpi_serializer_header_string
    - ndpi_serialize_csv_pre
    - ndpi_serialize_single_uint16
    - ndpi_serialize_json_pre
    - atoi
    - ndpi_json_string_escape
    - ndpi_serialize_json_post
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_binary_uint32(ndpi_serializer *_serializer,\n\t\t\t\tconst
      char *key, u_int16_t klen, u_int32_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_binary_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1739,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _serializer
    - key
    - value
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1737
    functionDepth: 6
    functionLinenumber: 1737
    functionLinenumberEnd: 1740
    functionName: ndpi_serialize_string_uint32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 6
    functionsReached:
    - ndpi_serialize_binary_uint32
    - strlen
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_uint32(ndpi_serializer *_serializer,\n\t\t\t\t
      const char *key, u_int32_t value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1755,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1759,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - _serializer
    - key
    - value
    - format
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1744
    functionDepth: 7
    functionLinenumber: 1744
    functionLinenumberEnd: 1762
    functionName: ndpi_serialize_string_uint32_format
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    - ndpi_serialize_string_string
    - ndpi_serialize_string_uint32
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_uint32_format(ndpi_serializer *_serializer,\n\t\t\t\t\tconst
      char *key, u_int32_t value,\n\t\t\t\t\tconst char *format)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_number
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1775,1
    - Dst: ndpi_serialize_uint32_uint64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1776,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1776,1
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1789,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1795,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1799,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1807,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1814,1
    - Dst: ndpi_serializer_header_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1817,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1818,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1820,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1828,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1831,1
    - Dst: ndpi_serialize_single_uint64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1832,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 4
    argNames:
    - _serializer
    - key
    - klen
    - value
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int16_t
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1766
    functionDepth: 7
    functionLinenumber: 1766
    functionLinenumberEnd: 1838
    functionName: ndpi_serialize_binary_uint64
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_string_uint32
    - ndpi_extend_serializer_buffer
    - ndpi_is_number
    - ndpi_serialize_uint32_uint64
    - ndpi_snprintf
    - ndpi_serialize_single_uint64
    - ndpi_serialize_single_string
    - ndpi_serializer_header_string
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - atoi
    - ndpi_json_string_escape
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_binary_uint64(ndpi_serializer *_serializer,\n\t\t\t\tconst
      char *key, u_int16_t klen,\n\t\t\t\tu_int64_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_binary_uint64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1844,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _serializer
    - key
    - value
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1842
    functionDepth: 8
    functionLinenumber: 1842
    functionLinenumberEnd: 1845
    functionName: ndpi_serialize_string_uint64
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - strlen
    - ndpi_serialize_binary_uint64
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_uint64(ndpi_serializer *_serializer,\n\t\t\t\t
      const char *key, u_int64_t value)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_number
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1860,1
    - Dst: ndpi_serialize_uint32_float
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1861,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1861,1
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1875,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1881,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1885,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1892,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1897,1
    - Dst: ndpi_serializer_header_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1900,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1901,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1903,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1910,1
    - Dst: ndpi_serialize_single_float
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1911,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 5
    argNames:
    - _serializer
    - key
    - klen
    - value
    - format
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int16_t
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1849
    functionDepth: 5
    functionLinenumber: 1849
    functionLinenumberEnd: 1916
    functionName: ndpi_serialize_binary_float
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_single_float
    - ndpi_extend_serializer_buffer
    - ndpi_is_number
    - ndpi_snprintf
    - ndpi_serialize_single_string
    - ndpi_serializer_header_string
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - atoi
    - ndpi_json_string_escape
    - ndpi_serialize_uint32_float
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_binary_float(ndpi_serializer *_serializer,\n\t\t\t
      \       const char *key,\n\t\t\t        u_int16_t klen,\n\t\t\t        float
      value,\n\t\t\t        const char *format /* e.f. \"%.2f\" */)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1942,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1948,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1952,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1959,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1964,1
    - Dst: ndpi_serializer_header_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1967,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1968,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1970,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1980,1
    - Dst: ndpi_serialize_single_double
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1981,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 5
    argNames:
    - _serializer
    - key
    - klen
    - value
    - format
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int16_t
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1921
    functionDepth: 4
    functionLinenumber: 1921
    functionLinenumberEnd: 1987
    functionName: ndpi_serialize_binary_double
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_single_double
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serialize_single_string
    - ndpi_serializer_header_string
    - ndpi_serialize_csv_pre
    - ndpi_json_string_escape
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_binary_double(ndpi_serializer *_serializer,\n                    const
      char *key,\n                    u_int16_t klen,\n                    double
      value,\n                    const char *format /* e.f. \"%.2f\" */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_binary_float
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1995,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:1995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _serializer
    - key
    - value
    - format
    argTypes:
    - ndpi_serializer*
    - char*
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1991
    functionDepth: 6
    functionLinenumber: 1991
    functionLinenumberEnd: 1996
    functionName: ndpi_serialize_string_float
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 3
    functionsReached:
    - strlen
    - ndpi_serialize_binary_float
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_float(ndpi_serializer *_serializer,\n\t\t\t\tconst
      char *key,\n\t\t\t\tfloat value,\n\t\t\t\tconst char *format /* e.f. \"%.2f\"
      */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_binary_double
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2005,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _serializer
    - key
    - value
    - format
    argTypes:
    - ndpi_serializer*
    - char*
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 2000
    functionDepth: 5
    functionLinenumber: 2000
    functionLinenumberEnd: 2006
    functionName: ndpi_serialize_string_double
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 2
    functionsReached:
    - ndpi_serialize_binary_double
    - strlen
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_double(ndpi_serializer *_serializer,\n                const
      char *key,\n                double value,\n                const char *format
      /* e.f. \"%.2f\" */)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2032,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2038,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2042,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2050,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2053,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2057,1
    - Dst: ndpi_serializer_header_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2060,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2061,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2063,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2069,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2070,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 6
    argNames:
    - _serializer
    - key
    - klen
    - value
    - vlen
    - escape
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int16_t
    - char*
    - u_int16_t
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2011
    functionDepth: 4
    functionLinenumber: 2011
    functionLinenumberEnd: 2075
    functionName: ndpi_serialize_binary_raw
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_extend_serializer_buffer
    - ndpi_serialize_single_string
    - ndpi_serializer_header_string
    - ndpi_serialize_csv_pre
    - ndpi_json_string_escape
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_binary_raw(ndpi_serializer *_serializer,\n\t\t\t\t\tconst
      char *key,\n\t\t\t\t\tu_int16_t klen,\n\t\t\t\t\tconst char *value,\n\t\t\t\t\tu_int16_t
      vlen,\n\t\t\t\t\tu_int8_t escape)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_number
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2088,1
    - Dst: ndpi_serialize_uint32_binary
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2089,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2089,1
    - Dst: ndpi_serialize_binary_raw
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - _serializer
    - key
    - klen
    - _value
    - vlen
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int16_t
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2080
    functionDepth: 5
    functionLinenumber: 2080
    functionLinenumberEnd: 2093
    functionName: ndpi_serialize_binary_binary
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_is_number
    - atoi
    - ndpi_serialize_binary_raw
    - ndpi_serialize_uint32_binary
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_binary_binary(ndpi_serializer *_serializer,\n\t\t\t\t
      const char *key,\n\t\t\t\t u_int16_t klen,\n\t\t\t\t const char *_value,\n\t\t\t\t
      u_int16_t vlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_binary_binary
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2101,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _serializer
    - key
    - _value
    - vlen
    argTypes:
    - ndpi_serializer*
    - char*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2098
    functionDepth: 6
    functionLinenumber: 2098
    functionLinenumberEnd: 2102
    functionName: ndpi_serialize_string_binary
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_binary_binary
    - strlen
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_binary(ndpi_serializer *_serializer,\n\t\t\t\t
      const char *key, const char *_value,\n\t\t\t\t u_int16_t vlen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2119,1
    - Dst: ndpi_serializer_header_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2126,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2126,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2130,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2133,1
    - Dst: ndpi_serialize_binary_binary
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2138,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - _serializer
    - key
    - value
    - value_len
    argTypes:
    - ndpi_serializer*
    - char*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2107
    functionDepth: 6
    functionLinenumber: 2107
    functionLinenumberEnd: 2140
    functionName: ndpi_serialize_string_string_len
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_binary_binary
    - strlen
    - ndpi_extend_serializer_buffer
    - ndpi_serializer_header_string
    - ndpi_serialize_csv_pre
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_string_len(ndpi_serializer *_serializer,\n\t\t\t\t
      \    const char *key,\n\t\t\t\t     const char *value, u_int16_t value_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_string_string_len
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2149,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _serializer
    - key
    - _value
    argTypes:
    - ndpi_serializer*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2145
    functionDepth: 7
    functionLinenumber: 2145
    functionLinenumberEnd: 2150
    functionName: ndpi_serialize_string_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 8
    functionsReached:
    - ndpi_serialize_string_string_len
    - strlen
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_string(ndpi_serializer *_serializer,\n\t\t\t\t
      const char *key, const char *_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_binary_raw
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2157,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - _serializer
    - key
    - _value
    - vlen
    argTypes:
    - ndpi_serializer*
    - char*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2155
    functionDepth: 5
    functionLinenumber: 2155
    functionLinenumberEnd: 2158
    functionName: ndpi_serialize_string_raw
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_binary_raw
    - strlen
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_raw(ndpi_serializer *_serializer,\n\t\t\t
      \     const char *key, const char *_value, u_int16_t vlen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_number
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2174,1
    - Dst: ndpi_serialize_uint32_boolean
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2175,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2175,1
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2181,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2187,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2191,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2198,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2205,1
    - Dst: ndpi_serializer_header_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2208,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2208,1
    - Dst: ndpi_serialize_csv_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2209,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2211,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - _serializer
    - key
    - klen
    - value
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int16_t
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2162
    functionDepth: 5
    functionLinenumber: 2162
    functionLinenumberEnd: 2220
    functionName: ndpi_serialize_binary_boolean
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - strlen
    - ndpi_extend_serializer_buffer
    - ndpi_is_number
    - ndpi_snprintf
    - ndpi_serializer_header_string
    - ndpi_serialize_csv_pre
    - ndpi_serialize_json_pre
    - atoi
    - ndpi_json_string_escape
    - ndpi_serialize_uint32_boolean
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_binary_boolean(ndpi_serializer *_serializer,\n\t\t\t\t
      \ const char *key, u_int16_t klen, u_int8_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_binary_boolean
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2226,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _serializer
    - key
    - value
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2224
    functionDepth: 6
    functionLinenumber: 2224
    functionLinenumberEnd: 2227
    functionName: ndpi_serialize_string_boolean
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - strlen
    - ndpi_serialize_binary_boolean
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_string_boolean(ndpi_serializer *_serializer,\n\t\t\t\t
      \ const char *key, u_int8_t value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2245,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2251,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2254,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2259,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2266,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - _serializer
    - key
    - klen
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2231
    functionDepth: 2
    functionLinenumber: 2231
    functionLinenumberEnd: 2274
    functionName: ndpi_serialize_start_of_list_binary
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serialize_single_string
    - ndpi_json_string_escape
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_start_of_list_binary(ndpi_serializer *_serializer,\n\t\t\t\t\tconst
      char *key, u_int16_t klen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2282,1
    - Dst: ndpi_serialize_start_of_list_binary
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _serializer
    - _key
    argTypes:
    - ndpi_serializer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2279
    functionDepth: 3
    functionLinenumber: 2279
    functionLinenumberEnd: 2285
    functionName: ndpi_serialize_start_of_list
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 2
    functionsReached:
    - ndpi_serialize_start_of_list_binary
    - strlen
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_start_of_list(ndpi_serializer *_serializer,\n\t\t\t\t
      const char *_key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2309
    functionName: ndpi_serialize_end_of_list
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_serialize_end_of_list(ndpi_serializer *_serializer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2328,1
    - Dst: ndpi_serialize_json_pre
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2334,1
    - Dst: ndpi_json_string_escape
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2337,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2340,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2345,1
    - Dst: ndpi_serialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2351,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - _serializer
    - key
    - klen
    argTypes:
    - ndpi_serializer*
    - char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2314
    functionDepth: 2
    functionLinenumber: 2314
    functionLinenumberEnd: 2355
    functionName: ndpi_serialize_start_of_block_binary
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_extend_serializer_buffer
    - ndpi_snprintf
    - ndpi_serialize_single_string
    - ndpi_json_string_escape
    - ndpi_serialize_json_pre
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_start_of_block_binary(ndpi_serializer *_serializer,\n\t\t\t\t
      \        const char *key, u_int16_t klen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2363,1
    - Dst: ndpi_serialize_start_of_block_binary
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _serializer
    - _key
    argTypes:
    - ndpi_serializer*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2360
    functionDepth: 3
    functionLinenumber: 2360
    functionLinenumberEnd: 2366
    functionName: ndpi_serialize_start_of_block
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 5
    functionsReached:
    - ndpi_serialize_start_of_block_binary
    - strlen
    linkageType: ''
    returnType: int
    signature: "int ndpi_serialize_start_of_block(ndpi_serializer *_serializer,\n\t\t\t\t
      \ const char *_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2373,1
    - Dst: ndpi_serialize_start_of_block_binary
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - _serializer
    - key
    argTypes:
    - ndpi_serializer*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2371
    functionDepth: 3
    functionLinenumber: 2371
    functionLinenumberEnd: 2381
    functionName: ndpi_serialize_start_of_block_uint32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_snprintf
    - ndpi_serialize_start_of_block_binary
    linkageType: ''
    returnType: int
    signature: int ndpi_serialize_start_of_block_uint32(ndpi_serializer *_serializer,
      u_int32_t key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2398,1
    - Dst: ndpi_serialize_json_post
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2386
    functionDepth: 2
    functionLinenumber: 2386
    functionLinenumberEnd: 2417
    functionName: ndpi_serialize_end_of_block
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 5
    functionsReached:
    - ndpi_extend_serializer_buffer
    - ndpi_serialize_json_post
    linkageType: ''
    returnType: int
    signature: int ndpi_serialize_end_of_block(ndpi_serializer *_serializer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2421
    functionDepth: 0
    functionLinenumber: 2421
    functionLinenumberEnd: 2426
    functionName: ndpi_serializer_create_snapshot
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ndpi_serializer_create_snapshot(ndpi_serializer *_serializer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - _serializer
    argTypes:
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2449
    functionName: ndpi_serializer_rollback_snapshot
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ndpi_serializer_rollback_snapshot(ndpi_serializer *_serializer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_reset_serializer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - _deserializer
    - serialized_buffer
    - serialized_buffer_len
    argTypes:
    - ndpi_deserializer*
    - u_int8_t*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2454
    functionDepth: 3
    functionLinenumber: 2454
    functionLinenumberEnd: 2475
    functionName: ndpi_init_deserializer_buf
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_reset_serializer
    linkageType: ''
    returnType: int
    signature: "int ndpi_init_deserializer_buf(ndpi_deserializer *_deserializer,\n\t\t\t
      \      u_int8_t *serialized_buffer,\n\t\t\t       u_int32_t serialized_buffer_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_deserializer_buf
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - deserializer
    - _serializer
    argTypes:
    - ndpi_deserializer*
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2479
    functionDepth: 4
    functionLinenumber: 2479
    functionLinenumberEnd: 2486
    functionName: ndpi_init_deserializer
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_init_deserializer_buf
    linkageType: ''
    returnType: int
    signature: "int ndpi_init_deserializer(ndpi_deserializer *deserializer,\n\t\t\t
      \  ndpi_serializer *_serializer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _deserializer
    argTypes:
    - ndpi_deserializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2493
    functionName: ndpi_deserialize_get_format
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ndpi_serialization_format
    signature: ndpi_serialization_format ndpi_deserialize_get_format(ndpi_deserializer
      *_deserializer)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - deserializer
    argTypes:
    - ndpi_private_deserializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2506
    functionName: ndpi_deserialize_get_key_subtype
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ndpi_serialization_type
    signature: ndpi_serialization_type ndpi_deserialize_get_key_subtype(ndpi_private_deserializer
      *deserializer)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - deserializer
    argTypes:
    - ndpi_private_deserializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2519
    functionName: ndpi_deserialize_get_value_subtype
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ndpi_serialization_type
    signature: ndpi_serialization_type ndpi_deserialize_get_value_subtype(ndpi_private_deserializer
      *deserializer)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2529,1
    - Dst: ndpi_deserialize_get_value_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2540,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - _deserializer
    - key_type
    argTypes:
    - ndpi_deserializer*
    - ndpi_serialization_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2523
    functionDepth: 1
    functionLinenumber: 2523
    functionLinenumberEnd: 2557
    functionName: ndpi_deserialize_get_item_type
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_deserialize_get_value_subtype
    - ndpi_deserialize_get_key_subtype
    linkageType: ''
    returnType: ndpi_serialization_type
    signature: ndpi_serialization_type ndpi_deserialize_get_item_type(ndpi_deserializer
      *_deserializer, ndpi_serialization_type *key_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - deserializer
    - offset
    argTypes:
    - ndpi_private_deserializer*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2574
    functionName: ndpi_deserialize_get_single_string_size
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: int
    signature: int ndpi_deserialize_get_single_string_size(ndpi_private_deserializer
      *deserializer, u_int32_t offset)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_single_string_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2607,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - deserializer
    - type
    - offset
    argTypes:
    - ndpi_private_deserializer*
    - ndpi_serialization_type
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2578
    functionDepth: 1
    functionLinenumber: 2578
    functionLinenumberEnd: 2621
    functionName: ndpi_deserialize_get_single_size
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_deserialize_get_single_string_size
    linkageType: ''
    returnType: int
    signature: int ndpi_deserialize_get_single_size(ndpi_private_deserializer *deserializer,
      ndpi_serialization_type type, u_int32_t offset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2638,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2639,1
    - Dst: ndpi_deserialize_get_value_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2645,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - _deserializer
    argTypes:
    - ndpi_deserializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2655
      start: 2627
    functionDepth: 2
    functionLinenumber: 2627
    functionLinenumberEnd: 2655
    functionName: ndpi_deserialize_next
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_deserialize_get_single_size
    - ndpi_deserialize_get_value_subtype
    - ndpi_deserialize_get_key_subtype
    linkageType: ''
    returnType: int
    signature: int ndpi_deserialize_next(ndpi_deserializer *_deserializer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2672,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2674,1
    - Dst: ndpi_deserialize_single_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2681,1
    - Dst: ndpi_deserialize_single_uint16
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2684,1
    - Dst: ndpi_deserialize_single_uint8
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2688,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - _deserializer
    - key
    argTypes:
    - ndpi_deserializer*
    - u_int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2659
    functionDepth: 2
    functionLinenumber: 2659
    functionLinenumberEnd: 2697
    functionName: ndpi_deserialize_key_uint32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_deserialize_get_single_size
    - ndpi_deserialize_single_uint8
    - ndpi_deserialize_single_uint16
    - ndpi_deserialize_get_key_subtype
    - ndpi_deserialize_single_uint32
    linkageType: ''
    returnType: int
    signature: "int ndpi_deserialize_key_uint32(ndpi_deserializer *_deserializer,\n\t\t\t\tu_int32_t
      *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2715,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2717,1
    - Dst: ndpi_deserialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - _deserializer
    - key
    argTypes:
    - ndpi_deserializer*
    - ndpi_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2702
    functionDepth: 2
    functionLinenumber: 2702
    functionLinenumberEnd: 2723
    functionName: ndpi_deserialize_key_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_deserialize_get_single_size
    - ndpi_deserialize_get_key_subtype
    - ndpi_deserialize_single_string
    linkageType: ''
    returnType: int
    signature: "int ndpi_deserialize_key_string(ndpi_deserializer *_deserializer,\n\t\t\t\tndpi_string
      *key)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2741,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2742,1
    - Dst: ndpi_deserialize_get_value_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2747,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2748,1
    - Dst: ndpi_deserialize_single_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2755,1
    - Dst: ndpi_deserialize_single_uint16
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2758,1
    - Dst: ndpi_deserialize_single_uint8
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2762,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - _deserializer
    - value
    argTypes:
    - ndpi_deserializer*
    - u_int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2727
    functionDepth: 2
    functionLinenumber: 2727
    functionLinenumberEnd: 2770
    functionName: ndpi_deserialize_value_uint32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_deserialize_get_single_size
    - ndpi_deserialize_get_key_subtype
    - ndpi_deserialize_single_uint8
    - ndpi_deserialize_single_uint16
    - ndpi_deserialize_get_value_subtype
    - ndpi_deserialize_single_uint32
    linkageType: ''
    returnType: int
    signature: "int ndpi_deserialize_value_uint32(ndpi_deserializer *_deserializer,\n\t\t\t\t
      \ u_int32_t *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2787,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2788,1
    - Dst: ndpi_deserialize_get_value_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2793,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2794,1
    - Dst: ndpi_deserialize_value_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2799,1
    - Dst: ndpi_deserialize_single_uint64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - _deserializer
    - value
    argTypes:
    - ndpi_deserializer*
    - u_int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2774
    functionDepth: 3
    functionLinenumber: 2774
    functionLinenumberEnd: 2807
    functionName: ndpi_deserialize_value_uint64
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_deserialize_get_single_size
    - ndpi_deserialize_value_uint32
    - ndpi_deserialize_get_key_subtype
    - ndpi_deserialize_single_uint64
    - ndpi_deserialize_get_value_subtype
    linkageType: ''
    returnType: int
    signature: "int ndpi_deserialize_value_uint64(ndpi_deserializer *_deserializer,\n\t\t\t\t
      \ u_int64_t *value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2825,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2826,1
    - Dst: ndpi_deserialize_get_value_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2831,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2832,1
    - Dst: ndpi_deserialize_single_int32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2839,1
    - Dst: ndpi_deserialize_single_int16
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2842,1
    - Dst: ndpi_deserialize_single_int8
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2846,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - _deserializer
    - value
    argTypes:
    - ndpi_deserializer*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2811
    functionDepth: 2
    functionLinenumber: 2811
    functionLinenumberEnd: 2854
    functionName: ndpi_deserialize_value_int32
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_deserialize_get_single_size
    - ndpi_deserialize_single_int32
    - ndpi_deserialize_get_key_subtype
    - ndpi_deserialize_single_int8
    - ndpi_deserialize_get_value_subtype
    - ndpi_deserialize_single_int16
    linkageType: ''
    returnType: int
    signature: "int ndpi_deserialize_value_int32(ndpi_deserializer *_deserializer,\n\t\t\t\t
      int32_t *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2872,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2873,1
    - Dst: ndpi_deserialize_get_value_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2878,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2879,1
    - Dst: ndpi_deserialize_value_int32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2884,1
    - Dst: ndpi_deserialize_single_int64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2889,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - _deserializer
    - value
    argTypes:
    - ndpi_deserializer*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2892
      start: 2858
    functionDepth: 3
    functionLinenumber: 2858
    functionLinenumberEnd: 2892
    functionName: ndpi_deserialize_value_int64
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_deserialize_get_single_size
    - ndpi_deserialize_get_key_subtype
    - ndpi_deserialize_value_int32
    - ndpi_deserialize_single_int64
    - ndpi_deserialize_get_value_subtype
    linkageType: ''
    returnType: int
    signature: "int ndpi_deserialize_value_int64(ndpi_deserializer *_deserializer,\n\t\t\t\t
      int64_t *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2908,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2909,1
    - Dst: ndpi_deserialize_get_value_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2914,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2915,1
    - Dst: ndpi_deserialize_single_float
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - _deserializer
    - value
    argTypes:
    - ndpi_deserializer*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2924
      start: 2896
    functionDepth: 2
    functionLinenumber: 2896
    functionLinenumberEnd: 2924
    functionName: ndpi_deserialize_value_float
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_deserialize_get_single_size
    - ndpi_deserialize_get_value_subtype
    - ndpi_deserialize_get_key_subtype
    - ndpi_deserialize_single_float
    linkageType: ''
    returnType: int
    signature: "int ndpi_deserialize_value_float(ndpi_deserializer *_deserializer,\n\t\t\t\t
      float *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2940,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2941,1
    - Dst: ndpi_deserialize_get_value_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2946,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2947,1
    - Dst: ndpi_deserialize_single_double
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - _deserializer
    - value
    argTypes:
    - ndpi_deserializer*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2928
    functionDepth: 2
    functionLinenumber: 2928
    functionLinenumberEnd: 2956
    functionName: ndpi_deserialize_value_double
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_deserialize_get_single_size
    - ndpi_deserialize_get_value_subtype
    - ndpi_deserialize_get_key_subtype
    - ndpi_deserialize_single_double
    linkageType: ''
    returnType: int
    signature: "int ndpi_deserialize_value_double(ndpi_deserializer *_deserializer,\n
      \                double *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2974,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2976,1
    - Dst: ndpi_deserialize_get_value_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2981,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2983,1
    - Dst: ndpi_deserialize_single_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:2989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - _deserializer
    - value
    argTypes:
    - ndpi_deserializer*
    - ndpi_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2961
    functionDepth: 2
    functionLinenumber: 2961
    functionLinenumberEnd: 2992
    functionName: ndpi_deserialize_value_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_deserialize_get_single_size
    - ndpi_deserialize_get_value_subtype
    - ndpi_deserialize_get_key_subtype
    - ndpi_deserialize_single_string
    linkageType: ''
    returnType: int
    signature: "int ndpi_deserialize_value_string(ndpi_deserializer *_deserializer,\n\t\t\t\t
      \ ndpi_string *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_key_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3013,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3014,1
    - Dst: ndpi_deserialize_get_value_subtype
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3020,1
    - Dst: ndpi_deserialize_get_single_size
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3021,1
    - Dst: ndpi_extend_serializer_buffer
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3028,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3033,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - _deserializer
    - _serializer
    argTypes:
    - ndpi_deserializer*
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 2997
    functionDepth: 2
    functionLinenumber: 2997
    functionLinenumberEnd: 3040
    functionName: ndpi_deserialize_clone_item
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 0
    functionsReached:
    - ndpi_deserialize_get_single_size
    - ndpi_extend_serializer_buffer
    - ndpi_deserialize_get_key_subtype
    - ndpi_deserialize_get_value_subtype
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ndpi_deserialize_clone_item(ndpi_deserializer *_deserializer, ndpi_serializer
      *_serializer)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_deserialize_get_item_type
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3055,1
    - Dst: ndpi_serialize_end_of_record
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3058,1
    - Dst: ndpi_deserialize_key_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3061,1
    - Dst: ndpi_serialize_start_of_block_binary
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3062,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3065,1
    - Dst: ndpi_deserialize_key_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3068,1
    - Dst: ndpi_serialize_start_of_list_binary
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3069,1
    - Dst: ndpi_serialize_end_of_list
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3072,1
    - Dst: ndpi_deserialize_key_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3079,1
    - Dst: ndpi_deserialize_key_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3082,1
    - Dst: ndpi_deserialize_value_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3091,1
    - Dst: ndpi_serialize_binary_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3092,1
    - Dst: ndpi_serialize_uint32_uint32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3093,1
    - Dst: ndpi_deserialize_value_uint64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3097,1
    - Dst: ndpi_serialize_binary_uint64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3098,1
    - Dst: ndpi_serialize_uint32_uint64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3099,1
    - Dst: ndpi_deserialize_value_int32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3103,1
    - Dst: ndpi_serialize_binary_int32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3104,1
    - Dst: ndpi_serialize_uint32_int32
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3105,1
    - Dst: ndpi_deserialize_value_int64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3109,1
    - Dst: ndpi_serialize_binary_int64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3110,1
    - Dst: ndpi_serialize_uint32_int64
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3111,1
    - Dst: ndpi_deserialize_value_float
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3115,1
    - Dst: ndpi_serialize_binary_float
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3116,1
    - Dst: ndpi_serialize_uint32_float
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3117,1
    - Dst: ndpi_deserialize_value_string
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3121,1
    - Dst: ndpi_serialize_binary_binary
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3122,1
    - Dst: ndpi_serialize_uint32_binary
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3123,1
    - Dst: ndpi_deserialize_next
      Src: /src/ndpi/src/lib/ndpi_serializer.c:3131,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 2
    argNames:
    - deserializer
    - serializer
    argTypes:
    - ndpi_deserializer*
    - ndpi_serializer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 3045
    functionDepth: 8
    functionLinenumber: 3045
    functionLinenumberEnd: 3135
    functionName: ndpi_deserialize_clone_all
    functionSourceFile: /src/ndpi/src/lib/ndpi_serializer.c
    functionUses: 1
    functionsReached:
    - ndpi_serialize_uint32_int64
    - ndpi_deserialize_key_string
    - ndpi_deserialize_key_uint32
    - ndpi_deserialize_get_item_type
    - ndpi_serialize_start_of_list_binary
    - ndpi_deserialize_next
    - ndpi_deserialize_value_uint32
    - ndpi_serialize_uint32_uint64
    - ndpi_serialize_uint32_uint32
    - ndpi_serialize_binary_uint64
    - ndpi_deserialize_value_string
    - ndpi_serialize_uint32_binary
    - ndpi_deserialize_value_float
    - ndpi_deserialize_value_uint64
    - ndpi_deserialize_value_int64
    - ndpi_serialize_binary_float
    - ndpi_serialize_uint32_float
    - ndpi_serialize_end_of_block
    - ndpi_serialize_binary_int64
    - ndpi_serialize_end_of_record
    - ndpi_serialize_end_of_list
    - ndpi_serialize_uint32_int32
    - ndpi_serialize_binary_uint32
    - ndpi_serialize_binary_binary
    - ndpi_serialize_start_of_block_binary
    - ndpi_serialize_binary_int32
    - ndpi_deserialize_value_int32
    linkageType: ''
    returnType: int
    signature: int ndpi_deserialize_clone_all(ndpi_deserializer *deserializer, ndpi_serializer
      *serializer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - u_int8_t*
    - void*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: ndpi_community_id_buf_copy
    functionSourceFile: /src/ndpi/src/lib/ndpi_community_id.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t ndpi_community_id_buf_copy(u_int8_t * const dst, const void
      * const src, u_int16_t len)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - icmp_type
    - icmp_code
    - is_one_way
    argTypes:
    - u_int8_t
    - u_int8_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 105
    functionName: ndpi_community_id_icmp_type_to_code_v4
    functionSourceFile: /src/ndpi/src/lib/ndpi_community_id.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_community_id_icmp_type_to_code_v4(u_int8_t icmp_type,
      u_int8_t icmp_code, int *is_one_way)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - icmp_type
    - icmp_code
    - is_one_way
    argTypes:
    - u_int8_t
    - u_int8_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 145
    functionName: ndpi_community_id_icmp_type_to_code_v6
    functionSourceFile: /src/ndpi/src/lib/ndpi_community_id.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_community_id_icmp_type_to_code_v6(u_int8_t icmp_type,
      u_int8_t icmp_code, int *is_one_way)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/ndpi_community_id.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - ip1
    - ip2
    - p1
    - p2
    argTypes:
    - u_int32_t
    - u_int32_t
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: ndpi_community_id_peer_v4_is_less_than
    functionSourceFile: /src/ndpi/src/lib/ndpi_community_id.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ndpi_community_id_peer_v4_is_less_than(u_int32_t ip1, u_int32_t
      ip2, u_int16_t p1, u_int16_t p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/ndpi_community_id.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - ip1
    - ip2
    - p1
    - p2
    argTypes:
    - struct ndpi_in6_addr*
    - struct ndpi_in6_addr*
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: ndpi_community_id_peer_v6_is_less_than
    functionSourceFile: /src/ndpi/src/lib/ndpi_community_id.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ndpi_community_id_peer_v6_is_less_than(const struct ndpi_in6_addr
      *ip1, const struct ndpi_in6_addr *ip2, u_int16_t p1, u_int16_t p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1Init
      Src: /src/ndpi/src/lib/ndpi_community_id.c:170,1
    - Dst: SHA1Update
      Src: /src/ndpi/src/lib/ndpi_community_id.c:171,1
    - Dst: SHA1Final
      Src: /src/ndpi/src/lib/ndpi_community_id.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - message
    - len
    - hash
    argTypes:
    - uint8_t*
    - size_t
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: ndpi_string_sha1_hash
    functionSourceFile: /src/ndpi/src/lib/ndpi_community_id.c
    functionUses: 0
    functionsReached:
    - SHA1Update
    - SHA1Final
    - SHA1Init
    linkageType: ''
    returnType: void
    signature: void ndpi_string_sha1_hash(const uint8_t *message, size_t len, u_char
      *hash /* 20-bytes */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_community_id_buf_copy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:188,1
    - Dst: ndpi_community_id_buf_copy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:191,1
    - Dst: ndpi_community_id_buf_copy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:200,1
    - Dst: ndpi_community_id_buf_copy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:201,1
    - Dst: ndpi_string_sha1_hash
      Src: /src/ndpi/src/lib/ndpi_community_id.c:206,1
    - Dst: ndpi_base64_encode
      Src: /src/ndpi/src/lib/ndpi_community_id.c:209,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_community_id.c:215,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_community_id.c:217,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_community_id.c:218,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_community_id.c:220,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_community_id.c:222,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/ndpi_community_id.c:222,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_community_id.c:223,1
    - Dst: printf
      Src: /src/ndpi/src/lib/ndpi_community_id.c:225,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_community_id.c:228,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_community_id.c:229,1
    - Dst: strcpy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:236,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_community_id.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 7
    argNames:
    - comm_buf
    - 'off'
    - l4_proto
    - src_port
    - dst_port
    - hash_buf
    - hash_buf_len
    argTypes:
    - u_int8_t*
    - u_int16_t
    - u_int8_t
    - u_int16_t
    - u_int16_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 240
    functionName: ndpi_community_id_finalize_and_compute_hash
    functionSourceFile: /src/ndpi/src/lib/ndpi_community_id.c
    functionUses: 0
    functionsReached:
    - strlen
    - ntohl
    - ndpi_free
    - strcpy
    - ndpi_base64_encode
    - ndpi_string_sha1_hash
    - ndpi_community_id_buf_copy
    - printf
    linkageType: ''
    returnType: int
    signature: "int ndpi_community_id_finalize_and_compute_hash(u_int8_t *comm_buf,
      u_int16_t off, u_int8_t l4_proto,\n\t\t\t\t\t\t       u_int16_t src_port, u_int16_t
      dst_port,\n\t\t\t\t\t\t       char *hash_buf, size_t hash_buf_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_community_id_icmp_type_to_code_v4
      Src: /src/ndpi/src/lib/ndpi_community_id.c:276,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/ndpi_community_id.c:289,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/ndpi_community_id.c:290,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_community_id.c:291,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_community_id.c:292,1
    - Dst: ndpi_community_id_peer_v4_is_less_than
      Src: /src/ndpi/src/lib/ndpi_community_id.c:299,1
    - Dst: ndpi_community_id_buf_copy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:309,1
    - Dst: ndpi_community_id_buf_copy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:312,1
    - Dst: ndpi_community_id_buf_copy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:313,1
    - Dst: ndpi_community_id_finalize_and_compute_hash
      Src: /src/ndpi/src/lib/ndpi_community_id.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 9
    argNames:
    - l4_proto
    - src_ip
    - dst_ip
    - src_port
    - dst_port
    - icmp_type
    - icmp_code
    - hash_buf
    - hash_buf_len
    argTypes:
    - u_int8_t
    - u_int32_t
    - u_int32_t
    - u_int16_t
    - u_int16_t
    - u_int8_t
    - u_int8_t
    - u_char*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 317
    functionName: ndpi_flowv4_flow_hash
    functionSourceFile: /src/ndpi/src/lib/ndpi_community_id.c
    functionUses: 0
    functionsReached:
    - ndpi_community_id_icmp_type_to_code_v4
    - htons
    - htonl
    - ndpi_community_id_peer_v4_is_less_than
    - ndpi_community_id_buf_copy
    - ndpi_community_id_finalize_and_compute_hash
    linkageType: ''
    returnType: int
    signature: "int ndpi_flowv4_flow_hash(u_int8_t l4_proto, u_int32_t src_ip, u_int32_t
      dst_ip,\n                          u_int16_t src_port, u_int16_t dst_port,\n
      \                         u_int8_t icmp_type, u_int8_t icmp_code,\n                          u_char
      *hash_buf, u_int8_t hash_buf_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_community_id_icmp_type_to_code_v6
      Src: /src/ndpi/src/lib/ndpi_community_id.c:335,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_community_id.c:348,1
    - Dst: htons
      Src: /src/ndpi/src/lib/ndpi_community_id.c:349,1
    - Dst: ndpi_community_id_peer_v6_is_less_than
      Src: /src/ndpi/src/lib/ndpi_community_id.c:351,1
    - Dst: ndpi_community_id_buf_copy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:360,1
    - Dst: ndpi_community_id_buf_copy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:363,1
    - Dst: ndpi_community_id_buf_copy
      Src: /src/ndpi/src/lib/ndpi_community_id.c:364,1
    - Dst: ndpi_community_id_finalize_and_compute_hash
      Src: /src/ndpi/src/lib/ndpi_community_id.c:366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 9
    argNames:
    - l4_proto
    - src_ip
    - dst_ip
    - src_port
    - dst_port
    - icmp_type
    - icmp_code
    - hash_buf
    - hash_buf_len
    argTypes:
    - u_int8_t
    - struct ndpi_in6_addr*
    - struct ndpi_in6_addr*
    - u_int16_t
    - u_int16_t
    - u_int8_t
    - u_int8_t
    - u_char*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 368
    functionName: ndpi_flowv6_flow_hash
    functionSourceFile: /src/ndpi/src/lib/ndpi_community_id.c
    functionUses: 0
    functionsReached:
    - ndpi_community_id_peer_v6_is_less_than
    - htons
    - ndpi_community_id_icmp_type_to_code_v6
    - ndpi_community_id_buf_copy
    - ndpi_community_id_finalize_and_compute_hash
    linkageType: ''
    returnType: int
    signature: "int ndpi_flowv6_flow_hash(u_int8_t l4_proto, const struct ndpi_in6_addr
      *src_ip, const struct ndpi_in6_addr *dst_ip,\n                          u_int16_t
      src_port, u_int16_t dst_port,\n                          u_int8_t icmp_type,
      u_int8_t icmp_code,\n                          u_char *hash_buf, u_int8_t hash_buf_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmap_alloc
      Src: /src/ndpi/src/lib/ndpi_filter.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: ndpi_filter_alloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_filter.c
    functionUses: 2
    functionsReached:
    - ndpi_bitmap_alloc
    linkageType: ''
    returnType: ndpi_filter
    signature: ndpi_filter * ndpi_filter_alloc()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmap_set
      Src: /src/ndpi/src/lib/ndpi_filter.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - f
    - value
    argTypes:
    - ndpi_filter*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: ndpi_filter_add
    functionSourceFile: /src/ndpi/src/lib/ndpi_filter.c
    functionUses: 1
    functionsReached:
    - ndpi_bitmap_set
    linkageType: ''
    returnType: bool
    signature: bool ndpi_filter_add(ndpi_filter *f, u_int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_filter_add
      Src: /src/ndpi/src/lib/ndpi_filter.c:58,1
    - Dst: ndpi_hash_string
      Src: /src/ndpi/src/lib/ndpi_filter.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - string
    argTypes:
    - ndpi_filter*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: ndpi_filter_add_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_filter.c
    functionUses: 0
    functionsReached:
    - ndpi_filter_add
    - ndpi_hash_string
    linkageType: ''
    returnType: bool
    signature: bool ndpi_filter_add_string(ndpi_filter *f, char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmap_isset
      Src: /src/ndpi/src/lib/ndpi_filter.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - value
    argTypes:
    - ndpi_filter*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: ndpi_filter_contains
    functionSourceFile: /src/ndpi/src/lib/ndpi_filter.c
    functionUses: 1
    functionsReached:
    - ndpi_bitmap_isset
    linkageType: ''
    returnType: bool
    signature: bool ndpi_filter_contains(ndpi_filter *f, u_int32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_filter_contains
      Src: /src/ndpi/src/lib/ndpi_filter.c:76,1
    - Dst: ndpi_hash_string
      Src: /src/ndpi/src/lib/ndpi_filter.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - string
    argTypes:
    - ndpi_filter*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: ndpi_filter_contains_string
    functionSourceFile: /src/ndpi/src/lib/ndpi_filter.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_string
    - ndpi_filter_contains
    linkageType: ''
    returnType: bool
    signature: bool ndpi_filter_contains_string(ndpi_filter *f, char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmap_free
      Src: /src/ndpi/src/lib/ndpi_filter.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - ndpi_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: ndpi_filter_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_filter.c
    functionUses: 2
    functionsReached:
    - ndpi_bitmap_free
    linkageType: ''
    returnType: void
    signature: void ndpi_filter_free(ndpi_filter *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmap_serialize
      Src: /src/ndpi/src/lib/ndpi_filter.c:94,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/ndpi_filter.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - ndpi_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: ndpi_filter_size
    functionSourceFile: /src/ndpi/src/lib/ndpi_filter.c
    functionUses: 0
    functionsReached:
    - ndpi_bitmap_serialize
    - ndpi_free
    linkageType: ''
    returnType: size_t
    signature: size_t ndpi_filter_size(ndpi_filter *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmap_cardinality
      Src: /src/ndpi/src/lib/ndpi_filter.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - ndpi_filter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: ndpi_filter_cardinality
    functionSourceFile: /src/ndpi/src/lib/ndpi_filter.c
    functionUses: 0
    functionsReached:
    - ndpi_bitmap_cardinality
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t ndpi_filter_cardinality(ndpi_filter *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_hash_init
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:41,1
    - Dst: ndpi_add_tcp_fingerprint
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: ndpi_load_tcp_fingerprints
    functionSourceFile: /src/ndpi/src/lib/ndpi_fingerprint.c
    functionUses: 1
    functionsReached:
    - ndpi_hash_init
    - ndpi_add_tcp_fingerprint
    linkageType: ''
    returnType: void
    signature: void ndpi_load_tcp_fingerprints(struct ndpi_detection_module_struct
      *ndpi_str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:56,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_str
    - tcp_fingerprint
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: ndpi_get_os_from_tcp_fingerprint
    functionSourceFile: /src/ndpi/src/lib/ndpi_fingerprint.c
    functionUses: 1
    functionsReached:
    - ndpi_hash_find_entry
    - strlen
    linkageType: ''
    returnType: ndpi_os
    signature: "ndpi_os ndpi_get_os_from_tcp_fingerprint(struct ndpi_detection_module_struct
      *ndpi_str,\n\t\t\t\t\t char *tcp_fingerprint)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:79,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:82,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ndpi_str
    - fingerprint
    - os
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - ndpi_os
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: ndpi_add_tcp_fingerprint
    functionSourceFile: /src/ndpi/src/lib/ndpi_fingerprint.c
    functionUses: 1
    functionsReached:
    - ndpi_hash_add_entry
    - ndpi_hash_find_entry
    - strlen
    linkageType: ''
    returnType: int
    signature: "int ndpi_add_tcp_fingerprint(struct ndpi_detection_module_struct *ndpi_str,\n\t\t\t
      \    char *fingerprint, ndpi_os os)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:111,1
    - Dst: NDPI_LOG_ERR
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:113,1
    - Dst: strerror
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:113,1
    - Dst: load_tcp_fingerprint_file_fd
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:117,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_str
    - path
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 122
    functionName: ndpi_load_tcp_fingerprint_file
    functionSourceFile: /src/ndpi/src/lib/ndpi_fingerprint.c
    functionUses: 0
    functionsReached:
    - fclose
    - strerror
    - fopen
    - load_tcp_fingerprint_file_fd
    - NDPI_LOG_ERR
    linkageType: ''
    returnType: int
    signature: int ndpi_load_tcp_fingerprint_file(struct ndpi_detection_module_struct
      *ndpi_str, const char *path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_hash_init
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:134,1
    - Dst: fgets
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:137,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:140,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:145,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:148,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:149,1
    - Dst: ndpi_add_tcp_fingerprint
      Src: /src/ndpi/src/lib/ndpi_fingerprint.c:153,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - ndpi_str
    - fd
    argTypes:
    - struct ndpi_detection_module_struct*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 158
    functionName: load_tcp_fingerprint_file_fd
    functionSourceFile: /src/ndpi/src/lib/ndpi_fingerprint.c
    functionUses: 1
    functionsReached:
    - ndpi_hash_init
    - strlen
    - ndpi_add_tcp_fingerprint
    - atoi
    - strtok_r
    - fgets
    linkageType: ''
    returnType: int
    signature: int load_tcp_fingerprint_file_fd(struct ndpi_detection_module_struct
      *ndpi_str, FILE *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_create
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:45,1
    - Dst: roaring64_bitmap_create
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ndpi_bitmap_alloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 1
    functionsReached:
    - roaring_bitmap_create
    - roaring64_bitmap_create
    linkageType: ''
    returnType: ndpi_bitmap
    signature: ndpi_bitmap * ndpi_bitmap_alloc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_free
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:55,1
    - Dst: roaring64_bitmap_free
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: ndpi_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 1
    functionsReached:
    - roaring64_bitmap_free
    - roaring_bitmap_free
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmap_free(ndpi_bitmap* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_copy
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:65,1
    - Dst: roaring64_bitmap_copy
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: ndpi_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring_bitmap_copy
    - roaring64_bitmap_copy
    linkageType: ''
    returnType: ndpi_bitmap
    signature: ndpi_bitmap * ndpi_bitmap_copy(ndpi_bitmap* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:75,1
    - Dst: roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: ndpi_bitmap_cardinality
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 1
    functionsReached:
    - roaring64_bitmap_get_cardinality
    - roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t ndpi_bitmap_cardinality(ndpi_bitmap* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_add
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:85,1
    - Dst: roaring64_bitmap_add
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - value
    argTypes:
    - ndpi_bitmap*
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: ndpi_bitmap_set
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 1
    functionsReached:
    - roaring_bitmap_add
    - roaring64_bitmap_add
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmap_set(ndpi_bitmap* b, u_int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_remove
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:95,1
    - Dst: roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - value
    argTypes:
    - ndpi_bitmap*
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: ndpi_bitmap_unset
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring_bitmap_remove
    - roaring64_bitmap_remove
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmap_unset(ndpi_bitmap* b, u_int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_contains
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:107,1
    - Dst: roaring64_bitmap_contains
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - value
    argTypes:
    - ndpi_bitmap*
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: ndpi_bitmap_isset
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 1
    functionsReached:
    - roaring64_bitmap_contains
    - roaring_bitmap_contains
    linkageType: ''
    returnType: bool
    signature: bool ndpi_bitmap_isset(ndpi_bitmap* b, u_int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:123,1
    - Dst: roaring64_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:127,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:130,1
    - Dst: roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:135,1
    - Dst: roaring64_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - b
    - buf
    argTypes:
    - ndpi_bitmap*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 139
    functionName: ndpi_bitmap_serialize
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 1
    functionsReached:
    - roaring64_bitmap_portable_serialize
    - roaring_bitmap_portable_serialize
    - roaring64_bitmap_portable_size_in_bytes
    - ndpi_malloc
    - roaring_bitmap_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t ndpi_bitmap_serialize(ndpi_bitmap* b, char **buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:145,1
    - Dst: roaring64_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: ndpi_bitmap_deserialize
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring64_bitmap_portable_deserialize_safe
    - roaring_bitmap_portable_deserialize_safe
    linkageType: ''
    returnType: ndpi_bitmap
    signature: ndpi_bitmap * ndpi_bitmap_deserialize(char *buf, size_t buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_and_inplace
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:156,1
    - Dst: roaring64_bitmap_and_inplace
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b_and
    argTypes:
    - ndpi_bitmap*
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: ndpi_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring_bitmap_and_inplace
    - roaring64_bitmap_and_inplace
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmap_and(ndpi_bitmap* a, ndpi_bitmap* b_and)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_and
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:167,1
    - Dst: roaring64_bitmap_and
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b_and
    argTypes:
    - ndpi_bitmap*
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: ndpi_bitmap_and_alloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring64_bitmap_and
    - roaring_bitmap_and
    linkageType: ''
    returnType: ndpi_bitmap
    signature: ndpi_bitmap * ndpi_bitmap_and_alloc(ndpi_bitmap* a, ndpi_bitmap* b_and)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_andnot_inplace
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:178,1
    - Dst: roaring64_bitmap_andnot_inplace
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b_and
    argTypes:
    - ndpi_bitmap*
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: ndpi_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring_bitmap_andnot_inplace
    - roaring64_bitmap_andnot_inplace
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmap_andnot(ndpi_bitmap* a, ndpi_bitmap* b_and)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_or_inplace
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:189,1
    - Dst: roaring64_bitmap_or_inplace
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b_or
    argTypes:
    - ndpi_bitmap*
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: ndpi_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring64_bitmap_or_inplace
    - roaring_bitmap_or_inplace
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmap_or(ndpi_bitmap* a, ndpi_bitmap* b_or)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_or
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:200,1
    - Dst: roaring64_bitmap_or
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b_or
    argTypes:
    - ndpi_bitmap*
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: ndpi_bitmap_or_alloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring_bitmap_or
    - roaring64_bitmap_or
    linkageType: ''
    returnType: ndpi_bitmap
    signature: ndpi_bitmap * ndpi_bitmap_or_alloc(ndpi_bitmap* a, ndpi_bitmap* b_or)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_xor_inplace
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:211,1
    - Dst: roaring64_bitmap_xor_inplace
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b_xor
    argTypes:
    - ndpi_bitmap*
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: ndpi_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring_bitmap_xor_inplace
    - roaring64_bitmap_xor_inplace
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmap_xor(ndpi_bitmap* a, ndpi_bitmap* b_xor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_run_optimize
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:221,1
    - Dst: roaring64_bitmap_run_optimize
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: ndpi_bitmap_optimize
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring64_bitmap_run_optimize
    - roaring_bitmap_run_optimize
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmap_optimize(ndpi_bitmap* a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_create_iterator
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:231,1
    - Dst: roaring64_iterator_create
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: ndpi_bitmap_iterator_alloc
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring_create_iterator
    - roaring64_iterator_create
    linkageType: ''
    returnType: ndpi_bitmap_iterator
    signature: ndpi_bitmap_iterator * ndpi_bitmap_iterator_alloc(ndpi_bitmap* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free_uint32_iterator
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:241,1
    - Dst: roaring64_iterator_free
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: ndpi_bitmap_iterator_free
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring64_iterator_free
    - roaring_free_uint32_iterator
    linkageType: ''
    returnType: void
    signature: void ndpi_bitmap_iterator_free(ndpi_bitmap* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_bitmap_is_empty
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:251,1
    - Dst: roaring64_bitmap_is_empty
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - ndpi_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: ndpi_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring64_bitmap_is_empty
    - roaring_bitmap_is_empty
    linkageType: ''
    returnType: bool
    signature: bool ndpi_bitmap_is_empty(ndpi_bitmap* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_read_uint32_iterator
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:266,1
    - Dst: roaring64_iterator_read
      Src: /src/ndpi/src/lib/ndpi_bitmap.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - value
    argTypes:
    - ndpi_bitmap_iterator*
    - u_int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 274
    functionName: ndpi_bitmap_iterator_next
    functionSourceFile: /src/ndpi/src/lib/ndpi_bitmap.c
    functionUses: 0
    functionsReached:
    - roaring64_iterator_read
    - roaring_read_uint32_iterator
    linkageType: ''
    returnType: bool
    signature: bool ndpi_bitmap_iterator_next(ndpi_bitmap_iterator* i, u_int64_t *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: ndpi_DeleteEntry
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_DeleteEntry(void *a)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - ndpi_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: ndpi_prefix_tochar
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_char
    signature: u_char * ndpi_prefix_tochar (ndpi_prefix_t * prefix)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - addr
    - dest
    - mask
    argTypes:
    - void*
    - void*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: ndpi_comp_with_mask
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - htonl
    linkageType: ''
    returnType: int
    signature: int ndpi_comp_with_mask (void *addr, void *dest, u_int mask)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:103,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:111,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:120,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 130
    functionName: ndpi_my_inet_pton
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - inet_pton
    - ndpi_isdigit
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ndpi_my_inet_pton (int af, const char *src, void *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: THREAD_SPECIFIC_DATA
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void THREAD_SPECIFIC_DATA (struct buffer, buffp, 1);\n#    else\n
      \   { /* for scope only */\n      static struct buffer local_buff;\n      buffp
      = &local_buff;\n    }\n#    endif\n    if(buffp == NULL)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_prefix_toa2x
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - buff
    argTypes:
    - ndpi_prefix_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: ndpi_prefix_toa2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - ndpi_prefix_toa2x
    linkageType: ''
    returnType: char
    signature: char * ndpi_prefix_toa2 (ndpi_prefix_t *prefix, char *buff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_prefix_toa2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - ndpi_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: ndpi_prefix_toa
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - ndpi_prefix_toa2
    linkageType: ''
    returnType: char
    signature: char * ndpi_prefix_toa (ndpi_prefix_t * prefix)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:217,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:222,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:228,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:232,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:239,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:244,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - family
    - dest
    - bitlen
    - prefix
    argTypes:
    - int
    - void*
    - int
    - ndpi_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 263
    functionName: ndpi_New_Prefix2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ndpi_calloc
    linkageType: ''
    returnType: ndpi_prefix_t
    signature: ndpi_prefix_t * ndpi_New_Prefix2 (int family, void *dest, int bitlen,
      ndpi_prefix_t *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_New_Prefix2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - family
    - dest
    - bitlen
    argTypes:
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: ndpi_New_Prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - ndpi_New_Prefix2
    linkageType: ''
    returnType: ndpi_prefix_t
    signature: ndpi_prefix_t * ndpi_New_Prefix (int family, void *dest, int bitlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_New_Prefix2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - ndpi_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: ndpi_Ref_Prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - ndpi_New_Prefix2
    linkageType: ''
    returnType: ndpi_prefix_t
    signature: 'ndpi_prefix_t *

      ndpi_Ref_Prefix (ndpi_prefix_t * prefix)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:292,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:295,1
    - Dst: ndpi_DeleteEntry
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - ndpi_prefix_t*
    assertStmts:
    - condition: (prefix->ref_count > 0)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (prefix->ref_count >= 0)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: ndpi_Deref_Prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_DeleteEntry
    linkageType: ''
    returnType: void
    signature: void ndpi_Deref_Prefix (ndpi_prefix_t * prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:311,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - maxbits
    argTypes:
    - u_int16_t
    assertStmts:
    - condition: ((u_int16_t)maxbits <= PATRICIA_MAXBITS)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: ndpi_patricia_new
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 4
    functionsReached:
    - assert
    - ndpi_calloc
    linkageType: ''
    returnType: ndpi_patricia_tree_t
    signature: 'ndpi_patricia_tree_t *

      ndpi_patricia_new (u_int16_t maxbits)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_Deref_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:345,1
    - Dst: func
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:347,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:350,1
    - Dst: ndpi_DeleteEntry
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:352,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - patricia
    - func
    argTypes:
    - ndpi_patricia_tree_t*
    - ndpi_void_fn_t
    assertStmts:
    - condition: (patricia->num_active_node == 0)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (Xrn->data == NULL)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    constantsTouched: []
    func_position:
      end: 371
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 371
    functionName: ndpi_Clear_Patricia
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_Deref_Prefix
    - func
    - ndpi_DeleteEntry
    linkageType: ''
    returnType: void
    signature: void ndpi_Clear_Patricia (ndpi_patricia_tree_t *patricia, ndpi_void_fn_t
      func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_Clear_Patricia
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:376,1
    - Dst: ndpi_DeleteEntry
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - patricia
    - func
    argTypes:
    - ndpi_patricia_tree_t*
    - ndpi_void_fn_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: ndpi_patricia_destroy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 4
    functionsReached:
    - ndpi_DeleteEntry
    - ndpi_Clear_Patricia
    linkageType: ''
    returnType: void
    signature: void ndpi_patricia_destroy (ndpi_patricia_tree_t *patricia, ndpi_void_fn_t
      func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:392,1
    - Dst: PATRICIA_WALK
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:394,1
    - Dst: func
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - patricia
    - func
    argTypes:
    - ndpi_patricia_tree_t*
    - ndpi_void_fn2_t
    assertStmts:
    - condition: (func)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: ndpi_patricia_process
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - PATRICIA_WALK
    - assert
    - func
    linkageType: ''
    returnType: void
    signature: void ndpi_patricia_process (ndpi_patricia_tree_t *patricia, ndpi_void_fn2_t
      func)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_patricia_clone_walk
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:406,1
    - Dst: ndpi_patricia_lookup
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:410,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:414,1
    - Dst: ndpi_patricia_clone_walk
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - node
    - dst
    argTypes:
    - ndpi_patricia_node_t*
    - ndpi_patricia_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 425
    functionName: ndpi_patricia_clone_walk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 1
    functionsReached:
    - ndpi_patricia_lookup
    - ndpi_patricia_clone_walk
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ndpi_patricia_clone_walk(ndpi_patricia_node_t *node, ndpi_patricia_tree_t
      *dst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_patricia_new
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:432,1
    - Dst: ndpi_patricia_clone_walk
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - from
    argTypes:
    - ndpi_patricia_tree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 440
    functionName: ndpi_patricia_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_new
    - ndpi_patricia_clone_walk
    linkageType: ''
    returnType: ndpi_patricia_tree_t
    signature: 'ndpi_patricia_tree_t *

      ndpi_patricia_clone (const ndpi_patricia_tree_t * const from)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:446,1
    - Dst: ndpi_patricia_walk_inorder
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:449,1
    - Dst: func
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:453,1
    - Dst: ndpi_patricia_walk_inorder
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - node
    - func
    - data
    argTypes:
    - ndpi_patricia_node_t*
    - ndpi_void_fn3_t
    - void*
    assertStmts:
    - condition: (func)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    constantsTouched: []
    func_position:
      end: 462
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 462
    functionName: ndpi_patricia_walk_inorder
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 1
    functionsReached:
    - ndpi_patricia_walk_inorder
    - assert
    - func
    linkageType: ''
    returnType: size_t
    signature: size_t ndpi_patricia_walk_inorder(ndpi_patricia_node_t *node, ndpi_void_fn3_t
      func, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_patricia_walk_inorder
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - patricia
    - func
    - data
    argTypes:
    - ndpi_patricia_tree_t*
    - ndpi_void_fn3_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: ndpi_patricia_walk_tree_inorder
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_walk_inorder
    linkageType: ''
    returnType: size_t
    signature: size_t ndpi_patricia_walk_tree_inorder(ndpi_patricia_tree_t *patricia,
      ndpi_void_fn3_t func, void *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:481,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:482,1
    - Dst: ndpi_prefix_touchar
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:490,1
    - Dst: BIT_TEST
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:495,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:498,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:499,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:501,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:509,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:510,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:512,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:524,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:525,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:527,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:533,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:534,1
    - Dst: ndpi_comp_with_mask
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:535,1
    - Dst: ndpi_prefix_tochar
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:535,1
    - Dst: ndpi_prefix_tochar
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:535,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:538,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:539,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - patricia
    - prefix
    argTypes:
    - ndpi_patricia_tree_t*
    - ndpi_prefix_t*
    assertStmts:
    - condition: (prefix)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (prefix->bitlen <= patricia->maxbits)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (node->bit == bitlen)
      pos:
        line_end: 532
        line_start: 532
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (node->bit == node->prefix->bitlen)
      pos:
        line_end: 533
        line_start: 533
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    constantsTouched: []
    func_position:
      end: 545
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 545
    functionName: ndpi_patricia_search_exact
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - assert
    - BIT_TEST
    - ndpi_comp_with_mask
    - ndpi_prefix_tochar
    - ndpi_prefix_toa
    - ndpi_prefix_touchar
    - fprintf
    linkageType: ''
    returnType: ndpi_patricia_node_t
    signature: 'ndpi_patricia_node_t *

      ndpi_patricia_search_exact (ndpi_patricia_tree_t *patricia, ndpi_prefix_t *prefix)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:561,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:562,1
    - Dst: ndpi_prefix_touchar
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:570,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:576,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:577,1
    - Dst: BIT_TEST
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:582,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:585,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:586,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:588,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:595,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:596,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:598,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:610,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:611,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:612,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:619,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:621,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:622,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:624,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:633,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:634,1
    - Dst: ndpi_comp_with_mask
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:636,1
    - Dst: ndpi_prefix_tochar
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:636,1
    - Dst: ndpi_prefix_tochar
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:637,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:640,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:641,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 3
    argNames:
    - patricia
    - prefix
    - inclusive
    argTypes:
    - ndpi_patricia_tree_t*
    - ndpi_prefix_t*
    - int
    assertStmts:
    - condition: (prefix)
      pos:
        line_end: 560
        line_start: 560
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (prefix->bitlen <= patricia->maxbits)
      pos:
        line_end: 561
        line_start: 561
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    constantsTouched: []
    func_position:
      end: 648
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 648
    functionName: ndpi_patricia_search_best2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - assert
    - BIT_TEST
    - ndpi_comp_with_mask
    - ndpi_prefix_tochar
    - ndpi_prefix_toa
    - ndpi_prefix_touchar
    - fprintf
    linkageType: ''
    returnType: ndpi_patricia_node_t
    signature: 'ndpi_patricia_node_t *

      ndpi_patricia_search_best2 (ndpi_patricia_tree_t *patricia, ndpi_prefix_t *prefix,
      int inclusive)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_patricia_search_best2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - patricia
    - prefix
    argTypes:
    - ndpi_patricia_tree_t*
    - ndpi_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: ndpi_patricia_search_best
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 16
    functionsReached:
    - ndpi_patricia_search_best2
    linkageType: ''
    returnType: ndpi_patricia_node_t
    signature: 'ndpi_patricia_node_t *

      ndpi_patricia_search_best (ndpi_patricia_tree_t *patricia, ndpi_prefix_t *prefix)'
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:670,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:671,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:674,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:675,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:678,1
    - Dst: ndpi_Ref_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:682,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:684,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:692,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:693,1
    - Dst: ndpi_prefix_touchar
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:699,1
    - Dst: BIT_TEST
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:705,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:710,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:711,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:713,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:722,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:723,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:725,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:730,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:733,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:735,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:736,1
    - Dst: ndpi_prefix_touchar
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:739,1
    - Dst: BIT_TEST
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:752,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:756,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:764,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:773,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:774,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:776,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:783,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:784,1
    - Dst: ndpi_Ref_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:788,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:793,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:794,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:796,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:800,1
    - Dst: ndpi_Ref_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:803,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:805,1
    - Dst: BIT_TEST
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:816,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:817,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:821,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:825,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:826,1
    - Dst: BIT_TEST
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:833,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:841,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:852,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:853,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:857,1
    - Dst: ndpi_Deref_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:860,1
    - Dst: ndpi_DeleteEntry
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:861,1
    - Dst: BIT_TEST
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:871,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:882,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:893,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:894,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 164
    argCount: 2
    argNames:
    - patricia
    - prefix
    argTypes:
    - ndpi_patricia_tree_t*
    - ndpi_prefix_t*
    assertStmts:
    - condition: (node->prefix)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (patricia->head == node)
      pos:
        line_end: 840
        line_start: 840
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (prefix->bitlen <= patricia->maxbits)
      pos:
        line_end: 674
        line_start: 674
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (node)
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (node->r == NULL)
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (patricia->head == node)
      pos:
        line_end: 881
        line_start: 881
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (node->l == NULL)
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (prefix)
      pos:
        line_end: 673
        line_start: 673
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (j < 8)
      pos:
        line_end: 755
        line_start: 755
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (node->data == NULL)
      pos:
        line_end: 795
        line_start: 795
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    constantsTouched: []
    func_position:
      end: 898
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 898
    functionName: ndpi_patricia_lookup
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 4
    functionsReached:
    - assert
    - ndpi_free
    - BIT_TEST
    - ndpi_Deref_Prefix
    - ndpi_Ref_Prefix
    - ndpi_DeleteEntry
    - ndpi_prefix_toa
    - ndpi_prefix_touchar
    - fprintf
    - ndpi_calloc
    linkageType: ''
    returnType: ndpi_patricia_node_t
    signature: 'ndpi_patricia_node_t *

      ndpi_patricia_lookup (ndpi_patricia_tree_t *patricia, ndpi_prefix_t *prefix)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:908,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:912,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:913,1
    - Dst: ndpi_Deref_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:919,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:928,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:929,1
    - Dst: ndpi_Deref_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:932,1
    - Dst: ndpi_DeleteEntry
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:933,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:937,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:947,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:958,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:965,1
    - Dst: ndpi_DeleteEntry
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:969,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:975,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:976,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:982,1
    - Dst: ndpi_Deref_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:988,1
    - Dst: ndpi_DeleteEntry
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:989,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:993,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1002,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 71
    argCount: 2
    argNames:
    - patricia
    - node
    argTypes:
    - ndpi_patricia_tree_t*
    - ndpi_patricia_node_t*
    assertStmts:
    - condition: (node)
      pos:
        line_end: 907
        line_start: 907
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (patricia->head == node)
      pos:
        line_end: 936
        line_start: 936
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (node->l)
      pos:
        line_end: 981
        line_start: 981
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (patricia->head == parent)
      pos:
        line_end: 957
        line_start: 957
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (patricia->head == node)
      pos:
        line_end: 992
        line_start: 992
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (parent->parent->l == parent)
      pos:
        line_end: 964
        line_start: 964
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (parent->l == node)
      pos:
        line_end: 946
        line_start: 946
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    - condition: (parent->l == node)
      pos:
        line_end: 1001
        line_start: 1001
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    constantsTouched: []
    func_position:
      end: 1005
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 1005
    functionName: ndpi_patricia_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_DeleteEntry
    - ndpi_prefix_toa
    - ndpi_Deref_Prefix
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ndpi_patricia_remove (ndpi_patricia_tree_t *patricia, ndpi_patricia_node_t
      *node)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1026,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1036,1
    - Dst: atol
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1037,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1040,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1041,1
    - Dst: ndpi_my_inet_pton
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1051,1
    - Dst: ndpi_New_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1053,1
    - Dst: inet6_addr
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1058,1
    - Dst: ndpi_New_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1059,1
    - Dst: inet_pton
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1061,1
    - Dst: ndpi_New_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1064,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - family
    - string
    argTypes:
    - int
    - char*
    assertStmts:
    - condition: (cp - string < MAXLINE)
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    constantsTouched: []
    func_position:
      end: 1068
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1068
    functionName: ndpi_ascii2prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - ndpi_my_inet_pton
    - atol
    - assert
    - strchr
    - inet_pton
    - inet6_addr
    - ndpi_New_Prefix
    - memcpy
    linkageType: ''
    returnType: ndpi_prefix_t
    signature: ndpi_prefix_t * ndpi_ascii2prefix (int family, char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_ascii2prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1076,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1077,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1077,1
    - Dst: ndpi_patricia_lookup
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1078,1
    - Dst: ndpi_Deref_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tree
    - string
    argTypes:
    - ndpi_patricia_tree_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1070
    functionDepth: 3
    functionLinenumber: 1070
    functionLinenumberEnd: 1081
    functionName: ndpi_make_and_lookup
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - ndpi_patricia_lookup
    - ndpi_ascii2prefix
    - ndpi_prefix_toa
    - printf
    - ndpi_Deref_Prefix
    linkageType: ''
    returnType: ndpi_patricia_node_t
    signature: 'ndpi_patricia_node_t *

      ndpi_make_and_lookup (ndpi_patricia_tree_t *tree, char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_ascii2prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1089,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1090,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1090,1
    - Dst: patricia_search_exact
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1091,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1092,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1095,1
    - Dst: ndpi_prefix_toa
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1096,1
    - Dst: ndpi_Deref_Prefix
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - tree
    - string
    argTypes:
    - ndpi_patricia_tree_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1083
    functionDepth: 3
    functionLinenumber: 1083
    functionLinenumberEnd: 1100
    functionName: ndpi_try_search_exact
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - patricia_search_exact
    - ndpi_ascii2prefix
    - ndpi_prefix_toa
    - printf
    - ndpi_Deref_Prefix
    linkageType: ''
    returnType: ndpi_patricia_node_t
    signature: 'ndpi_patricia_node_t *

      ndpi_try_search_exact (ndpi_patricia_tree_t *tree, char *string)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: try_search_exact
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1107,1
    - Dst: patricia_remove
      Src: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - tree
    - string
    argTypes:
    - ndpi_patricia_tree_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1109
    functionName: ndpi_lookup_then_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    functionUses: 0
    functionsReached:
    - patricia_remove
    - try_search_exact
    linkageType: ''
    returnType: void
    signature: void ndpi_lookup_then_remove (ndpi_patricia_tree_t *tree, char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: _blsr_u64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _blsr_u64(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanForward64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:244,1
    - Dst: _BitScanForward
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:247,1
    - Dst: _BitScanForward
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - input_num
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: __builtin_ctzll
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _BitScanForward64
    - _BitScanForward
    linkageType: ''
    returnType: int
    signature: int __builtin_ctzll(unsigned long long input_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:260,1
    - Dst: _BitScanReverse
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:263,1
    - Dst: _BitScanReverse
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - input_num
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: __builtin_clzll
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _BitScanReverse64
    - _BitScanReverse
    linkageType: ''
    returnType: int
    signature: int __builtin_clzll(unsigned long long input_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: __builtin_unreachable
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __builtin_unreachable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: ALIGNED
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: ALIGNED
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:314,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:315,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:316,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: hammingbackup
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: int
    signature: int hammingbackup(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vaddv_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:328,1
    - Dst: vcnt_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:328,1
    - Dst: vcreate_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:328,1
    - Dst: hammingbackup
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:330,1
    - Dst: __popcnt64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:333,1
    - Dst: hammingbackup
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:337,1
    - Dst: __popcnt
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:340,1
    - Dst: __popcnt
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:340,1
    - Dst: __builtin_popcountll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: hamming
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - hammingbackup
    - vcreate_u8
    - vaddv_u8
    - __popcnt64
    - vcnt_u8
    - __popcnt
    - __builtin_popcountll
    linkageType: ''
    returnType: int
    signature: int hamming(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: UINT64_C
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT64_C(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: UINT32_C
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT32_C(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: STRINGIFY_IMPLEMENTATION_
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY_IMPLEMENTATION_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: STRINGIFY
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: CROARING_TARGET_REGION
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_TARGET_REGION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: CROARING_TARGET_REGION
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_TARGET_REGION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:574,1
    - Dst: __get_cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - eax
    - ebx
    - ecx
    - edx
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 590
    functionName: cpuid
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - __get_cpuid
    - __cpuid
    linkageType: ''
    returnType: void
    signature: "void cpuid(uint32_t *eax, uint32_t *ebx, uint32_t *ecx,\n                         uint32_t
      *edx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:604,1
    - Dst: cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 629
    functionName: dynamic_croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - cpuid
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dynamic_croaring_detect_supported_architectures()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 657
    functionName: croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 667
    functionName: croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 679
    functionName: croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 686
    functionName: croaring_avx2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool croaring_avx2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 690
    functionName: croaring_avx2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool croaring_avx2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 694
    functionName: croaring_avx2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - croaring_detect_supported_architectures
    linkageType: ''
    returnType: bool
    signature: bool croaring_avx2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 816
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 838
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 839
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Derived**>
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr_to_ptr
    argTypes:
    - Base**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 849
    functionName: roaring::internal::movable_CAST_HELPER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Derived**>
    linkageType: ''
    returnType: PPDerived
    signature: PPDerived movable_CAST_HELPER(Base **ptr_to_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 852
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 853
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 858
    functionName: movable_CAST_base
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_base(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 816
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 838
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 839
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Derived**>
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr_to_ptr
    argTypes:
    - Base**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 849
    functionName: roaring::internal::movable_CAST_HELPER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Derived**>
    linkageType: ''
    returnType: PPDerived
    signature: PPDerived movable_CAST_HELPER(Base **ptr_to_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 852
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 853
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 858
    functionName: movable_CAST_base
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_base(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 816
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 838
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 839
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Derived**>
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr_to_ptr
    argTypes:
    - Base**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 849
    functionName: roaring::internal::movable_CAST_HELPER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Derived**>
    linkageType: ''
    returnType: PPDerived
    signature: PPDerived movable_CAST_HELPER(Base **ptr_to_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 852
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 853
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 858
    functionName: movable_CAST_base
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_base(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 816
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 838
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 839
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Derived**>
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr_to_ptr
    argTypes:
    - Base**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 849
    functionName: roaring::internal::movable_CAST_HELPER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Derived**>
    linkageType: ''
    returnType: PPDerived
    signature: PPDerived movable_CAST_HELPER(Base **ptr_to_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 852
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 853
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 858
    functionName: movable_CAST_base
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_base(c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 902
    functionName: roaring::internal::binarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t binarySearch(const uint16_t *array, int32_t lenarray,\n                            uint16_t
      ikey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - array
    - pos
    - length
    - min
    argTypes:
    - uint16_t*
    - int32_t
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 954
    functionName: roaring::internal::advanceUntil
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t advanceUntil(const uint16_t *array, int32_t pos,\n                                   int32_t
      length, uint16_t min)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 965
    functionName: roaring::internal::count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_less(const uint16_t *array, int32_t lenarray,\n                                 uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 980
    functionName: roaring::internal::count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_greater(const uint16_t *array, int32_t lenarray,\n                                    uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 902
    functionName: roaring::internal::binarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t binarySearch(const uint16_t *array, int32_t lenarray,\n                            uint16_t
      ikey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - array
    - pos
    - length
    - min
    argTypes:
    - uint16_t*
    - int32_t
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 954
    functionName: roaring::internal::advanceUntil
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t advanceUntil(const uint16_t *array, int32_t pos,\n                                   int32_t
      length, uint16_t min)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 965
    functionName: roaring::internal::count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_less(const uint16_t *array, int32_t lenarray,\n                                 uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 980
    functionName: roaring::internal::count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_greater(const uint16_t *array, int32_t lenarray,\n                                    uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 902
    functionName: roaring::internal::binarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t binarySearch(const uint16_t *array, int32_t lenarray,\n                            uint16_t
      ikey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - array
    - pos
    - length
    - min
    argTypes:
    - uint16_t*
    - int32_t
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 954
    functionName: roaring::internal::advanceUntil
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t advanceUntil(const uint16_t *array, int32_t pos,\n                                   int32_t
      length, uint16_t min)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 965
    functionName: roaring::internal::count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_less(const uint16_t *array, int32_t lenarray,\n                                 uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 980
    functionName: roaring::internal::count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_greater(const uint16_t *array, int32_t lenarray,\n                                    uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 902
    functionName: roaring::internal::binarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t binarySearch(const uint16_t *array, int32_t lenarray,\n                            uint16_t
      ikey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - array
    - pos
    - length
    - min
    argTypes:
    - uint16_t*
    - int32_t
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 954
    functionName: roaring::internal::advanceUntil
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t advanceUntil(const uint16_t *array, int32_t pos,\n                                   int32_t
      length, uint16_t min)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 965
    functionName: roaring::internal::count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_less(const uint16_t *array, int32_t lenarray,\n                                 uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 980
    functionName: roaring::internal::count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_greater(const uint16_t *array, int32_t lenarray,\n                                    uint16_t
      ikey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - ','
    - destReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1131
    functionName: ASM_SHIFT_RIGHT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SHIFT_RIGHT(srcReg, bitsReg, destReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1139
    functionName: ASM_INPLACESHIFT_RIGHT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_INPLACESHIFT_RIGHT(srcReg, bitsReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - ','
    - destReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1146
    functionName: ASM_SHIFT_LEFT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SHIFT_LEFT(srcReg, bitsReg, destReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - testByte
    - ','
    - testBit
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1156
    functionName: ASM_SET_BIT_INC_WAS_CLEAR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SET_BIT_INC_WAS_CLEAR(testByte, testBit, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - testByte
    - ','
    - testBit
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1166
    functionName: ASM_CLEAR_BIT_DEC_WAS_SET
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_CLEAR_BIT_DEC_WAS_SET(testByte, testBit, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - ','
    - destReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1131
    functionName: ASM_SHIFT_RIGHT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SHIFT_RIGHT(srcReg, bitsReg, destReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1139
    functionName: ASM_INPLACESHIFT_RIGHT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_INPLACESHIFT_RIGHT(srcReg, bitsReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - ','
    - destReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1146
    functionName: ASM_SHIFT_LEFT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SHIFT_LEFT(srcReg, bitsReg, destReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - testByte
    - ','
    - testBit
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1156
    functionName: ASM_SET_BIT_INC_WAS_CLEAR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SET_BIT_INC_WAS_CLEAR(testByte, testBit, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - testByte
    - ','
    - testBit
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1166
    functionName: ASM_CLEAR_BIT_DEC_WAS_SET
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_CLEAR_BIT_DEC_WAS_SET(testByte, testBit, count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1211,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1212,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1215,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1217,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1220
    functionName: roaring::internal::bitset_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_range(uint64_t *words, uint32_t start,\n                                    uint32_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1232,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1233,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1236,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1236,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1238,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1241,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1244
    functionName: roaring::internal::bitset_lenrange_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - hamming
    - UINT64_C
    linkageType: ''
    returnType: int
    signature: "int bitset_lenrange_cardinality(const uint64_t *words,\n                                              uint32_t
      start,\n                                              uint32_t lenminusone)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1254,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1257,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1269
    functionName: roaring::internal::bitset_lenrange_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_lenrange_empty(const uint64_t *words, uint32_t start,\n
      \                                        uint32_t lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1280,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1285,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1287,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1290
    functionName: roaring::internal::bitset_set_lenrange
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_lenrange(uint64_t *words, uint32_t start,\n                                       uint32_t
      lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1300,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1305
    functionName: roaring::internal::bitset_flip_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_flip_range(uint64_t *words, uint32_t start,\n                                     uint32_t
      end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1316,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1317,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1320,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1322,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1325
    functionName: roaring::internal::bitset_reset_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_reset_range(uint64_t *words, uint32_t start,\n                                      uint32_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1451,1
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1461,1
    - Dst: _mm256_set1_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1471,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1473,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1474,1
    - Dst: _mm256_srli_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1474,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1475,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1476,1
    - Dst: _mm256_sad_epu8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1478
    functionName: roaring::internal::popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm256_set1_epi8
    - _mm256_sad_epu8
    - _mm256_setr_epi8
    - _mm256_srli_epi16
    - _mm256_shuffle_epi8
    - _mm256_and_si256
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 popcount256(__m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1487,1
    - Dst: _mm256_or_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - h
    - l
    - a
    - b
    - c
    argTypes:
    - __m256i*
    - __m256i*
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1490
    functionName: roaring::internal::CSA
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm256_and_si256
    - _mm256_or_si256
    - _mm256_xor_si256
    linkageType: ''
    returnType: void
    signature: "void CSA(__m256i *h, __m256i *l, __m256i a, __m256i b,\n                       __m256i
      c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1499,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1500,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1501,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1502,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1503,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1504,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1511,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1511,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1512,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1513,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1513,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1514,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1515,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1516,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1516,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1517,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1518,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1518,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1519,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1520,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1521,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1522,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1522,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1523,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1524,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1524,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1525,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1526,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1527,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1527,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1528,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1529,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1529,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1530,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1531,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1532,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1533,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1535,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1535,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1538,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1539,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1540,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1540,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1541,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1542,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1542,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1543,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1544,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1544,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1545,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1545,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1550,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1551,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1552,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m256i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1554
    functionName: roaring::internal::avx2_harley_seal_popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::CSA
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - roaring::internal::popcount256
    - _mm256_slli_epi64
    - _mm256_extract_epi64
    - _mm256_add_epi64
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx2_harley_seal_popcount256(const __m256i *data,\n                                                    const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1736
    functionName: AVXPOPCNTFNC
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVXPOPCNTFNC(opname, avx_intrinsic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1211,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1212,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1215,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1217,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1220
    functionName: roaring::internal::bitset_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_range(uint64_t *words, uint32_t start,\n                                    uint32_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1232,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1233,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1236,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1236,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1238,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1241,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1244
    functionName: roaring::internal::bitset_lenrange_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - hamming
    - UINT64_C
    linkageType: ''
    returnType: int
    signature: "int bitset_lenrange_cardinality(const uint64_t *words,\n                                              uint32_t
      start,\n                                              uint32_t lenminusone)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1254,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1257,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1269
    functionName: roaring::internal::bitset_lenrange_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_lenrange_empty(const uint64_t *words, uint32_t start,\n
      \                                        uint32_t lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1280,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1285,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1287,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1290
    functionName: roaring::internal::bitset_set_lenrange
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_lenrange(uint64_t *words, uint32_t start,\n                                       uint32_t
      lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1300,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1305
    functionName: roaring::internal::bitset_flip_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_flip_range(uint64_t *words, uint32_t start,\n                                     uint32_t
      end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1316,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1317,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1320,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1322,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1325
    functionName: roaring::internal::bitset_reset_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_reset_range(uint64_t *words, uint32_t start,\n                                      uint32_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1451,1
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1461,1
    - Dst: _mm256_set1_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1471,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1473,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1474,1
    - Dst: _mm256_srli_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1474,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1475,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1476,1
    - Dst: _mm256_sad_epu8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1478
    functionName: roaring::internal::popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - _mm256_set1_epi8
    - _mm256_sad_epu8
    - _mm256_setr_epi8
    - _mm256_srli_epi16
    - _mm256_shuffle_epi8
    - _mm256_and_si256
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 popcount256(__m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1487,1
    - Dst: _mm256_or_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - h
    - l
    - a
    - b
    - c
    argTypes:
    - __m256i*
    - __m256i*
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1490
    functionName: roaring::internal::CSA
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - _mm256_and_si256
    - _mm256_or_si256
    - _mm256_xor_si256
    linkageType: ''
    returnType: void
    signature: "void CSA(__m256i *h, __m256i *l, __m256i a, __m256i b,\n                       __m256i
      c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1499,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1500,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1501,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1502,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1503,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1504,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1511,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1511,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1512,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1513,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1513,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1514,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1515,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1516,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1516,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1517,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1518,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1518,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1519,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1520,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1521,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1522,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1522,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1523,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1524,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1524,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1525,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1526,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1527,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1527,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1528,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1529,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1529,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1530,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1531,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1532,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1533,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1535,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1535,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1538,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1539,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1540,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1540,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1541,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1542,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1542,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1543,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1544,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1544,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1545,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1545,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1550,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1551,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1552,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m256i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1554
    functionName: roaring::internal::avx2_harley_seal_popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::CSA
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - roaring::internal::popcount256
    - _mm256_slli_epi64
    - _mm256_extract_epi64
    - _mm256_add_epi64
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx2_harley_seal_popcount256(const __m256i *data,\n                                                    const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1736
    functionName: AVXPOPCNTFNC
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVXPOPCNTFNC(opname, avx_intrinsic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1211,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1212,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1215,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1217,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1220
    functionName: roaring::internal::bitset_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_range(uint64_t *words, uint32_t start,\n                                    uint32_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1232,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1233,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1236,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1236,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1238,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1241,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1244
    functionName: roaring::internal::bitset_lenrange_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - hamming
    - UINT64_C
    linkageType: ''
    returnType: int
    signature: "int bitset_lenrange_cardinality(const uint64_t *words,\n                                              uint32_t
      start,\n                                              uint32_t lenminusone)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1254,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1257,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1269
    functionName: roaring::internal::bitset_lenrange_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_lenrange_empty(const uint64_t *words, uint32_t start,\n
      \                                        uint32_t lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1280,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1285,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1287,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1290
    functionName: roaring::internal::bitset_set_lenrange
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_lenrange(uint64_t *words, uint32_t start,\n                                       uint32_t
      lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1300,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1305
    functionName: roaring::internal::bitset_flip_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_flip_range(uint64_t *words, uint32_t start,\n                                     uint32_t
      end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1316,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1317,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1320,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1322,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1325
    functionName: roaring::internal::bitset_reset_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_reset_range(uint64_t *words, uint32_t start,\n                                      uint32_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1451,1
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1461,1
    - Dst: _mm256_set1_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1471,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1473,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1474,1
    - Dst: _mm256_srli_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1474,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1475,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1476,1
    - Dst: _mm256_sad_epu8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1478
    functionName: roaring::internal::popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - _mm256_set1_epi8
    - _mm256_sad_epu8
    - _mm256_setr_epi8
    - _mm256_srli_epi16
    - _mm256_shuffle_epi8
    - _mm256_and_si256
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 popcount256(__m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1487,1
    - Dst: _mm256_or_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - h
    - l
    - a
    - b
    - c
    argTypes:
    - __m256i*
    - __m256i*
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1490
    functionName: roaring::internal::CSA
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - _mm256_and_si256
    - _mm256_or_si256
    - _mm256_xor_si256
    linkageType: ''
    returnType: void
    signature: "void CSA(__m256i *h, __m256i *l, __m256i a, __m256i b,\n                       __m256i
      c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1499,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1500,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1501,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1502,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1503,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1504,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1511,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1511,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1512,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1513,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1513,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1514,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1515,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1516,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1516,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1517,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1518,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1518,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1519,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1520,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1521,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1522,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1522,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1523,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1524,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1524,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1525,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1526,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1527,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1527,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1528,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1529,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1529,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1530,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1531,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1532,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1533,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1535,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1535,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1538,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1539,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1540,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1540,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1541,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1542,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1542,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1543,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1544,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1544,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1545,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1545,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1550,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1551,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1552,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m256i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1554
    functionName: roaring::internal::avx2_harley_seal_popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::CSA
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - roaring::internal::popcount256
    - _mm256_slli_epi64
    - _mm256_extract_epi64
    - _mm256_add_epi64
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx2_harley_seal_popcount256(const __m256i *data,\n                                                    const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1736
    functionName: AVXPOPCNTFNC
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVXPOPCNTFNC(opname, avx_intrinsic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1211,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1212,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1215,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1217,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1220
    functionName: roaring::internal::bitset_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_range(uint64_t *words, uint32_t start,\n                                    uint32_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1232,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1233,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1236,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1236,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1238,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1241,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1244
    functionName: roaring::internal::bitset_lenrange_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - hamming
    - UINT64_C
    linkageType: ''
    returnType: int
    signature: "int bitset_lenrange_cardinality(const uint64_t *words,\n                                              uint32_t
      start,\n                                              uint32_t lenminusone)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1254,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1257,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1269
    functionName: roaring::internal::bitset_lenrange_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_lenrange_empty(const uint64_t *words, uint32_t start,\n
      \                                        uint32_t lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1280,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1285,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1287,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1290
    functionName: roaring::internal::bitset_set_lenrange
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_lenrange(uint64_t *words, uint32_t start,\n                                       uint32_t
      lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1300,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1305
    functionName: roaring::internal::bitset_flip_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_flip_range(uint64_t *words, uint32_t start,\n                                     uint32_t
      end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1316,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1317,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1320,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1322,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1325
    functionName: roaring::internal::bitset_reset_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_reset_range(uint64_t *words, uint32_t start,\n                                      uint32_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1451,1
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1461,1
    - Dst: _mm256_set1_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1471,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1473,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1474,1
    - Dst: _mm256_srli_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1474,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1475,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1476,1
    - Dst: _mm256_sad_epu8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1478
    functionName: roaring::internal::popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - _mm256_set1_epi8
    - _mm256_sad_epu8
    - _mm256_setr_epi8
    - _mm256_srli_epi16
    - _mm256_shuffle_epi8
    - _mm256_and_si256
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 popcount256(__m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1487,1
    - Dst: _mm256_or_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1488,1
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - h
    - l
    - a
    - b
    - c
    argTypes:
    - __m256i*
    - __m256i*
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1490
    functionName: roaring::internal::CSA
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - _mm256_and_si256
    - _mm256_or_si256
    - _mm256_xor_si256
    linkageType: ''
    returnType: void
    signature: "void CSA(__m256i *h, __m256i *l, __m256i a, __m256i b,\n                       __m256i
      c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1499,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1500,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1501,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1502,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1503,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1504,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1511,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1511,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1512,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1513,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1513,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1514,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1515,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1516,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1516,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1517,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1518,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1518,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1519,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1520,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1521,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1522,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1522,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1523,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1524,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1524,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1525,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1526,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1527,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1527,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1528,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1529,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1529,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1530,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1531,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1532,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1533,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1535,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1535,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1538,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1539,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1540,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1540,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1541,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1542,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1542,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1543,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1544,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1544,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1545,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1545,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1548,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1550,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1551,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1552,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m256i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1554
    functionName: roaring::internal::avx2_harley_seal_popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::CSA
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - roaring::internal::popcount256
    - _mm256_slli_epi64
    - _mm256_extract_epi64
    - _mm256_add_epi64
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx2_harley_seal_popcount256(const __m256i *data,\n                                                    const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1736
    functionName: AVXPOPCNTFNC
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AVXPOPCNTFNC(opname, avx_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1809
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(array_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1814
    functionName: CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1815
    functionName: const_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1816
    functionName: movable_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1843
    functionName: roaring::internal::array_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_cardinality(const array_container_t
      *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1848
    functionName: roaring::internal::array_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_nonzero_cardinality(\n    const array_container_t
      *array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: roaring::internal::array_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_empty(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1868
    functionName: roaring::internal::array_container_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_full(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - card
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1937
    functionName: roaring::internal::array_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_serialized_size_in_bytes(int32_t card)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1984
    functionName: roaring::internal::array_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_size_in_bytes(\n    const array_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1998
    functionName: roaring::internal::array_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_equals(\n    const array_container_t
      *container1,\n    const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - array_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2023
    functionName: roaring::internal::array_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_select(const array_container_t *container,\n
      \                                         uint32_t *start_rank, uint32_t rank,\n
      \                                         uint32_t *element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2039,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2044
    functionName: roaring::internal::array_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_full
    - roaring::internal::array_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_container_append(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2058,1
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2060,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2064,1
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2069,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2070,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2073,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - arr
    - value
    - max_cardinality
    argTypes:
    - array_container_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2081
    functionName: roaring::internal::array_container_try_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    - roaring::internal::array_container_full
    - roaring::internal::array_container_append
    - roaring::internal::array_container_empty
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_try_add(array_container_t *arr, uint16_t value,\n
      \                                         int32_t max_cardinality)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arr
    - value
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2086
    functionName: roaring::internal::array_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_try_add
    linkageType: ''
    returnType: bool
    signature: bool array_container_add(array_container_t *arr, uint16_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2091,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2100
    functionName: roaring::internal::array_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    - memmove
    linkageType: ''
    returnType: bool
    signature: "bool array_container_remove(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2133
    functionName: roaring::internal::array_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains(const array_container_t *arr,\n                                     uint16_t
      pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - arr
    - range_start
    - range_end
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2160
    functionName: roaring::internal::array_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains_range(const array_container_t *arr,\n
      \                                                   uint32_t range_start, uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2166
    functionName: roaring::internal::array_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_minimum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2172
    functionName: roaring::internal::array_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_maximum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2183
    functionName: roaring::internal::array_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_rank(const array_container_t *arr, uint16_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2196
    functionName: roaring::internal::array_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_index_equalorlarger(const array_container_t *arr,
      uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2210,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - array
    - min
    - max
    - nvals_less
    - nvals_greater
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2219
    functionName: roaring::internal::array_container_add_range_nvals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_add_range_nvals(array_container_t *array,\n                                                   uint32_t
      min, uint32_t max,\n                                                   int32_t
      nvals_less,\n                                                   int32_t nvals_greater)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array
    - pos
    - count
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2242
    functionName: roaring::internal::array_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_remove_range(array_container_t *array,\n                                                uint32_t
      pos, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1809
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(array_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1814
    functionName: CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1815
    functionName: const_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1816
    functionName: movable_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1843
    functionName: roaring::internal::array_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_cardinality(const array_container_t
      *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1848
    functionName: roaring::internal::array_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_nonzero_cardinality(\n    const array_container_t
      *array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: roaring::internal::array_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_empty(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1868
    functionName: roaring::internal::array_container_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_full(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - card
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1937
    functionName: roaring::internal::array_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_serialized_size_in_bytes(int32_t card)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1984
    functionName: roaring::internal::array_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_size_in_bytes(\n    const array_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1998
    functionName: roaring::internal::array_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_equals(\n    const array_container_t
      *container1,\n    const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - array_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2023
    functionName: roaring::internal::array_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_select(const array_container_t *container,\n
      \                                         uint32_t *start_rank, uint32_t rank,\n
      \                                         uint32_t *element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2039,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2044
    functionName: roaring::internal::array_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::array_container_full
    - roaring::internal::array_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_container_append(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2058,1
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2060,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2064,1
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2069,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2070,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2073,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - arr
    - value
    - max_cardinality
    argTypes:
    - array_container_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2081
    functionName: roaring::internal::array_container_try_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    - roaring::internal::array_container_full
    - roaring::internal::array_container_append
    - roaring::internal::array_container_empty
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_try_add(array_container_t *arr, uint16_t value,\n
      \                                         int32_t max_cardinality)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arr
    - value
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2086
    functionName: roaring::internal::array_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_try_add
    linkageType: ''
    returnType: bool
    signature: bool array_container_add(array_container_t *arr, uint16_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2091,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2100
    functionName: roaring::internal::array_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    - memmove
    linkageType: ''
    returnType: bool
    signature: "bool array_container_remove(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2133
    functionName: roaring::internal::array_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains(const array_container_t *arr,\n                                     uint16_t
      pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - arr
    - range_start
    - range_end
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2160
    functionName: roaring::internal::array_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains_range(const array_container_t *arr,\n
      \                                                   uint32_t range_start, uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2166
    functionName: roaring::internal::array_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_minimum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2172
    functionName: roaring::internal::array_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_maximum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2183
    functionName: roaring::internal::array_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_rank(const array_container_t *arr, uint16_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2196
    functionName: roaring::internal::array_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_index_equalorlarger(const array_container_t *arr,
      uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2210,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - array
    - min
    - max
    - nvals_less
    - nvals_greater
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2219
    functionName: roaring::internal::array_container_add_range_nvals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_add_range_nvals(array_container_t *array,\n                                                   uint32_t
      min, uint32_t max,\n                                                   int32_t
      nvals_less,\n                                                   int32_t nvals_greater)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array
    - pos
    - count
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2242
    functionName: roaring::internal::array_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_remove_range(array_container_t *array,\n                                                uint32_t
      pos, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1809
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(array_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1814
    functionName: CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1815
    functionName: const_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1816
    functionName: movable_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1843
    functionName: roaring::internal::array_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_cardinality(const array_container_t
      *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1848
    functionName: roaring::internal::array_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_nonzero_cardinality(\n    const array_container_t
      *array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: roaring::internal::array_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_empty(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1868
    functionName: roaring::internal::array_container_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_full(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - card
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1937
    functionName: roaring::internal::array_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_serialized_size_in_bytes(int32_t card)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1984
    functionName: roaring::internal::array_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_size_in_bytes(\n    const array_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1998
    functionName: roaring::internal::array_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_equals(\n    const array_container_t
      *container1,\n    const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - array_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2023
    functionName: roaring::internal::array_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_select(const array_container_t *container,\n
      \                                         uint32_t *start_rank, uint32_t rank,\n
      \                                         uint32_t *element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2039,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2044
    functionName: roaring::internal::array_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::array_container_full
    - roaring::internal::array_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_container_append(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2058,1
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2060,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2064,1
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2069,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2070,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2073,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - arr
    - value
    - max_cardinality
    argTypes:
    - array_container_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2081
    functionName: roaring::internal::array_container_try_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    - roaring::internal::array_container_full
    - roaring::internal::array_container_append
    - roaring::internal::array_container_empty
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_try_add(array_container_t *arr, uint16_t value,\n
      \                                         int32_t max_cardinality)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arr
    - value
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2086
    functionName: roaring::internal::array_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_try_add
    linkageType: ''
    returnType: bool
    signature: bool array_container_add(array_container_t *arr, uint16_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2091,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2100
    functionName: roaring::internal::array_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    - memmove
    linkageType: ''
    returnType: bool
    signature: "bool array_container_remove(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2133
    functionName: roaring::internal::array_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains(const array_container_t *arr,\n                                     uint16_t
      pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - arr
    - range_start
    - range_end
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2160
    functionName: roaring::internal::array_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains_range(const array_container_t *arr,\n
      \                                                   uint32_t range_start, uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2166
    functionName: roaring::internal::array_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_minimum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2172
    functionName: roaring::internal::array_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_maximum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2183
    functionName: roaring::internal::array_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_rank(const array_container_t *arr, uint16_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2196
    functionName: roaring::internal::array_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_index_equalorlarger(const array_container_t *arr,
      uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2210,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - array
    - min
    - max
    - nvals_less
    - nvals_greater
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2219
    functionName: roaring::internal::array_container_add_range_nvals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_add_range_nvals(array_container_t *array,\n                                                   uint32_t
      min, uint32_t max,\n                                                   int32_t
      nvals_less,\n                                                   int32_t nvals_greater)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array
    - pos
    - count
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2242
    functionName: roaring::internal::array_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_remove_range(array_container_t *array,\n                                                uint32_t
      pos, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1809
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(array_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1814
    functionName: CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1815
    functionName: const_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1816
    functionName: movable_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1843
    functionName: roaring::internal::array_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_cardinality(const array_container_t
      *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1848
    functionName: roaring::internal::array_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_nonzero_cardinality(\n    const array_container_t
      *array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1862
    functionName: roaring::internal::array_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_empty(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1868
    functionName: roaring::internal::array_container_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_full(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - card
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1937
    functionName: roaring::internal::array_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_serialized_size_in_bytes(int32_t card)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1984
    functionName: roaring::internal::array_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_size_in_bytes(\n    const array_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:1997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1998
    functionName: roaring::internal::array_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_equals(\n    const array_container_t
      *container1,\n    const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - array_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2023
    functionName: roaring::internal::array_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_select(const array_container_t *container,\n
      \                                         uint32_t *start_rank, uint32_t rank,\n
      \                                         uint32_t *element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2039,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2044
    functionName: roaring::internal::array_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::internal::array_container_full
    - roaring::internal::array_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_container_append(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2058,1
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2060,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2064,1
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2069,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2070,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2073,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - arr
    - value
    - max_cardinality
    argTypes:
    - array_container_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2081
    functionName: roaring::internal::array_container_try_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    - roaring::internal::array_container_full
    - roaring::internal::array_container_append
    - roaring::internal::array_container_empty
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_try_add(array_container_t *arr, uint16_t value,\n
      \                                         int32_t max_cardinality)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arr
    - value
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2086
    functionName: roaring::internal::array_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_try_add
    linkageType: ''
    returnType: bool
    signature: bool array_container_add(array_container_t *arr, uint16_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2091,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2100
    functionName: roaring::internal::array_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    - memmove
    linkageType: ''
    returnType: bool
    signature: "bool array_container_remove(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2133
    functionName: roaring::internal::array_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains(const array_container_t *arr,\n                                     uint16_t
      pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - arr
    - range_start
    - range_end
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2160
    functionName: roaring::internal::array_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains_range(const array_container_t *arr,\n
      \                                                   uint32_t range_start, uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2166
    functionName: roaring::internal::array_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_minimum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2172
    functionName: roaring::internal::array_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_maximum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2183
    functionName: roaring::internal::array_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_rank(const array_container_t *arr, uint16_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2196
    functionName: roaring::internal::array_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_index_equalorlarger(const array_container_t *arr,
      uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2210,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - array
    - min
    - max
    - nvals_less
    - nvals_greater
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2219
    functionName: roaring::internal::array_container_add_range_nvals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_add_range_nvals(array_container_t *array,\n                                                   uint32_t
      min, uint32_t max,\n                                                   int32_t
      nvals_less,\n                                                   int32_t nvals_greater)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array
    - pos
    - count
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2242
    functionName: roaring::internal::array_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_remove_range(array_container_t *array,\n                                                uint32_t
      pos, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2284
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(bitset_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2289
    functionName: CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2290
    functionName: const_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2291
    functionName: movable_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2320,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2324
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2345,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2352
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2361,1
    - Dst: ASM_CLEAR_BIT_DEC_WAS_SET
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2368
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_CLEAR_BIT_DEC_WAS_SET
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_INPLACESHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2377
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_INPLACESHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2389
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2412
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2425
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2432
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2463
    functionName: roaring::internal::bitset_container_get_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get_range(const bitset_container_t *bitset,\n
      \                                               uint32_t pos_start, uint32_t
      pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2469
    functionName: roaring::internal::bitset_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_get
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains(const bitset_container_t *bitset,\n
      \                                     uint16_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2478
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2478
    functionName: roaring::internal::bitset_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_get_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains_range(const bitset_container_t *bitset,\n
      \         uint32_t pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2485
    functionName: roaring::internal::bitset_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED bitset_container_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2516
    functionName: roaring::internal::bitset_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_empty(\n    const bitset_container_t *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2524
    functionName: roaring::internal::bitset_container_const_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_empty
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_const_nonzero_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2658
    functionName: roaring::internal::bitset_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t bitset_container_serialized_size_in_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2700
    functionName: roaring::internal::bitset_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_size_in_bytes(\n    const bitset_container_t
      *container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2284
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(bitset_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2289
    functionName: CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2290
    functionName: const_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2291
    functionName: movable_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2320,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2324
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2345,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2352
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2361,1
    - Dst: ASM_CLEAR_BIT_DEC_WAS_SET
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2368
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_CLEAR_BIT_DEC_WAS_SET
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_INPLACESHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2377
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ASM_INPLACESHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2389
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2412
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2425
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2432
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2463
    functionName: roaring::internal::bitset_container_get_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get_range(const bitset_container_t *bitset,\n
      \                                               uint32_t pos_start, uint32_t
      pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2469
    functionName: roaring::internal::bitset_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_get
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains(const bitset_container_t *bitset,\n
      \                                     uint16_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2478
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2478
    functionName: roaring::internal::bitset_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_get_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains_range(const bitset_container_t *bitset,\n
      \         uint32_t pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2485
    functionName: roaring::internal::bitset_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED bitset_container_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2516
    functionName: roaring::internal::bitset_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_empty(\n    const bitset_container_t *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2524
    functionName: roaring::internal::bitset_container_const_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_empty
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_const_nonzero_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2658
    functionName: roaring::internal::bitset_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t bitset_container_serialized_size_in_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2700
    functionName: roaring::internal::bitset_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_size_in_bytes(\n    const bitset_container_t
      *container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2284
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(bitset_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2289
    functionName: CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2290
    functionName: const_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2291
    functionName: movable_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2320,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2324
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2345,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2352
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2361,1
    - Dst: ASM_CLEAR_BIT_DEC_WAS_SET
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2368
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_CLEAR_BIT_DEC_WAS_SET
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_INPLACESHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2377
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ASM_INPLACESHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2389
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2412
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2425
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2432
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2463
    functionName: roaring::internal::bitset_container_get_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get_range(const bitset_container_t *bitset,\n
      \                                               uint32_t pos_start, uint32_t
      pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2469
    functionName: roaring::internal::bitset_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_get
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains(const bitset_container_t *bitset,\n
      \                                     uint16_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2478
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2478
    functionName: roaring::internal::bitset_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_get_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains_range(const bitset_container_t *bitset,\n
      \         uint32_t pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2485
    functionName: roaring::internal::bitset_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED bitset_container_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2516
    functionName: roaring::internal::bitset_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_empty(\n    const bitset_container_t *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2524
    functionName: roaring::internal::bitset_container_const_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_empty
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_const_nonzero_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2658
    functionName: roaring::internal::bitset_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t bitset_container_serialized_size_in_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2700
    functionName: roaring::internal::bitset_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_size_in_bytes(\n    const bitset_container_t
      *container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2284
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(bitset_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2289
    functionName: CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2290
    functionName: const_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2291
    functionName: movable_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2320,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2324
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2345,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2352
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2361,1
    - Dst: ASM_CLEAR_BIT_DEC_WAS_SET
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2368
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ASM_CLEAR_BIT_DEC_WAS_SET
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_INPLACESHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2377
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ASM_INPLACESHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2389
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2412
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2425
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2432
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2463
    functionName: roaring::internal::bitset_container_get_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get_range(const bitset_container_t *bitset,\n
      \                                               uint32_t pos_start, uint32_t
      pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2469
    functionName: roaring::internal::bitset_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_get
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains(const bitset_container_t *bitset,\n
      \                                     uint16_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2478
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2478
    functionName: roaring::internal::bitset_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_get_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains_range(const bitset_container_t *bitset,\n
      \         uint32_t pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2481
    functionDepth: 0
    functionLinenumber: 2481
    functionLinenumberEnd: 2485
    functionName: roaring::internal::bitset_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED bitset_container_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2516
    functionName: roaring::internal::bitset_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_empty(\n    const bitset_container_t *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2524
    functionName: roaring::internal::bitset_container_const_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_empty
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_const_nonzero_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2658
    functionName: roaring::internal::bitset_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t bitset_container_serialized_size_in_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2700
    functionName: roaring::internal::bitset_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_size_in_bytes(\n    const bitset_container_t
      *container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2786
    functionName: MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_RLE16(val,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2789
    functionName: MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_RLE16(val,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2801
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(run_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2806
    functionName: CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2806
    functionDepth: 0
    functionLinenumber: 2806
    functionLinenumberEnd: 2807
    functionName: const_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2807
    functionDepth: 0
    functionLinenumber: 2807
    functionLinenumberEnd: 2808
    functionName: movable_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2834
    functionName: roaring::internal::recoverRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void recoverRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2855
    functionName: roaring::internal::interleavedBinarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t interleavedBinarySearch(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2877
    functionName: roaring::internal::rle16_find_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_find_run(const rle16_t *array, int32_t lenarray,\n                                     uint16_t
      ikey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2903
    functionName: roaring::internal::rle16_count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_less(const rle16_t* array, int32_t lenarray,\n
      \                                      uint16_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 2923
    functionName: roaring::internal::rle16_count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_greater(const rle16_t* array, int32_t lenarray,\n
      \                                         uint16_t key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2940,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2944
    functionName: roaring::internal::makeRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void makeRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2951,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2955,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2972,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2984
    functionName: roaring::internal::run_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_remove(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 2997
    functionName: roaring::internal::run_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: bool run_container_contains(const run_container_t *run, uint16_t pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3006,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - run
    - pos_start
    - pos_end
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3024
    functionName: roaring::internal::run_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: "bool run_container_contains_range(const run_container_t *run,\n                                                uint32_t
      pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3033
    functionName: roaring::internal::run_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_nonzero_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3036
    functionDepth: 0
    functionLinenumber: 3036
    functionLinenumberEnd: 3039
    functionName: roaring::internal::run_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_empty(\n    const run_container_t *run)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - run
    - vl
    - previousrl
    argTypes:
    - run_container_t*
    - rle16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3070
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3070
    functionName: roaring::internal::run_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_container_append(run_container_t *run, rle16_t vl,\n                                        rle16_t
      *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - vl
    argTypes:
    - run_container_t*
    - rle16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3080
    functionName: roaring::internal::run_container_append_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_first(run_container_t *run,\n                                                 rle16_t
      vl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - run
    - val
    - previousrl
    argTypes:
    - run_container_t*
    - uint16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 3091
    functionDepth: 1
    functionLinenumber: 3091
    functionLinenumberEnd: 3103
    functionName: roaring::internal::run_container_append_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_append_value(run_container_t *run,\n                                              uint16_t
      val,\n                                              rle16_t *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - val
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3109
    functionDepth: 1
    functionLinenumber: 3109
    functionLinenumberEnd: 3115
    functionName: roaring::internal::run_container_append_value_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_value_first(run_container_t *run,\n                                                       uint16_t
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3122
    functionName: roaring::internal::run_container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_is_full(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_runs
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3184
    functionName: roaring::internal::run_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_serialized_size_in_bytes(int32_t num_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3216
    functionDepth: 0
    functionLinenumber: 3216
    functionLinenumberEnd: 3219
    functionName: roaring::internal::run_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_size_in_bytes(\n    const run_container_t *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3224
    functionDepth: 0
    functionLinenumber: 3224
    functionLinenumberEnd: 3232
    functionName: roaring::internal::run_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_equals(const run_container_t *container1,\n
      \                         const run_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3257,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3255
    functionDepth: 0
    functionLinenumber: 3255
    functionLinenumberEnd: 3265
    functionName: roaring::internal::run_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: "run_container_t *run_container_create_range(uint32_t start,\n                                                          uint32_t
      stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3291
    functionName: roaring::internal::run_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_minimum(const run_container_t *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3294
    functionDepth: 0
    functionLinenumber: 3294
    functionLinenumberEnd: 3297
    functionName: roaring::internal::run_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_maximum(const run_container_t *run)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3317
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3317
    functionName: roaring::internal::run_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: int
    signature: int run_container_index_equalorlarger(const run_container_t *arr, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3328,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - run
    - min
    - max
    - nruns_less
    - nruns_greater
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3346
      start: 3322
    functionDepth: 0
    functionLinenumber: 3322
    functionLinenumberEnd: 3346
    functionName: roaring::internal::run_container_add_range_nruns
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::makeRoomAtIndex
    linkageType: ''
    returnType: void
    signature: "void run_container_add_range_nruns(run_container_t* run,\n                                                 uint32_t
      min, uint32_t max,\n                                                 int32_t
      nruns_less,\n                                                 int32_t nruns_greater)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3366,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - run
    - count
    - distance
    argTypes:
    - run_container_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3373
      start: 3362
    functionDepth: 0
    functionLinenumber: 3362
    functionLinenumberEnd: 3373
    functionName: roaring::internal::run_container_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_shift_tail(run_container_t* run,\n                                            int32_t
      count, int32_t distance)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3379,1
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3380,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3387,1
    - Dst: roaring::internal::run_container_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - run
    - min
    - max
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3423
    functionName: roaring::internal::run_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::run_container_shift_tail
    - roaring::internal::rle16_find_run
    linkageType: ''
    returnType: void
    signature: void run_container_remove_range(run_container_t *run, uint32_t min,
      uint32_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2786
    functionName: MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_RLE16(val,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2789
    functionName: MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_RLE16(val,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2801
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(run_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2806
    functionName: CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2806
    functionDepth: 0
    functionLinenumber: 2806
    functionLinenumberEnd: 2807
    functionName: const_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2807
    functionDepth: 0
    functionLinenumber: 2807
    functionLinenumberEnd: 2808
    functionName: movable_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2834
    functionName: roaring::internal::recoverRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void recoverRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2855
    functionName: roaring::internal::interleavedBinarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t interleavedBinarySearch(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2877
    functionName: roaring::internal::rle16_find_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_find_run(const rle16_t *array, int32_t lenarray,\n                                     uint16_t
      ikey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2903
    functionName: roaring::internal::rle16_count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_less(const rle16_t* array, int32_t lenarray,\n
      \                                      uint16_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 2923
    functionName: roaring::internal::rle16_count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_greater(const rle16_t* array, int32_t lenarray,\n
      \                                         uint16_t key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2940,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2944
    functionName: roaring::internal::makeRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void makeRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2951,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2955,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2972,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2984
    functionName: roaring::internal::run_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_remove(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 2997
    functionName: roaring::internal::run_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: bool run_container_contains(const run_container_t *run, uint16_t pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3006,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - run
    - pos_start
    - pos_end
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3024
    functionName: roaring::internal::run_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: "bool run_container_contains_range(const run_container_t *run,\n                                                uint32_t
      pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3033
    functionName: roaring::internal::run_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_nonzero_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3036
    functionDepth: 0
    functionLinenumber: 3036
    functionLinenumberEnd: 3039
    functionName: roaring::internal::run_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_empty(\n    const run_container_t *run)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - run
    - vl
    - previousrl
    argTypes:
    - run_container_t*
    - rle16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3070
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3070
    functionName: roaring::internal::run_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_container_append(run_container_t *run, rle16_t vl,\n                                        rle16_t
      *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - vl
    argTypes:
    - run_container_t*
    - rle16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3080
    functionName: roaring::internal::run_container_append_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_first(run_container_t *run,\n                                                 rle16_t
      vl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - run
    - val
    - previousrl
    argTypes:
    - run_container_t*
    - uint16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 3091
    functionDepth: 1
    functionLinenumber: 3091
    functionLinenumberEnd: 3103
    functionName: roaring::internal::run_container_append_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_append_value(run_container_t *run,\n                                              uint16_t
      val,\n                                              rle16_t *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - val
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3109
    functionDepth: 1
    functionLinenumber: 3109
    functionLinenumberEnd: 3115
    functionName: roaring::internal::run_container_append_value_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_value_first(run_container_t *run,\n                                                       uint16_t
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3122
    functionName: roaring::internal::run_container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_is_full(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_runs
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3184
    functionName: roaring::internal::run_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_serialized_size_in_bytes(int32_t num_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3216
    functionDepth: 0
    functionLinenumber: 3216
    functionLinenumberEnd: 3219
    functionName: roaring::internal::run_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_size_in_bytes(\n    const run_container_t *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3224
    functionDepth: 0
    functionLinenumber: 3224
    functionLinenumberEnd: 3232
    functionName: roaring::internal::run_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_equals(const run_container_t *container1,\n
      \                         const run_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3257,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3255
    functionDepth: 0
    functionLinenumber: 3255
    functionLinenumberEnd: 3265
    functionName: roaring::internal::run_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: "run_container_t *run_container_create_range(uint32_t start,\n                                                          uint32_t
      stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3291
    functionName: roaring::internal::run_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_minimum(const run_container_t *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3294
    functionDepth: 0
    functionLinenumber: 3294
    functionLinenumberEnd: 3297
    functionName: roaring::internal::run_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_maximum(const run_container_t *run)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3317
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3317
    functionName: roaring::internal::run_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: int
    signature: int run_container_index_equalorlarger(const run_container_t *arr, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3328,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - run
    - min
    - max
    - nruns_less
    - nruns_greater
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3346
      start: 3322
    functionDepth: 0
    functionLinenumber: 3322
    functionLinenumberEnd: 3346
    functionName: roaring::internal::run_container_add_range_nruns
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::makeRoomAtIndex
    linkageType: ''
    returnType: void
    signature: "void run_container_add_range_nruns(run_container_t* run,\n                                                 uint32_t
      min, uint32_t max,\n                                                 int32_t
      nruns_less,\n                                                 int32_t nruns_greater)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3366,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - run
    - count
    - distance
    argTypes:
    - run_container_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3373
      start: 3362
    functionDepth: 0
    functionLinenumber: 3362
    functionLinenumberEnd: 3373
    functionName: roaring::internal::run_container_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_shift_tail(run_container_t* run,\n                                            int32_t
      count, int32_t distance)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3379,1
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3380,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3387,1
    - Dst: roaring::internal::run_container_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - run
    - min
    - max
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3423
    functionName: roaring::internal::run_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::run_container_shift_tail
    - roaring::internal::rle16_find_run
    linkageType: ''
    returnType: void
    signature: void run_container_remove_range(run_container_t *run, uint32_t min,
      uint32_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2786
    functionName: MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_RLE16(val,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2789
    functionName: MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_RLE16(val,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2801
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(run_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2806
    functionName: CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2806
    functionDepth: 0
    functionLinenumber: 2806
    functionLinenumberEnd: 2807
    functionName: const_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2807
    functionDepth: 0
    functionLinenumber: 2807
    functionLinenumberEnd: 2808
    functionName: movable_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2834
    functionName: roaring::internal::recoverRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void recoverRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2855
    functionName: roaring::internal::interleavedBinarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t interleavedBinarySearch(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2877
    functionName: roaring::internal::rle16_find_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_find_run(const rle16_t *array, int32_t lenarray,\n                                     uint16_t
      ikey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2903
    functionName: roaring::internal::rle16_count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_less(const rle16_t* array, int32_t lenarray,\n
      \                                      uint16_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 2923
    functionName: roaring::internal::rle16_count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_greater(const rle16_t* array, int32_t lenarray,\n
      \                                         uint16_t key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2940,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2944
    functionName: roaring::internal::makeRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void makeRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2951,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2955,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2972,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2984
    functionName: roaring::internal::run_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_remove(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 2997
    functionName: roaring::internal::run_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: bool run_container_contains(const run_container_t *run, uint16_t pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3006,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - run
    - pos_start
    - pos_end
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3024
    functionName: roaring::internal::run_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: "bool run_container_contains_range(const run_container_t *run,\n                                                uint32_t
      pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3033
    functionName: roaring::internal::run_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_nonzero_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3036
    functionDepth: 0
    functionLinenumber: 3036
    functionLinenumberEnd: 3039
    functionName: roaring::internal::run_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_empty(\n    const run_container_t *run)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - run
    - vl
    - previousrl
    argTypes:
    - run_container_t*
    - rle16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3070
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3070
    functionName: roaring::internal::run_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_container_append(run_container_t *run, rle16_t vl,\n                                        rle16_t
      *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - vl
    argTypes:
    - run_container_t*
    - rle16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3080
    functionName: roaring::internal::run_container_append_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_first(run_container_t *run,\n                                                 rle16_t
      vl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - run
    - val
    - previousrl
    argTypes:
    - run_container_t*
    - uint16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 3091
    functionDepth: 1
    functionLinenumber: 3091
    functionLinenumberEnd: 3103
    functionName: roaring::internal::run_container_append_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_append_value(run_container_t *run,\n                                              uint16_t
      val,\n                                              rle16_t *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - val
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3109
    functionDepth: 1
    functionLinenumber: 3109
    functionLinenumberEnd: 3115
    functionName: roaring::internal::run_container_append_value_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_value_first(run_container_t *run,\n                                                       uint16_t
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3122
    functionName: roaring::internal::run_container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_is_full(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_runs
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3184
    functionName: roaring::internal::run_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_serialized_size_in_bytes(int32_t num_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3216
    functionDepth: 0
    functionLinenumber: 3216
    functionLinenumberEnd: 3219
    functionName: roaring::internal::run_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_size_in_bytes(\n    const run_container_t *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3224
    functionDepth: 0
    functionLinenumber: 3224
    functionLinenumberEnd: 3232
    functionName: roaring::internal::run_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_equals(const run_container_t *container1,\n
      \                         const run_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3257,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3255
    functionDepth: 0
    functionLinenumber: 3255
    functionLinenumberEnd: 3265
    functionName: roaring::internal::run_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: "run_container_t *run_container_create_range(uint32_t start,\n                                                          uint32_t
      stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3291
    functionName: roaring::internal::run_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_minimum(const run_container_t *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3294
    functionDepth: 0
    functionLinenumber: 3294
    functionLinenumberEnd: 3297
    functionName: roaring::internal::run_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_maximum(const run_container_t *run)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3317
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3317
    functionName: roaring::internal::run_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: int
    signature: int run_container_index_equalorlarger(const run_container_t *arr, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3328,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - run
    - min
    - max
    - nruns_less
    - nruns_greater
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3346
      start: 3322
    functionDepth: 0
    functionLinenumber: 3322
    functionLinenumberEnd: 3346
    functionName: roaring::internal::run_container_add_range_nruns
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::makeRoomAtIndex
    linkageType: ''
    returnType: void
    signature: "void run_container_add_range_nruns(run_container_t* run,\n                                                 uint32_t
      min, uint32_t max,\n                                                 int32_t
      nruns_less,\n                                                 int32_t nruns_greater)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3366,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - run
    - count
    - distance
    argTypes:
    - run_container_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3373
      start: 3362
    functionDepth: 0
    functionLinenumber: 3362
    functionLinenumberEnd: 3373
    functionName: roaring::internal::run_container_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_shift_tail(run_container_t* run,\n                                            int32_t
      count, int32_t distance)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3379,1
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3380,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3387,1
    - Dst: roaring::internal::run_container_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - run
    - min
    - max
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3423
    functionName: roaring::internal::run_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::run_container_shift_tail
    - roaring::internal::rle16_find_run
    linkageType: ''
    returnType: void
    signature: void run_container_remove_range(run_container_t *run, uint32_t min,
      uint32_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2786
    functionName: MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_RLE16(val,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2789
    functionName: MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_RLE16(val,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2801
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(run_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2806
    functionName: CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2806
    functionDepth: 0
    functionLinenumber: 2806
    functionLinenumberEnd: 2807
    functionName: const_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2807
    functionDepth: 0
    functionLinenumber: 2807
    functionLinenumberEnd: 2808
    functionName: movable_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2834
    functionName: roaring::internal::recoverRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void recoverRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2855
    functionName: roaring::internal::interleavedBinarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t interleavedBinarySearch(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2877
    functionName: roaring::internal::rle16_find_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_find_run(const rle16_t *array, int32_t lenarray,\n                                     uint16_t
      ikey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2903
    functionName: roaring::internal::rle16_count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_less(const rle16_t* array, int32_t lenarray,\n
      \                                      uint16_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2905
    functionDepth: 0
    functionLinenumber: 2905
    functionLinenumberEnd: 2923
    functionName: roaring::internal::rle16_count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_greater(const rle16_t* array, int32_t lenarray,\n
      \                                         uint16_t key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2940,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2944
    functionName: roaring::internal::makeRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 9
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void makeRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2951,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2955,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2972,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2984
    functionName: roaring::internal::run_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_remove(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:2988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 2997
    functionName: roaring::internal::run_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: bool run_container_contains(const run_container_t *run, uint16_t pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3006,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - run
    - pos_start
    - pos_end
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3024
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3024
    functionName: roaring::internal::run_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: "bool run_container_contains_range(const run_container_t *run,\n                                                uint32_t
      pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3033
    functionName: roaring::internal::run_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_nonzero_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3036
    functionDepth: 0
    functionLinenumber: 3036
    functionLinenumberEnd: 3039
    functionName: roaring::internal::run_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_empty(\n    const run_container_t *run)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - run
    - vl
    - previousrl
    argTypes:
    - run_container_t*
    - rle16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3070
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3070
    functionName: roaring::internal::run_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_container_append(run_container_t *run, rle16_t vl,\n                                        rle16_t
      *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - vl
    argTypes:
    - run_container_t*
    - rle16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3080
    functionName: roaring::internal::run_container_append_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_first(run_container_t *run,\n                                                 rle16_t
      vl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - run
    - val
    - previousrl
    argTypes:
    - run_container_t*
    - uint16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 3091
    functionDepth: 1
    functionLinenumber: 3091
    functionLinenumberEnd: 3103
    functionName: roaring::internal::run_container_append_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_append_value(run_container_t *run,\n                                              uint16_t
      val,\n                                              rle16_t *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - val
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3109
    functionDepth: 1
    functionLinenumber: 3109
    functionLinenumberEnd: 3115
    functionName: roaring::internal::run_container_append_value_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_value_first(run_container_t *run,\n                                                       uint16_t
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3122
    functionName: roaring::internal::run_container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_is_full(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_runs
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3184
    functionName: roaring::internal::run_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_serialized_size_in_bytes(int32_t num_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3216
    functionDepth: 0
    functionLinenumber: 3216
    functionLinenumberEnd: 3219
    functionName: roaring::internal::run_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_size_in_bytes(\n    const run_container_t *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3224
    functionDepth: 0
    functionLinenumber: 3224
    functionLinenumberEnd: 3232
    functionName: roaring::internal::run_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_equals(const run_container_t *container1,\n
      \                         const run_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3257,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3255
    functionDepth: 0
    functionLinenumber: 3255
    functionLinenumberEnd: 3265
    functionName: roaring::internal::run_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: "run_container_t *run_container_create_range(uint32_t start,\n                                                          uint32_t
      stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3291
    functionName: roaring::internal::run_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_minimum(const run_container_t *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3294
    functionDepth: 0
    functionLinenumber: 3294
    functionLinenumberEnd: 3297
    functionName: roaring::internal::run_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_maximum(const run_container_t *run)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3317
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3317
    functionName: roaring::internal::run_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: int
    signature: int run_container_index_equalorlarger(const run_container_t *arr, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3328,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - run
    - min
    - max
    - nruns_less
    - nruns_greater
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3346
      start: 3322
    functionDepth: 0
    functionLinenumber: 3322
    functionLinenumberEnd: 3346
    functionName: roaring::internal::run_container_add_range_nruns
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::makeRoomAtIndex
    linkageType: ''
    returnType: void
    signature: "void run_container_add_range_nruns(run_container_t* run,\n                                                 uint32_t
      min, uint32_t max,\n                                                 int32_t
      nruns_less,\n                                                 int32_t nruns_greater)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3366,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - run
    - count
    - distance
    argTypes:
    - run_container_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3373
      start: 3362
    functionDepth: 0
    functionLinenumber: 3362
    functionLinenumberEnd: 3373
    functionName: roaring::internal::run_container_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_shift_tail(run_container_t* run,\n                                            int32_t
      count, int32_t distance)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3379,1
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3380,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3387,1
    - Dst: roaring::internal::run_container_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:3421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - run
    - min
    - max
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3423
    functionName: roaring::internal::run_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::run_container_shift_tail
    - roaring::internal::rle16_find_run
    linkageType: ''
    returnType: void
    signature: void run_container_remove_range(run_container_t *run, uint32_t min,
      uint32_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type1
    - ','
    - type2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4338
      start: 4336
    functionDepth: 0
    functionLinenumber: 4336
    functionLinenumberEnd: 4338
    functionName: PAIR_CONTAINER_TYPES
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAIR_CONTAINER_TYPES(type1,type2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name1
    - ','
    - name2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4341
      start: 4339
    functionDepth: 0
    functionLinenumber: 4339
    functionLinenumberEnd: 4341
    functionName: CONTAINER_PAIR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONTAINER_PAIR(name1,name2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4351
      start: 4347
    functionDepth: 0
    functionLinenumber: 4347
    functionLinenumberEnd: 4351
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(shared_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4356
      start: 4355
    functionDepth: 0
    functionLinenumber: 4355
    functionLinenumberEnd: 4356
    functionName: CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4356
    functionDepth: 0
    functionLinenumber: 4356
    functionLinenumberEnd: 4357
    functionName: const_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4358
      start: 4357
    functionDepth: 0
    functionLinenumber: 4357
    functionLinenumberEnd: 4358
    functionName: movable_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_shared(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4385,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4386,1
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - candidate_shared_container
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4385
        line_start: 4385
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4391
      start: 4381
    functionDepth: 0
    functionLinenumber: 4381
    functionLinenumberEnd: 4391
    functionName: roaring::internal::container_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_unwrap_shared(\n    const container_t *candidate_shared_container,
      uint8_t *type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4399,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4400,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4399
        line_start: 4399
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4405
      start: 4395
    functionDepth: 0
    functionLinenumber: 4395
    functionLinenumberEnd: 4405
    functionName: roaring::internal::container_mutable_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - CAST_shared
    - assert
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_mutable_unwrap_shared(\n    container_t *c,
      uint8_t *type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4416
      start: 4408
    functionDepth: 0
    functionLinenumber: 4408
    functionLinenumberEnd: 4416
    functionName: roaring::internal::get_container_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_shared
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t get_container_type(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::shared_container_extract_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4430,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4434
      start: 4426
    functionDepth: 0
    functionLinenumber: 4426
    functionLinenumberEnd: 4434
    functionName: roaring::internal::get_writable_copy_if_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - CAST_shared
    - roaring::internal::shared_container_extract_copy
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_writable_copy_if_shared(\n    container_t *c, uint8_t
      *type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4456,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4458,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4458,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4461,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4461,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4464,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4466,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4463
        line_start: 4463
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4465
        line_start: 4465
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4469
      start: 4450
    functionDepth: 1
    functionLinenumber: 4450
    functionLinenumberEnd: 4469
    functionName: roaring::internal::container_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_from_run
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bitset_container_t
    signature: "bitset_container_t *container_to_bitset(\n    container_t *c, uint8_t
      typecode\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4504,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4512,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4513,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4518,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4519,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4511
        line_start: 4511
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4517
        line_start: 4517
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4524
      start: 4493
    functionDepth: 1
    functionLinenumber: 4493
    functionLinenumberEnd: 4524
    functionName: roaring::internal::get_full_container_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: char
    signature: "char *get_full_container_name(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4533,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4536,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4536,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4538,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4538,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4540,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4540,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4542,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4541
        line_start: 4541
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4545
      start: 4530
    functionDepth: 1
    functionLinenumber: 4530
    functionLinenumberEnd: 4545
    functionName: roaring::internal::container_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int container_get_cardinality(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4553,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4556,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4557,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4559,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4560,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4562,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4562,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4564,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4563
        line_start: 4563
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4567
      start: 4552
    functionDepth: 1
    functionLinenumber: 4552
    functionLinenumberEnd: 4567
    functionName: roaring::internal::container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: bool container_is_full(const container_t *c, uint8_t typecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4572,1
    - Dst: roaring::internal::array_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4577,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4577,1
    - Dst: roaring::internal::run_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4579,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4579,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4581,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4580
        line_start: 4580
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4584
      start: 4569
    functionDepth: 1
    functionLinenumber: 4569
    functionLinenumberEnd: 4584
    functionName: roaring::internal::container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::array_container_shrink_to_fit
    - assert
    - roaring::internal::container_mutable_unwrap_shared
    - CAST_run
    - roaring::internal::run_container_shrink_to_fit
    linkageType: ''
    returnType: int
    signature: "int container_shrink_to_fit(\n    container_t *c, uint8_t type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4597,1
    - Dst: roaring::internal::array_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4601,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - range_start
    - range_end
    - result_type
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (range_end >= range_start)
      pos:
        line_end: 4596
        line_start: 4596
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4606
      start: 4593
    functionDepth: 0
    functionLinenumber: 4593
    functionLinenumberEnd: 4606
    functionName: roaring::internal::container_range_of_ones
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::array_container_create_range
    - roaring::internal::run_container_create_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_range_of_ones(\n    uint32_t range_start, uint32_t
      range_end,\n    uint8_t *result_type\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4617,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4625,1
    - Dst: roaring::internal::array_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4626,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4627,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4631,1
    - Dst: roaring::internal::bitset_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4632,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - type
    - min
    - max
    - step
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts:
    - condition: (array->cardinality == size)
      pos:
        line_end: 4626
        line_start: 4626
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (bitset->cardinality == size)
      pos:
        line_end: 4632
        line_start: 4632
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4636
      start: 4611
    functionDepth: 0
    functionLinenumber: 4611
    functionLinenumberEnd: 4636
    functionName: roaring::internal::container_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_range_of_ones
    - assert
    - roaring::internal::array_container_add_from_range
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_add_from_range
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_range(\n    uint8_t *type, uint32_t min,\n
      \   uint32_t max, uint16_t step\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4644,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4648,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4649,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4651,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4652,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4660,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4661,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4663,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4665,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4662
        line_start: 4662
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4664
        line_start: 4664
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4668
      start: 4641
    functionDepth: 1
    functionLinenumber: 4641
    functionLinenumberEnd: 4668
    functionName: roaring::internal::container_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_repair_after_lazy(\n    container_t *c, uint8_t
      *type\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4682,1
    - Dst: roaring::internal::bitset_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4685,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4685,1
    - Dst: roaring::internal::array_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4687,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4687,1
    - Dst: roaring::internal::run_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4689,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4689,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4691,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - typecode
    - buf
    argTypes:
    - container_t*
    - uint8_t
    - char*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4690
        line_start: 4690
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4694
      start: 4678
    functionDepth: 1
    functionLinenumber: 4678
    functionLinenumberEnd: 4694
    functionName: roaring::internal::container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_write
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_write
    - roaring::internal::bitset_container_write
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_write(\n    const container_t *c, uint8_t typecode,\n
      \   char *buf\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4704,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4707,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4707,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4709,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4709,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4711,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4711,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4713,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4712
        line_start: 4712
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4716
      start: 4701
    functionDepth: 1
    functionLinenumber: 4701
    functionLinenumberEnd: 4716
    functionName: roaring::internal::container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::run_container_size_in_bytes
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_size_in_bytes
    - roaring::internal::bitset_container_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_size_in_bytes(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4738,1
    - Dst: roaring::internal::bitset_container_const_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4741,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4742,1
    - Dst: roaring::internal::array_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4744,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4744,1
    - Dst: roaring::internal::run_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4746,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4746,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4748,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4747
        line_start: 4747
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4751
      start: 4735
    functionDepth: 1
    functionLinenumber: 4735
    functionLinenumberEnd: 4751
    functionName: roaring::internal::container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_const_nonzero_cardinality
    - roaring::internal::array_container_nonzero_cardinality
    - roaring::internal::run_container_nonzero_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool container_nonzero_cardinality(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4768,1
    - Dst: roaring::internal::bitset_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4771,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4772,1
    - Dst: roaring::internal::array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4774,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4775,1
    - Dst: roaring::internal::run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4777,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4778,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4780,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - output
    - c
    - typecode
    - base
    argTypes:
    - uint32_t*
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4779
        line_start: 4779
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4783
      start: 4763
    functionDepth: 1
    functionLinenumber: 4763
    functionLinenumberEnd: 4783
    functionName: roaring::internal::container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_to_uint32_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_to_uint32_array
    - assert
    - roaring::internal::run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int container_to_uint32_array(\n    uint32_t *output,\n    const container_t
      *c, uint8_t typecode,\n    uint32_t base\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4796,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4799,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4799,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4803,1
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4804,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4808,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4809,1
    - Dst: roaring::internal::run_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4816,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4816,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4820,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4819
        line_start: 4819
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4824
      start: 4791
    functionDepth: 1
    functionLinenumber: 4791
    functionLinenumberEnd: 4824
    functionName: roaring::internal::container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_container_add
    - CAST_array
    - roaring::internal::run_container_add
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::array_container_try_add
    - roaring::internal::bitset_container_set
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add(\n    container_t *c, uint16_t val,\n    uint8_t
      typecode,  // !!! should be second argument?\n    uint8_t *new_typecode\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4838,1
    - Dst: roaring::internal::bitset_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4841,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4841,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4842,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4842,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4845,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4845,1
    - Dst: roaring::internal::array_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4852,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4852,1
    - Dst: roaring::internal::run_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4856,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4856,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4860,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4859
        line_start: 4859
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4864
      start: 4833
    functionDepth: 1
    functionLinenumber: 4833
    functionLinenumberEnd: 4864
    functionName: roaring::internal::container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_remove
    - roaring::internal::bitset_container_remove
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::array_container_remove
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove(\n    container_t *c, uint16_t val,\n
      \   uint8_t typecode,  // !!! should be second argument?\n    uint8_t *new_typecode\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4874,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4877,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4877,1
    - Dst: roaring::internal::array_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4879,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4879,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4881,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4881,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4883,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - c
    - val
    - typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4882
        line_start: 4882
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4887
      start: 4869
    functionDepth: 1
    functionLinenumber: 4869
    functionLinenumberEnd: 4887
    functionName: roaring::internal::container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::bitset_container_get
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains
    - roaring::internal::array_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool container_contains(\n    const container_t *c,\n    uint16_t
      val,\n    uint8_t typecode  // !!! should be second argument?\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4898,1
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4901,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4901,1
    - Dst: roaring::internal::array_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4904,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4904,1
    - Dst: roaring::internal::run_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4907,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4907,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4910,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - c
    - range_start
    - range_end
    - typecode
    argTypes:
    - container_t*
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4909
        line_start: 4909
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4914
      start: 4893
    functionDepth: 1
    functionLinenumber: 4893
    functionLinenumberEnd: 4914
    functionName: roaring::internal::container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::bitset_container_get_range
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_contains_range
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool container_contains_range(\n    const container_t *c,\n    uint32_t
      range_start, uint32_t range_end,\n    uint8_t typecode  // !!! should be second
      argument?\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4924,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4925,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4926,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4927,1
    - Dst: roaring::internal::bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4929,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4931,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4932,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4932,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4933,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4935,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4936,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4936,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4937,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4939,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4941,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4941,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4942,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4944,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4946,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4946,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4947,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4949,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4950,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4950,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4951,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4953,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4954,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4955,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4957,1
    - Dst: roaring::internal::array_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4958,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4958,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4959,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4961,1
    - Dst: roaring::internal::run_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4962,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4962,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4963,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4966,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4965
        line_start: 4965
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4970
      start: 4920
    functionDepth: 1
    functionLinenumber: 4920
    functionLinenumberEnd: 4970
    functionName: roaring::internal::container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_equals
    - roaring::internal::run_container_equals
    - roaring::internal::run_container_equals_bitset
    - roaring::internal::run_container_equals_array
    - roaring::internal::array_container_equals
    - CONTAINER_PAIR
    - roaring::internal::array_container_equal_bitset
    linkageType: ''
    returnType: bool
    signature: "bool container_equals(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4980,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4981,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4982,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4983,1
    - Dst: roaring::internal::bitset_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4985,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4987,1
    - Dst: roaring::internal::bitset_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4988,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4988,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4989,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4991,1
    - Dst: roaring::internal::run_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4992,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4992,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4993,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4995,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4998,1
    - Dst: roaring::internal::array_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4999,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4999,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5000,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5002,1
    - Dst: roaring::internal::array_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5003,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5003,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5004,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5006,1
    - Dst: roaring::internal::run_container_is_subset_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5007,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5007,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5008,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5010,1
    - Dst: roaring::internal::array_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5012,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5014,1
    - Dst: roaring::internal::run_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5015,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5015,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5016,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5019,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5018
        line_start: 5018
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5023
      start: 4976
    functionDepth: 1
    functionLinenumber: 4976
    functionLinenumberEnd: 5023
    functionName: roaring::internal::container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_container_is_subset_bitset
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_is_subset_bitset
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_is_subset_array
    - assert
    - roaring::internal::array_container_is_subset
    - roaring::internal::bitset_container_is_subset_run
    - roaring::internal::array_container_is_subset_run
    - CONTAINER_PAIR
    - roaring::internal::run_container_is_subset
    - roaring::internal::bitset_container_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool container_is_subset(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5037,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5038,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5040,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5041,1
    - Dst: roaring::internal::bitset_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5042,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5043,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5044,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5049,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5050,1
    - Dst: roaring::internal::array_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5051,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5051,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5052,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5053,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5057,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5058,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5059,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5059,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5060,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5061,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5062,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5063,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5065,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5066,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5067,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5067,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5068,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5069,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5073,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5074,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5076,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5076,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5077,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5078,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5081,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5082,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5083,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5084,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5089,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5090,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5091,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5092,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5097,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5098,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5100,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5100,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5101,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5102,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5105,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5106,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5108,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5108,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5109,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5110,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5114,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5113
        line_start: 5113
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5118
      start: 5032
    functionDepth: 1
    functionLinenumber: 5032
    functionLinenumberEnd: 5118
    functionName: roaring::internal::container_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - const_CAST_run
    - roaring::internal::bitset_bitset_container_intersection
    - roaring::internal::array_container_intersection
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_and(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5127,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5128,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5129,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5130,1
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5131,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5132,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5132,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5134,1
    - Dst: roaring::internal::array_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5135,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5136,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5136,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5138,1
    - Dst: roaring::internal::run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5139,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5140,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5140,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5142,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5143,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5144,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5144,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5146,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5147,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5148,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5148,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5150,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5151,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5152,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5152,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5154,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5155,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5156,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5156,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5158,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5159,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5160,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5160,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5162,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5163,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5164,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5164,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5167,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5166
        line_start: 5166
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5171
      start: 5123
    functionDepth: 1
    functionLinenumber: 5123
    functionLinenumberEnd: 5171
    functionName: roaring::internal::container_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection_cardinality
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_container_intersection_cardinality
    - bitset_container_and_justcard
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_bitset_container_intersection_cardinality
    - assert
    - roaring::internal::array_bitset_container_intersection_cardinality
    - roaring::internal::array_run_container_intersection_cardinality
    - CONTAINER_PAIR
    linkageType: ''
    returnType: int
    signature: "int container_and_cardinality(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5180,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5181,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5182,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5183,1
    - Dst: roaring::internal::bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5184,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5184,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5185,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5187,1
    - Dst: roaring::internal::array_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5188,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5188,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5189,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5191,1
    - Dst: roaring::internal::run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5192,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5192,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5193,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5195,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5196,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5196,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5197,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5199,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5200,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5200,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5201,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5203,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5204,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5204,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5205,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5207,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5208,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5208,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5211,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5212,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5212,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5213,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5215,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5216,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5216,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5217,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5220,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5219
        line_start: 5219
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5224
      start: 5176
    functionDepth: 1
    functionLinenumber: 5176
    functionLinenumberEnd: 5224
    functionName: roaring::internal::container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersect
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_intersect
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_intersect
    - roaring::internal::run_bitset_container_intersect
    - roaring::internal::array_container_intersect
    - roaring::internal::array_run_container_intersect
    - CONTAINER_PAIR
    linkageType: ''
    returnType: bool
    signature: "bool container_intersect(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5240,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5241,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5243,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5244,1
    - Dst: roaring::internal::bitset_bitset_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5246,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5247,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5247,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5252,1
    - Dst: roaring::internal::array_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5253,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5253,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5254,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5258,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5259,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5260,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5260,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5261,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5262,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5265,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5266,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5268,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5270,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5271,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5271,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5272,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5273,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5277,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5279,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5280,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5280,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5281,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5284,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5286,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5287,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5288,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5293,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5294,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5295,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5296,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5301,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5302,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5304,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5304,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5305,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5306,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5309,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5310,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5312,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5312,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5313,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5314,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5318,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5317
        line_start: 5317
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5322
      start: 5235
    functionDepth: 1
    functionLinenumber: 5235
    functionLinenumberEnd: 5322
    functionName: roaring::internal::container_iand
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_bitset_container_intersection_inplace
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - roaring::internal::array_container_intersection_inplace
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iand(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5334,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5335,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5337,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5338,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5339,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5340,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5340,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5341,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5342,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5346,1
    - Dst: roaring::internal::array_array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5347,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5348,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5349,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5354,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5355,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5357,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5358,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5361,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5362,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5365,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5366,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5367,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5367,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5368,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5369,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5373,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5374,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5375,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5375,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5376,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5377,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5381,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5382,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5382,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5383,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5385,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5385,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5386,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5389,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5390,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5390,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5391,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5392,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5396,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5397,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5397,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5398,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5400,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5400,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5401,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5404,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5405,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5405,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5406,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5407,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5411,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5412,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5413,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5413,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5414,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5415,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5416,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5417,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5420,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5421,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5422,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5422,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5423,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5424,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5425,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5426,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5430,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5429
        line_start: 5429
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5434
      start: 5329
    functionDepth: 1
    functionLinenumber: 5329
    functionLinenumberEnd: 5434
    functionName: roaring::internal::container_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::array_array_container_union
    - const_CAST_run
    - CAST_bitset
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_or(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5449,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5450,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5452,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5453,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5454,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5455,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5456,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5456,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5457,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5461,1
    - Dst: roaring::internal::array_array_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5462,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5463,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5464,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5469,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5470,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5471,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5471,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5472,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5473,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5476,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5477,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5480,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5481,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5482,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5483,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5483,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5484,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5488,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5489,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5490,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5491,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5491,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5492,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5496,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5497,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5497,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5498,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5503,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5504,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5505,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5505,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5506,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5510,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5511,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5511,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5512,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5517,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5518,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5519,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5519,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5520,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5524,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5525,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5526,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5526,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5527,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5528,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5534,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5535,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5536,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5537,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5537,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5538,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5545,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5544
        line_start: 5544
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5549
      start: 5444
    functionDepth: 1
    functionLinenumber: 5444
    functionLinenumberEnd: 5549
    functionName: roaring::internal::container_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_bitset_container_lazy_union
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_or(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5565,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5566,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5568,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5569,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5570,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5570,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5571,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5572,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5574,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5575,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5583,1
    - Dst: roaring::internal::array_array_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5584,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5585,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5585,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5594,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5596,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5596,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5599,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5600,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5600,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5601,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5602,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5606,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5608,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5610,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5610,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5611,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5612,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5615,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5616,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5616,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5617,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5622,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5622,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5623,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5624,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5628,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5629,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5629,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5633,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5634,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5634,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5635,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5636,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5640,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5641,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5642,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5642,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5643,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5644,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5645,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5646,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5649,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5650,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5650,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5651,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5652,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5652,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5657,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 64
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5656
        line_start: 5656
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5661
      start: 5560
    functionDepth: 1
    functionLinenumber: 5560
    functionLinenumberEnd: 5661
    functionName: roaring::internal::container_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_container_is_full
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - bitset_container_or
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::array_array_container_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ior(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5680,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5682,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5684,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5685,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5688,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5688,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5689,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5690,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5692,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5693,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5698,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5698,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5699,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5700,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5706,1
    - Dst: roaring::internal::array_array_container_lazy_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5707,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5708,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5709,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5718,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5719,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5719,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5720,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5722,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5722,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5725,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5726,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5727,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5727,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5728,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5732,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5734,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5736,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5737,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5737,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5738,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5741,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5742,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5742,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5743,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5745,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5745,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5746,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5749,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5750,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5750,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5751,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5755,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5756,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5756,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5760,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5761,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5762,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5762,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5763,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5767,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5768,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5769,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5769,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5770,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5771,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5778,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5779,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5779,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5780,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5788,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5787
        line_start: 5787
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5679
        line_start: 5679
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5792
      start: 5675
    functionDepth: 1
    functionLinenumber: 5675
    functionLinenumberEnd: 5792
    functionName: roaring::internal::container_lazy_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - roaring::internal::run_bitset_container_lazy_union
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ior(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5804,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5805,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5807,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5808,1
    - Dst: roaring::internal::bitset_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5809,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5810,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5811,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5816,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5817,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5818,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5819,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5824,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5827,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5830,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5831,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5832,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5833,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5838,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5839,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5840,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5841,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5846,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5847,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5848,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5849,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5854,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5855,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5856,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5857,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5862,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5864,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5864,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5865,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5868,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5870,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5870,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5871,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5875,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5874
        line_start: 5874
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5879
      start: 5799
    functionDepth: 1
    functionLinenumber: 5799
    functionLinenumberEnd: 5879
    functionName: roaring::internal::container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_xor
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_bitset_container_xor
    - const_CAST_run
    - assert
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::array_array_container_xor
    - roaring::internal::array_bitset_container_xor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t * container_xor(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5895,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5896,1
    - Dst: roaring::internal::container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5896,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5897,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5898,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5899,1
    - Dst: roaring::internal::bitset_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5903,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5903,1
    - Dst: roaring::internal::array_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5906,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5906,1
    - Dst: roaring::internal::run_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5909,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5909,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5912,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5913,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - c
    - type
    - lo
    - hi
    - offset
    argTypes:
    - container_t*
    - uint8_t
    - container_t**
    - container_t**
    - uint16_t
    assertStmts:
    - condition: (offset != 0)
      pos:
        line_end: 5894
        line_start: 5894
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (lo == NULL || *lo == NULL)
      pos:
        line_end: 5897
        line_start: 5897
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (container_nonzero_cardinality(c, type))
      pos:
        line_end: 5895
        line_start: 5895
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (lo != NULL || hi != NULL)
      pos:
        line_end: 5896
        line_start: 5896
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (hi == NULL || *hi == NULL)
      pos:
        line_end: 5898
        line_start: 5898
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 5911
        line_start: 5911
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5916
      start: 5892
    functionDepth: 1
    functionLinenumber: 5892
    functionLinenumberEnd: 5916
    functionName: roaring::internal::container_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_offset
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_container_offset
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_offset
    - roaring::internal::container_nonzero_cardinality
    linkageType: ''
    returnType: void
    signature: "void container_add_offset(const container_t *c, uint8_t type,\n                                        container_t
      **lo, container_t **hi,\n                                        uint16_t offset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5931,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5932,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5934,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5935,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5936,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5937,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5938,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5938,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5939,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5943,1
    - Dst: roaring::internal::array_array_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5944,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5945,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5946,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5951,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5955,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5958,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5959,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5961,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5961,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5962,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5963,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5966,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5967,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5969,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5969,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5970,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5971,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5974,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5975,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5976,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5976,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5977,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5978,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5982,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5983,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5984,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5985,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5986,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5990,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5991,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5992,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5992,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5993,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5994,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6000,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6001,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6002,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6002,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6003,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6004,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6011,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6010
        line_start: 6010
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6015
      start: 5926
    functionDepth: 1
    functionLinenumber: 5926
    functionLinenumberEnd: 6015
    functionName: roaring::internal::container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - bitset_container_xor_nocard
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_lazy_xor
    - const_CAST_bitset
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::run_bitset_container_lazy_xor
    - roaring::internal::run_container_create
    - roaring::internal::array_bitset_container_lazy_xor
    - CAST_run
    - CONTAINER_PAIR
    - roaring::internal::bitset_container_create
    - roaring::internal::array_array_container_lazy_xor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_xor(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6031,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6032,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6034,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6035,1
    - Dst: roaring::internal::bitset_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6036,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6037,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6037,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6042,1
    - Dst: roaring::internal::array_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6043,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6044,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6044,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6049,1
    - Dst: roaring::internal::run_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6050,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6051,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6051,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6054,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6055,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6056,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6056,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6061,1
    - Dst: roaring::internal::array_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6062,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6063,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6063,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6068,1
    - Dst: roaring::internal::bitset_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6070,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6071,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6071,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6077,1
    - Dst: roaring::internal::run_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6078,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6079,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6079,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6084,1
    - Dst: roaring::internal::array_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6085,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6086,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6086,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6089,1
    - Dst: roaring::internal::run_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6090,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6091,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6091,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6095,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6094
        line_start: 6094
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6099
      start: 6026
    functionDepth: 1
    functionLinenumber: 6026
    functionLinenumberEnd: 6099
    functionName: roaring::internal::container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_run_container_ixor
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_array_container_ixor
    - roaring::internal::array_bitset_container_ixor
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_run_container_ixor
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::array_array_container_ixor
    - CAST_array
    - assert
    - roaring::internal::array_run_container_ixor
    - roaring::internal::run_bitset_container_ixor
    - roaring::internal::bitset_bitset_container_ixor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ixor(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6118,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6120,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6121,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6122,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6123,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6123,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6124,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6125,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6135,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6137,1
    - Dst: roaring::internal::container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 6117
        line_start: 6117
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6142
      start: 6113
    functionDepth: 0
    functionLinenumber: 6113
    functionLinenumberEnd: 6142
    functionName: roaring::internal::container_lazy_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - bitset_container_xor_nocard
    - roaring::internal::bitset_container_compute_cardinality
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - assert
    - CAST_bitset
    - roaring::internal::container_ixor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ixor(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6154,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6155,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6157,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6158,1
    - Dst: roaring::internal::bitset_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6159,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6160,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6161,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6166,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6167,1
    - Dst: roaring::internal::array_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6168,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6168,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6169,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6170,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6174,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6175,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6175,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6176,1
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6181,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6181,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6182,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6185,1
    - Dst: roaring::internal::bitset_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6186,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6187,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6188,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6193,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6194,1
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6195,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6195,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6196,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6197,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6201,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6202,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6202,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6203,1
    - Dst: roaring::internal::bitset_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6208,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6214,1
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6215,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6216,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6217,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6222,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6223,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6223,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6224,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6228,1
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6229,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6229,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6230,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6231,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6235,1
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6236,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6237,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6237,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6242,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6241
        line_start: 6241
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6246
      start: 6149
    functionDepth: 1
    functionLinenumber: 6149
    functionLinenumberEnd: 6246
    functionName: roaring::internal::container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_array_container_andnot
    - const_CAST_run
    - roaring::internal::run_run_container_andnot
    - roaring::internal::array_run_container_andnot
    - CONTAINER_PAIR
    - roaring::internal::bitset_array_container_andnot
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - const_CAST_array
    - roaring::internal::bitset_bitset_container_andnot
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_andnot
    - roaring::internal::array_array_container_andnot
    - roaring::internal::run_bitset_container_andnot
    - CAST_array
    - assert
    - roaring::internal::array_bitset_container_andnot
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_andnot(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6263,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6264,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6266,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6267,1
    - Dst: roaring::internal::bitset_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6268,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6269,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6270,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6275,1
    - Dst: roaring::internal::array_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6276,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6276,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6277,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6281,1
    - Dst: roaring::internal::run_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6282,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6283,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6283,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6286,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6287,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6288,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6289,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6294,1
    - Dst: roaring::internal::array_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6296,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6296,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6297,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6300,1
    - Dst: roaring::internal::bitset_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6301,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6302,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6303,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6308,1
    - Dst: roaring::internal::run_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6309,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6310,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6311,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6316,1
    - Dst: roaring::internal::array_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6318,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6318,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6319,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6322,1
    - Dst: roaring::internal::run_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6323,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6324,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6324,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6328,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6327
        line_start: 6327
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6332
      start: 6258
    functionDepth: 1
    functionLinenumber: 6258
    functionLinenumberEnd: 6332
    functionName: roaring::internal::container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_array_container_iandnot
    - roaring::internal::bitset_array_container_iandnot
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_iandnot
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_iandnot
    - CAST_array
    - assert
    - roaring::internal::array_array_container_iandnot
    - roaring::internal::array_run_container_iandnot
    - roaring::internal::bitset_bitset_container_iandnot
    - roaring::internal::run_run_container_iandnot
    - roaring::internal::run_bitset_container_iandnot
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iandnot(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6344,1
    - Dst: roaring::internal::bitset_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6347,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6347,1
    - Dst: roaring::internal::array_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6350,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6350,1
    - Dst: roaring::internal::run_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6353,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6353,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6356,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6357,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6359,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - base
    - iterator
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6355
        line_start: 6355
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6358
        line_start: 6358
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6362
      start: 6339
    functionDepth: 1
    functionLinenumber: 6339
    functionLinenumberEnd: 6362
    functionName: roaring::internal::container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_iterate
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_iterate
    - assert
    - roaring::internal::run_container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate(\n    const container_t *c, uint8_t type,\n
      \   uint32_t base,\n    roaring_iterator iterator, void *ptr\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6370,1
    - Dst: roaring::internal::bitset_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6373,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6373,1
    - Dst: roaring::internal::array_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6376,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6376,1
    - Dst: roaring::internal::run_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6379,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6379,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6382,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6383,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6385,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6381
        line_start: 6381
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6384
        line_start: 6384
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6388
      start: 6364
    functionDepth: 1
    functionLinenumber: 6364
    functionLinenumberEnd: 6388
    functionName: roaring::internal::container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_iterate64
    - const_CAST_run
    - assert
    - roaring::internal::run_container_iterate64
    - roaring::internal::bitset_container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate64(\n    const container_t *c, uint8_t type,\n
      \   uint32_t base,\n    roaring_iterator64 iterator,\n    uint64_t high_bits,
      void *ptr\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6394,1
    - Dst: roaring::internal::bitset_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6398,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6399,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6404,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6406,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6406,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6407,1
    - Dst: roaring::internal::run_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6411,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6411,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6415,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6416,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6418,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6414
        line_start: 6414
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6417
        line_start: 6417
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6421
      start: 6390
    functionDepth: 1
    functionLinenumber: 6390
    functionLinenumberEnd: 6421
    functionName: roaring::internal::container_not
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_negation
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not(\n    const container_t *c, uint8_t type,\n
      \   uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6428,1
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6433,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6434,1
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6440,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6441,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6446,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6447,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6451,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6452,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6454,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6450
        line_start: 6450
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6453
        line_start: 6453
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6457
      start: 6423
    functionDepth: 1
    functionLinenumber: 6423
    functionLinenumberEnd: 6457
    functionName: roaring::internal::container_not_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_negation_range
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_negation_range
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not_range(\n    const container_t *c, uint8_t
      type,\n    uint32_t range_start, uint32_t range_end,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6463,1
    - Dst: roaring::internal::bitset_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6467,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6468,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6474,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6476,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6476,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6477,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6478,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6478,1
    - Dst: roaring::internal::run_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6482,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6482,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6486,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6487,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6489,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6485
        line_start: 6485
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6488
        line_start: 6488
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6492
      start: 6459
    functionDepth: 1
    functionLinenumber: 6459
    functionLinenumberEnd: 6492
    functionName: roaring::internal::container_inot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::run_container_negation_inplace
    - roaring::internal::array_container_free
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation_inplace
    - CAST_run
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot(\n    container_t *c, uint8_t type,\n
      \   uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6499,1
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6504,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6505,1
    - Dst: roaring::internal::array_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6511,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6512,1
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6517,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6518,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6522,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6523,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6525,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6521
        line_start: 6521
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6524
        line_start: 6524
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6528
      start: 6494
    functionDepth: 1
    functionLinenumber: 6494
    functionLinenumberEnd: 6528
    functionName: roaring::internal::container_inot_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::bitset_container_negation_range_inplace
    - roaring::internal::get_writable_copy_if_shared
    - roaring::internal::array_container_negation_range_inplace
    - CAST_bitset
    - assert
    - CAST_run
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot_range(\n    container_t *c, uint8_t type,\n
      \   uint32_t range_start, uint32_t range_end,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6543,1
    - Dst: roaring::internal::bitset_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6546,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6546,1
    - Dst: roaring::internal::array_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6549,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6549,1
    - Dst: roaring::internal::run_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6552,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6552,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6555,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6556,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6558,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - start_rank
    - rank
    - element
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6554
        line_start: 6554
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6557
        line_start: 6557
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6561
      start: 6538
    functionDepth: 1
    functionLinenumber: 6538
    functionLinenumberEnd: 6561
    functionName: roaring::internal::container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_select
    - assert
    - roaring::internal::run_container_select
    - roaring::internal::array_container_select
    linkageType: ''
    returnType: bool
    signature: "bool container_select(\n    const container_t *c, uint8_t type,\n
      \   uint32_t *start_rank, uint32_t rank,\n    uint32_t *element\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6566,1
    - Dst: roaring::internal::bitset_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6569,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6569,1
    - Dst: roaring::internal::array_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6571,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6571,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6573,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6573,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6575,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6576,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6578,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6574
        line_start: 6574
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6577
        line_start: 6577
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6581
      start: 6563
    functionDepth: 1
    functionLinenumber: 6563
    functionLinenumberEnd: 6581
    functionName: roaring::internal::container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_maximum
    - roaring::internal::run_container_maximum
    - roaring::internal::array_container_maximum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t container_maximum(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6586,1
    - Dst: roaring::internal::bitset_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6589,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6589,1
    - Dst: roaring::internal::array_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6591,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6593,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6593,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6595,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6596,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6598,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6594
        line_start: 6594
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6597
        line_start: 6597
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6601
      start: 6583
    functionDepth: 1
    functionLinenumber: 6583
    functionLinenumberEnd: 6601
    functionName: roaring::internal::container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::array_container_minimum
    - assert
    - roaring::internal::run_container_minimum
    - roaring::internal::bitset_container_minimum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t container_minimum(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6608,1
    - Dst: roaring::internal::bitset_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6611,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6611,1
    - Dst: roaring::internal::array_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6613,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6613,1
    - Dst: roaring::internal::run_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6615,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6615,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6617,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6618,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6620,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6616
        line_start: 6616
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6619
        line_start: 6619
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6623
      start: 6604
    functionDepth: 1
    functionLinenumber: 6604
    functionLinenumberEnd: 6623
    functionName: roaring::internal::container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_rank
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_rank
    - roaring::internal::array_container_rank
    linkageType: ''
    returnType: int
    signature: "int container_rank(\n    const container_t *c, uint8_t type,\n    uint16_t
      x\n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6641,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6646,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6649,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6651,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6651,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6654,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6660,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6662,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6663,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6666,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6668,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6668,1
    - Dst: roaring::internal::array_container_add_range_nvals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6671,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6675,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6676,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6682,1
    - Dst: roaring::internal::rle16_count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6684,1
    - Dst: roaring::internal::rle16_count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6685,1
    - Dst: roaring::internal::run_container_add_range_nruns
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6691,1
    - Dst: roaring::internal::container_from_run_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6695,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6701
      start: 6633
    functionDepth: 1
    functionLinenumber: 6633
    functionLinenumberEnd: 6701
    functionName: roaring::internal::container_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_set_lenrange
    - CAST_run
    - CAST_array
    - roaring::internal::run_container_add_range_nruns
    - roaring::internal::run_container_create_range
    - CAST_bitset
    - roaring::internal::rle16_count_less
    - roaring::internal::count_greater
    - roaring::internal::array_container_add_range_nvals
    - roaring::internal::count_less
    - INT32_C
    - roaring::internal::rle16_count_greater
    - roaring::internal::container_from_run_range
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add_range(\n    container_t *c, uint8_t type,\n
      \   uint32_t min, uint32_t max,\n    uint8_t *result_type\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6720,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6723,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6729,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6731,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6734,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6740,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6742,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6743,1
    - Dst: roaring::internal::array_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6750,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6756,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6761,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6761,1
    - Dst: roaring::internal::run_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6765,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6766,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6771
      start: 6713
    functionDepth: 1
    functionLinenumber: 6713
    functionLinenumberEnd: 6771
    functionName: roaring::internal::container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::run_container_remove_range
    - CAST_run
    - CAST_array
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::count_greater
    - roaring::internal::array_container_remove_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::count_less
    - roaring::internal::run_container_minimum
    - roaring::internal::run_container_maximum
    - roaring::internal::bitset_lenrange_cardinality
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove_range(\n    container_t *c, uint8_t
      type,\n    uint32_t min, uint32_t max,\n    uint8_t *result_type\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type1
    - ','
    - type2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4338
      start: 4336
    functionDepth: 0
    functionLinenumber: 4336
    functionLinenumberEnd: 4338
    functionName: PAIR_CONTAINER_TYPES
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAIR_CONTAINER_TYPES(type1,type2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name1
    - ','
    - name2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4341
      start: 4339
    functionDepth: 0
    functionLinenumber: 4339
    functionLinenumberEnd: 4341
    functionName: CONTAINER_PAIR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONTAINER_PAIR(name1,name2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4351
      start: 4347
    functionDepth: 0
    functionLinenumber: 4347
    functionLinenumberEnd: 4351
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(shared_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4356
      start: 4355
    functionDepth: 0
    functionLinenumber: 4355
    functionLinenumberEnd: 4356
    functionName: CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4356
    functionDepth: 0
    functionLinenumber: 4356
    functionLinenumberEnd: 4357
    functionName: const_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4358
      start: 4357
    functionDepth: 0
    functionLinenumber: 4357
    functionLinenumberEnd: 4358
    functionName: movable_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_shared(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4385,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4386,1
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - candidate_shared_container
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4385
        line_start: 4385
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4391
      start: 4381
    functionDepth: 0
    functionLinenumber: 4381
    functionLinenumberEnd: 4391
    functionName: roaring::internal::container_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 32
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_unwrap_shared(\n    const container_t *candidate_shared_container,
      uint8_t *type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4399,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4400,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4399
        line_start: 4399
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4405
      start: 4395
    functionDepth: 0
    functionLinenumber: 4395
    functionLinenumberEnd: 4405
    functionName: roaring::internal::container_mutable_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - CAST_shared
    - assert
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_mutable_unwrap_shared(\n    container_t *c,
      uint8_t *type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4416
      start: 4408
    functionDepth: 0
    functionLinenumber: 4408
    functionLinenumberEnd: 4416
    functionName: roaring::internal::get_container_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_shared
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t get_container_type(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::shared_container_extract_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4430,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4434
      start: 4426
    functionDepth: 0
    functionLinenumber: 4426
    functionLinenumberEnd: 4434
    functionName: roaring::internal::get_writable_copy_if_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 9
    functionsReached:
    - CAST_shared
    - roaring::internal::shared_container_extract_copy
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_writable_copy_if_shared(\n    container_t *c, uint8_t
      *type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4456,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4458,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4458,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4461,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4461,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4464,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4466,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4463
        line_start: 4463
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4465
        line_start: 4465
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4469
      start: 4450
    functionDepth: 1
    functionLinenumber: 4450
    functionLinenumberEnd: 4469
    functionName: roaring::internal::container_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_from_run
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bitset_container_t
    signature: "bitset_container_t *container_to_bitset(\n    container_t *c, uint8_t
      typecode\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4504,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4512,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4513,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4518,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4519,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4511
        line_start: 4511
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4517
        line_start: 4517
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4524
      start: 4493
    functionDepth: 1
    functionLinenumber: 4493
    functionLinenumberEnd: 4524
    functionName: roaring::internal::get_full_container_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: char
    signature: "char *get_full_container_name(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4533,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4536,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4536,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4538,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4538,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4540,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4540,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4542,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4541
        line_start: 4541
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4545
      start: 4530
    functionDepth: 1
    functionLinenumber: 4530
    functionLinenumberEnd: 4545
    functionName: roaring::internal::container_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int container_get_cardinality(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4553,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4556,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4557,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4559,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4560,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4562,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4562,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4564,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4563
        line_start: 4563
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4567
      start: 4552
    functionDepth: 1
    functionLinenumber: 4552
    functionLinenumberEnd: 4567
    functionName: roaring::internal::container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: bool container_is_full(const container_t *c, uint8_t typecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4572,1
    - Dst: roaring::internal::array_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4577,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4577,1
    - Dst: roaring::internal::run_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4579,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4579,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4581,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4580
        line_start: 4580
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4584
      start: 4569
    functionDepth: 1
    functionLinenumber: 4569
    functionLinenumberEnd: 4584
    functionName: roaring::internal::container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::array_container_shrink_to_fit
    - assert
    - roaring::internal::container_mutable_unwrap_shared
    - CAST_run
    - roaring::internal::run_container_shrink_to_fit
    linkageType: ''
    returnType: int
    signature: "int container_shrink_to_fit(\n    container_t *c, uint8_t type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4597,1
    - Dst: roaring::internal::array_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4601,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - range_start
    - range_end
    - result_type
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (range_end >= range_start)
      pos:
        line_end: 4596
        line_start: 4596
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4606
      start: 4593
    functionDepth: 0
    functionLinenumber: 4593
    functionLinenumberEnd: 4606
    functionName: roaring::internal::container_range_of_ones
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - assert
    - roaring::internal::array_container_create_range
    - roaring::internal::run_container_create_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_range_of_ones(\n    uint32_t range_start, uint32_t
      range_end,\n    uint8_t *result_type\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4617,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4625,1
    - Dst: roaring::internal::array_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4626,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4627,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4631,1
    - Dst: roaring::internal::bitset_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4632,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - type
    - min
    - max
    - step
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts:
    - condition: (array->cardinality == size)
      pos:
        line_end: 4626
        line_start: 4626
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (bitset->cardinality == size)
      pos:
        line_end: 4632
        line_start: 4632
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4636
      start: 4611
    functionDepth: 0
    functionLinenumber: 4611
    functionLinenumberEnd: 4636
    functionName: roaring::internal::container_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_range_of_ones
    - assert
    - roaring::internal::array_container_add_from_range
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_add_from_range
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_range(\n    uint8_t *type, uint32_t min,\n
      \   uint32_t max, uint16_t step\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4644,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4648,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4649,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4651,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4652,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4660,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4661,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4663,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4665,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4662
        line_start: 4662
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4664
        line_start: 4664
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4668
      start: 4641
    functionDepth: 1
    functionLinenumber: 4641
    functionLinenumberEnd: 4668
    functionName: roaring::internal::container_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_repair_after_lazy(\n    container_t *c, uint8_t
      *type\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4682,1
    - Dst: roaring::internal::bitset_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4685,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4685,1
    - Dst: roaring::internal::array_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4687,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4687,1
    - Dst: roaring::internal::run_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4689,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4689,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4691,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - typecode
    - buf
    argTypes:
    - container_t*
    - uint8_t
    - char*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4690
        line_start: 4690
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4694
      start: 4678
    functionDepth: 1
    functionLinenumber: 4678
    functionLinenumberEnd: 4694
    functionName: roaring::internal::container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_write
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_write
    - roaring::internal::bitset_container_write
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_write(\n    const container_t *c, uint8_t typecode,\n
      \   char *buf\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4704,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4707,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4707,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4709,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4709,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4711,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4711,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4713,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4712
        line_start: 4712
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4716
      start: 4701
    functionDepth: 1
    functionLinenumber: 4701
    functionLinenumberEnd: 4716
    functionName: roaring::internal::container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::run_container_size_in_bytes
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_size_in_bytes
    - roaring::internal::bitset_container_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_size_in_bytes(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4738,1
    - Dst: roaring::internal::bitset_container_const_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4741,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4742,1
    - Dst: roaring::internal::array_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4744,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4744,1
    - Dst: roaring::internal::run_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4746,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4746,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4748,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4747
        line_start: 4747
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4751
      start: 4735
    functionDepth: 1
    functionLinenumber: 4735
    functionLinenumberEnd: 4751
    functionName: roaring::internal::container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_const_nonzero_cardinality
    - roaring::internal::array_container_nonzero_cardinality
    - roaring::internal::run_container_nonzero_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool container_nonzero_cardinality(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4768,1
    - Dst: roaring::internal::bitset_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4771,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4772,1
    - Dst: roaring::internal::array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4774,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4775,1
    - Dst: roaring::internal::run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4777,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4778,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4780,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - output
    - c
    - typecode
    - base
    argTypes:
    - uint32_t*
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4779
        line_start: 4779
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4783
      start: 4763
    functionDepth: 1
    functionLinenumber: 4763
    functionLinenumberEnd: 4783
    functionName: roaring::internal::container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_to_uint32_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_to_uint32_array
    - assert
    - roaring::internal::run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int container_to_uint32_array(\n    uint32_t *output,\n    const container_t
      *c, uint8_t typecode,\n    uint32_t base\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4796,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4799,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4799,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4803,1
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4804,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4808,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4809,1
    - Dst: roaring::internal::run_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4816,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4816,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4820,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4819
        line_start: 4819
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4824
      start: 4791
    functionDepth: 1
    functionLinenumber: 4791
    functionLinenumberEnd: 4824
    functionName: roaring::internal::container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_container_add
    - CAST_array
    - roaring::internal::run_container_add
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::array_container_try_add
    - roaring::internal::bitset_container_set
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add(\n    container_t *c, uint16_t val,\n    uint8_t
      typecode,  // !!! should be second argument?\n    uint8_t *new_typecode\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4838,1
    - Dst: roaring::internal::bitset_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4841,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4841,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4842,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4842,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4845,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4845,1
    - Dst: roaring::internal::array_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4852,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4852,1
    - Dst: roaring::internal::run_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4856,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4856,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4860,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4859
        line_start: 4859
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4864
      start: 4833
    functionDepth: 1
    functionLinenumber: 4833
    functionLinenumberEnd: 4864
    functionName: roaring::internal::container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_remove
    - roaring::internal::bitset_container_remove
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::array_container_remove
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove(\n    container_t *c, uint16_t val,\n
      \   uint8_t typecode,  // !!! should be second argument?\n    uint8_t *new_typecode\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4874,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4877,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4877,1
    - Dst: roaring::internal::array_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4879,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4879,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4881,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4881,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4883,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - c
    - val
    - typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4882
        line_start: 4882
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4887
      start: 4869
    functionDepth: 1
    functionLinenumber: 4869
    functionLinenumberEnd: 4887
    functionName: roaring::internal::container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::bitset_container_get
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains
    - roaring::internal::array_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool container_contains(\n    const container_t *c,\n    uint16_t
      val,\n    uint8_t typecode  // !!! should be second argument?\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4898,1
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4901,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4901,1
    - Dst: roaring::internal::array_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4904,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4904,1
    - Dst: roaring::internal::run_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4907,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4907,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4910,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - c
    - range_start
    - range_end
    - typecode
    argTypes:
    - container_t*
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4909
        line_start: 4909
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4914
      start: 4893
    functionDepth: 1
    functionLinenumber: 4893
    functionLinenumberEnd: 4914
    functionName: roaring::internal::container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::bitset_container_get_range
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_contains_range
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool container_contains_range(\n    const container_t *c,\n    uint32_t
      range_start, uint32_t range_end,\n    uint8_t typecode  // !!! should be second
      argument?\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4924,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4925,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4926,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4927,1
    - Dst: roaring::internal::bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4929,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4931,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4932,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4932,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4933,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4935,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4936,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4936,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4937,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4939,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4941,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4941,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4942,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4944,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4946,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4946,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4947,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4949,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4950,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4950,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4951,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4953,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4954,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4955,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4957,1
    - Dst: roaring::internal::array_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4958,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4958,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4959,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4961,1
    - Dst: roaring::internal::run_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4962,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4962,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4963,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4966,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4965
        line_start: 4965
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4970
      start: 4920
    functionDepth: 1
    functionLinenumber: 4920
    functionLinenumberEnd: 4970
    functionName: roaring::internal::container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_equals
    - roaring::internal::run_container_equals
    - roaring::internal::run_container_equals_bitset
    - roaring::internal::run_container_equals_array
    - roaring::internal::array_container_equals
    - CONTAINER_PAIR
    - roaring::internal::array_container_equal_bitset
    linkageType: ''
    returnType: bool
    signature: "bool container_equals(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4980,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4981,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4982,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4983,1
    - Dst: roaring::internal::bitset_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4985,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4987,1
    - Dst: roaring::internal::bitset_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4988,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4988,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4989,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4991,1
    - Dst: roaring::internal::run_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4992,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4992,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4993,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4995,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4998,1
    - Dst: roaring::internal::array_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4999,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4999,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5000,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5002,1
    - Dst: roaring::internal::array_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5003,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5003,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5004,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5006,1
    - Dst: roaring::internal::run_container_is_subset_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5007,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5007,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5008,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5010,1
    - Dst: roaring::internal::array_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5012,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5014,1
    - Dst: roaring::internal::run_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5015,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5015,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5016,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5019,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5018
        line_start: 5018
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5023
      start: 4976
    functionDepth: 1
    functionLinenumber: 4976
    functionLinenumberEnd: 5023
    functionName: roaring::internal::container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_container_is_subset_bitset
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_is_subset_bitset
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_is_subset_array
    - assert
    - roaring::internal::array_container_is_subset
    - roaring::internal::bitset_container_is_subset_run
    - roaring::internal::array_container_is_subset_run
    - CONTAINER_PAIR
    - roaring::internal::run_container_is_subset
    - roaring::internal::bitset_container_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool container_is_subset(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5037,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5038,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5040,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5041,1
    - Dst: roaring::internal::bitset_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5042,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5043,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5044,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5049,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5050,1
    - Dst: roaring::internal::array_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5051,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5051,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5052,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5053,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5057,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5058,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5059,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5059,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5060,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5061,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5062,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5063,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5065,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5066,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5067,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5067,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5068,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5069,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5073,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5074,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5076,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5076,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5077,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5078,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5081,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5082,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5083,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5084,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5089,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5090,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5091,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5092,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5097,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5098,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5100,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5100,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5101,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5102,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5105,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5106,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5108,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5108,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5109,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5110,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5114,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5113
        line_start: 5113
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5118
      start: 5032
    functionDepth: 1
    functionLinenumber: 5032
    functionLinenumberEnd: 5118
    functionName: roaring::internal::container_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - const_CAST_run
    - roaring::internal::bitset_bitset_container_intersection
    - roaring::internal::array_container_intersection
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_and(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5127,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5128,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5129,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5130,1
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5131,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5132,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5132,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5134,1
    - Dst: roaring::internal::array_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5135,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5136,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5136,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5138,1
    - Dst: roaring::internal::run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5139,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5140,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5140,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5142,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5143,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5144,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5144,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5146,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5147,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5148,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5148,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5150,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5151,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5152,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5152,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5154,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5155,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5156,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5156,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5158,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5159,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5160,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5160,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5162,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5163,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5164,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5164,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5167,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5166
        line_start: 5166
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5171
      start: 5123
    functionDepth: 1
    functionLinenumber: 5123
    functionLinenumberEnd: 5171
    functionName: roaring::internal::container_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection_cardinality
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_container_intersection_cardinality
    - bitset_container_and_justcard
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_bitset_container_intersection_cardinality
    - assert
    - roaring::internal::array_bitset_container_intersection_cardinality
    - roaring::internal::array_run_container_intersection_cardinality
    - CONTAINER_PAIR
    linkageType: ''
    returnType: int
    signature: "int container_and_cardinality(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5180,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5181,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5182,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5183,1
    - Dst: roaring::internal::bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5184,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5184,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5185,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5187,1
    - Dst: roaring::internal::array_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5188,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5188,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5189,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5191,1
    - Dst: roaring::internal::run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5192,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5192,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5193,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5195,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5196,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5196,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5197,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5199,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5200,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5200,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5201,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5203,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5204,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5204,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5205,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5207,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5208,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5208,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5211,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5212,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5212,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5213,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5215,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5216,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5216,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5217,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5220,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5219
        line_start: 5219
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5224
      start: 5176
    functionDepth: 1
    functionLinenumber: 5176
    functionLinenumberEnd: 5224
    functionName: roaring::internal::container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersect
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_intersect
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_intersect
    - roaring::internal::run_bitset_container_intersect
    - roaring::internal::array_container_intersect
    - roaring::internal::array_run_container_intersect
    - CONTAINER_PAIR
    linkageType: ''
    returnType: bool
    signature: "bool container_intersect(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5240,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5241,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5243,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5244,1
    - Dst: roaring::internal::bitset_bitset_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5246,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5247,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5247,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5252,1
    - Dst: roaring::internal::array_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5253,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5253,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5254,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5258,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5259,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5260,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5260,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5261,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5262,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5265,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5266,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5268,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5270,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5271,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5271,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5272,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5273,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5277,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5279,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5280,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5280,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5281,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5284,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5286,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5287,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5288,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5293,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5294,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5295,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5296,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5301,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5302,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5304,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5304,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5305,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5306,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5309,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5310,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5312,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5312,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5313,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5314,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5318,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5317
        line_start: 5317
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5322
      start: 5235
    functionDepth: 1
    functionLinenumber: 5235
    functionLinenumberEnd: 5322
    functionName: roaring::internal::container_iand
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_bitset_container_intersection_inplace
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - roaring::internal::array_container_intersection_inplace
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iand(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5334,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5335,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5337,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5338,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5339,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5340,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5340,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5341,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5342,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5346,1
    - Dst: roaring::internal::array_array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5347,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5348,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5349,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5354,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5355,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5357,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5358,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5361,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5362,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5365,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5366,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5367,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5367,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5368,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5369,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5373,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5374,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5375,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5375,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5376,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5377,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5381,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5382,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5382,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5383,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5385,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5385,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5386,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5389,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5390,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5390,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5391,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5392,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5396,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5397,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5397,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5398,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5400,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5400,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5401,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5404,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5405,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5405,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5406,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5407,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5411,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5412,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5413,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5413,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5414,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5415,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5416,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5417,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5420,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5421,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5422,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5422,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5423,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5424,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5425,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5426,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5430,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5429
        line_start: 5429
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5434
      start: 5329
    functionDepth: 1
    functionLinenumber: 5329
    functionLinenumberEnd: 5434
    functionName: roaring::internal::container_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::array_array_container_union
    - const_CAST_run
    - CAST_bitset
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_or(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5449,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5450,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5452,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5453,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5454,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5455,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5456,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5456,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5457,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5461,1
    - Dst: roaring::internal::array_array_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5462,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5463,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5464,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5469,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5470,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5471,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5471,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5472,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5473,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5476,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5477,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5480,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5481,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5482,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5483,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5483,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5484,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5488,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5489,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5490,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5491,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5491,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5492,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5496,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5497,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5497,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5498,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5503,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5504,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5505,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5505,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5506,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5510,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5511,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5511,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5512,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5517,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5518,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5519,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5519,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5520,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5524,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5525,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5526,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5526,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5527,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5528,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5534,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5535,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5536,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5537,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5537,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5538,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5545,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5544
        line_start: 5544
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5549
      start: 5444
    functionDepth: 1
    functionLinenumber: 5444
    functionLinenumberEnd: 5549
    functionName: roaring::internal::container_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_bitset_container_lazy_union
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_or(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5565,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5566,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5568,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5569,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5570,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5570,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5571,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5572,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5574,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5575,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5583,1
    - Dst: roaring::internal::array_array_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5584,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5585,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5585,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5594,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5596,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5596,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5599,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5600,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5600,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5601,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5602,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5606,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5608,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5610,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5610,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5611,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5612,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5615,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5616,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5616,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5617,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5622,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5622,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5623,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5624,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5628,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5629,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5629,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5633,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5634,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5634,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5635,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5636,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5640,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5641,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5642,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5642,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5643,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5644,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5645,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5646,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5649,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5650,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5650,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5651,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5652,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5652,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5657,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 64
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5656
        line_start: 5656
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5661
      start: 5560
    functionDepth: 1
    functionLinenumber: 5560
    functionLinenumberEnd: 5661
    functionName: roaring::internal::container_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_container_is_full
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - bitset_container_or
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::array_array_container_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ior(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5680,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5682,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5684,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5685,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5688,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5688,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5689,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5690,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5692,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5693,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5698,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5698,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5699,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5700,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5706,1
    - Dst: roaring::internal::array_array_container_lazy_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5707,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5708,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5709,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5718,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5719,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5719,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5720,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5722,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5722,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5725,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5726,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5727,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5727,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5728,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5732,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5734,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5736,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5737,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5737,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5738,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5741,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5742,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5742,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5743,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5745,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5745,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5746,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5749,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5750,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5750,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5751,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5755,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5756,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5756,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5760,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5761,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5762,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5762,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5763,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5767,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5768,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5769,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5769,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5770,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5771,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5778,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5779,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5779,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5780,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5788,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5787
        line_start: 5787
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5679
        line_start: 5679
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5792
      start: 5675
    functionDepth: 1
    functionLinenumber: 5675
    functionLinenumberEnd: 5792
    functionName: roaring::internal::container_lazy_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - roaring::internal::run_bitset_container_lazy_union
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ior(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5804,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5805,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5807,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5808,1
    - Dst: roaring::internal::bitset_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5809,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5810,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5811,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5816,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5817,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5818,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5819,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5824,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5827,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5830,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5831,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5832,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5833,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5838,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5839,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5840,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5841,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5846,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5847,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5848,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5849,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5854,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5855,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5856,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5857,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5862,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5864,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5864,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5865,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5868,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5870,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5870,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5871,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5875,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5874
        line_start: 5874
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5879
      start: 5799
    functionDepth: 1
    functionLinenumber: 5799
    functionLinenumberEnd: 5879
    functionName: roaring::internal::container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_xor
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_bitset_container_xor
    - const_CAST_run
    - assert
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::array_array_container_xor
    - roaring::internal::array_bitset_container_xor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t * container_xor(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5895,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5896,1
    - Dst: roaring::internal::container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5896,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5897,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5898,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5899,1
    - Dst: roaring::internal::bitset_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5903,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5903,1
    - Dst: roaring::internal::array_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5906,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5906,1
    - Dst: roaring::internal::run_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5909,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5909,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5912,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5913,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - c
    - type
    - lo
    - hi
    - offset
    argTypes:
    - container_t*
    - uint8_t
    - container_t**
    - container_t**
    - uint16_t
    assertStmts:
    - condition: (offset != 0)
      pos:
        line_end: 5894
        line_start: 5894
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (lo == NULL || *lo == NULL)
      pos:
        line_end: 5897
        line_start: 5897
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (container_nonzero_cardinality(c, type))
      pos:
        line_end: 5895
        line_start: 5895
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (lo != NULL || hi != NULL)
      pos:
        line_end: 5896
        line_start: 5896
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (hi == NULL || *hi == NULL)
      pos:
        line_end: 5898
        line_start: 5898
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 5911
        line_start: 5911
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5916
      start: 5892
    functionDepth: 1
    functionLinenumber: 5892
    functionLinenumberEnd: 5916
    functionName: roaring::internal::container_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_offset
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_container_offset
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_offset
    - roaring::internal::container_nonzero_cardinality
    linkageType: ''
    returnType: void
    signature: "void container_add_offset(const container_t *c, uint8_t type,\n                                        container_t
      **lo, container_t **hi,\n                                        uint16_t offset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5931,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5932,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5934,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5935,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5936,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5937,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5938,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5938,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5939,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5943,1
    - Dst: roaring::internal::array_array_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5944,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5945,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5946,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5951,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5955,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5958,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5959,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5961,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5961,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5962,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5963,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5966,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5967,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5969,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5969,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5970,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5971,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5974,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5975,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5976,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5976,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5977,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5978,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5982,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5983,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5984,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5985,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5986,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5990,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5991,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5992,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5992,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5993,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5994,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6000,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6001,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6002,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6002,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6003,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6004,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6011,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6010
        line_start: 6010
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6015
      start: 5926
    functionDepth: 1
    functionLinenumber: 5926
    functionLinenumberEnd: 6015
    functionName: roaring::internal::container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - bitset_container_xor_nocard
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_lazy_xor
    - const_CAST_bitset
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::run_bitset_container_lazy_xor
    - roaring::internal::run_container_create
    - roaring::internal::array_bitset_container_lazy_xor
    - CAST_run
    - CONTAINER_PAIR
    - roaring::internal::bitset_container_create
    - roaring::internal::array_array_container_lazy_xor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_xor(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6031,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6032,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6034,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6035,1
    - Dst: roaring::internal::bitset_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6036,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6037,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6037,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6042,1
    - Dst: roaring::internal::array_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6043,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6044,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6044,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6049,1
    - Dst: roaring::internal::run_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6050,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6051,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6051,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6054,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6055,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6056,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6056,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6061,1
    - Dst: roaring::internal::array_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6062,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6063,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6063,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6068,1
    - Dst: roaring::internal::bitset_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6070,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6071,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6071,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6077,1
    - Dst: roaring::internal::run_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6078,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6079,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6079,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6084,1
    - Dst: roaring::internal::array_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6085,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6086,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6086,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6089,1
    - Dst: roaring::internal::run_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6090,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6091,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6091,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6095,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6094
        line_start: 6094
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6099
      start: 6026
    functionDepth: 1
    functionLinenumber: 6026
    functionLinenumberEnd: 6099
    functionName: roaring::internal::container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_run_container_ixor
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_array_container_ixor
    - roaring::internal::array_bitset_container_ixor
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_run_container_ixor
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::array_array_container_ixor
    - CAST_array
    - assert
    - roaring::internal::array_run_container_ixor
    - roaring::internal::run_bitset_container_ixor
    - roaring::internal::bitset_bitset_container_ixor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ixor(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6118,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6120,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6121,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6122,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6123,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6123,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6124,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6125,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6135,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6137,1
    - Dst: roaring::internal::container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 6117
        line_start: 6117
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6142
      start: 6113
    functionDepth: 0
    functionLinenumber: 6113
    functionLinenumberEnd: 6142
    functionName: roaring::internal::container_lazy_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - bitset_container_xor_nocard
    - roaring::internal::bitset_container_compute_cardinality
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - assert
    - CAST_bitset
    - roaring::internal::container_ixor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ixor(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6154,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6155,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6157,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6158,1
    - Dst: roaring::internal::bitset_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6159,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6160,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6161,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6166,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6167,1
    - Dst: roaring::internal::array_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6168,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6168,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6169,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6170,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6174,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6175,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6175,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6176,1
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6181,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6181,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6182,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6185,1
    - Dst: roaring::internal::bitset_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6186,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6187,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6188,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6193,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6194,1
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6195,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6195,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6196,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6197,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6201,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6202,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6202,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6203,1
    - Dst: roaring::internal::bitset_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6208,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6214,1
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6215,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6216,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6217,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6222,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6223,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6223,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6224,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6228,1
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6229,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6229,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6230,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6231,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6235,1
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6236,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6237,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6237,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6242,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6241
        line_start: 6241
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6246
      start: 6149
    functionDepth: 1
    functionLinenumber: 6149
    functionLinenumberEnd: 6246
    functionName: roaring::internal::container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_array_container_andnot
    - const_CAST_run
    - roaring::internal::run_run_container_andnot
    - roaring::internal::array_run_container_andnot
    - CONTAINER_PAIR
    - roaring::internal::bitset_array_container_andnot
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - const_CAST_array
    - roaring::internal::bitset_bitset_container_andnot
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_andnot
    - roaring::internal::array_array_container_andnot
    - roaring::internal::run_bitset_container_andnot
    - CAST_array
    - assert
    - roaring::internal::array_bitset_container_andnot
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_andnot(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6263,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6264,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6266,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6267,1
    - Dst: roaring::internal::bitset_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6268,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6269,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6270,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6275,1
    - Dst: roaring::internal::array_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6276,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6276,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6277,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6281,1
    - Dst: roaring::internal::run_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6282,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6283,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6283,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6286,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6287,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6288,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6289,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6294,1
    - Dst: roaring::internal::array_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6296,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6296,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6297,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6300,1
    - Dst: roaring::internal::bitset_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6301,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6302,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6303,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6308,1
    - Dst: roaring::internal::run_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6309,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6310,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6311,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6316,1
    - Dst: roaring::internal::array_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6318,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6318,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6319,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6322,1
    - Dst: roaring::internal::run_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6323,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6324,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6324,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6328,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6327
        line_start: 6327
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6332
      start: 6258
    functionDepth: 1
    functionLinenumber: 6258
    functionLinenumberEnd: 6332
    functionName: roaring::internal::container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_array_container_iandnot
    - roaring::internal::bitset_array_container_iandnot
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_iandnot
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_iandnot
    - CAST_array
    - assert
    - roaring::internal::array_array_container_iandnot
    - roaring::internal::array_run_container_iandnot
    - roaring::internal::bitset_bitset_container_iandnot
    - roaring::internal::run_run_container_iandnot
    - roaring::internal::run_bitset_container_iandnot
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iandnot(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6344,1
    - Dst: roaring::internal::bitset_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6347,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6347,1
    - Dst: roaring::internal::array_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6350,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6350,1
    - Dst: roaring::internal::run_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6353,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6353,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6356,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6357,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6359,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - base
    - iterator
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6355
        line_start: 6355
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6358
        line_start: 6358
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6362
      start: 6339
    functionDepth: 1
    functionLinenumber: 6339
    functionLinenumberEnd: 6362
    functionName: roaring::internal::container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_iterate
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_iterate
    - assert
    - roaring::internal::run_container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate(\n    const container_t *c, uint8_t type,\n
      \   uint32_t base,\n    roaring_iterator iterator, void *ptr\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6370,1
    - Dst: roaring::internal::bitset_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6373,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6373,1
    - Dst: roaring::internal::array_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6376,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6376,1
    - Dst: roaring::internal::run_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6379,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6379,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6382,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6383,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6385,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6381
        line_start: 6381
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6384
        line_start: 6384
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6388
      start: 6364
    functionDepth: 1
    functionLinenumber: 6364
    functionLinenumberEnd: 6388
    functionName: roaring::internal::container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_iterate64
    - const_CAST_run
    - assert
    - roaring::internal::run_container_iterate64
    - roaring::internal::bitset_container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate64(\n    const container_t *c, uint8_t type,\n
      \   uint32_t base,\n    roaring_iterator64 iterator,\n    uint64_t high_bits,
      void *ptr\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6394,1
    - Dst: roaring::internal::bitset_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6398,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6399,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6404,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6406,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6406,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6407,1
    - Dst: roaring::internal::run_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6411,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6411,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6415,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6416,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6418,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6414
        line_start: 6414
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6417
        line_start: 6417
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6421
      start: 6390
    functionDepth: 1
    functionLinenumber: 6390
    functionLinenumberEnd: 6421
    functionName: roaring::internal::container_not
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_negation
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not(\n    const container_t *c, uint8_t type,\n
      \   uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6428,1
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6433,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6434,1
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6440,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6441,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6446,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6447,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6451,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6452,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6454,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6450
        line_start: 6450
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6453
        line_start: 6453
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6457
      start: 6423
    functionDepth: 1
    functionLinenumber: 6423
    functionLinenumberEnd: 6457
    functionName: roaring::internal::container_not_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_negation_range
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_negation_range
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not_range(\n    const container_t *c, uint8_t
      type,\n    uint32_t range_start, uint32_t range_end,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6463,1
    - Dst: roaring::internal::bitset_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6467,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6468,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6474,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6476,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6476,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6477,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6478,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6478,1
    - Dst: roaring::internal::run_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6482,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6482,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6486,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6487,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6489,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6485
        line_start: 6485
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6488
        line_start: 6488
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6492
      start: 6459
    functionDepth: 1
    functionLinenumber: 6459
    functionLinenumberEnd: 6492
    functionName: roaring::internal::container_inot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::run_container_negation_inplace
    - roaring::internal::array_container_free
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation_inplace
    - CAST_run
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot(\n    container_t *c, uint8_t type,\n
      \   uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6499,1
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6504,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6505,1
    - Dst: roaring::internal::array_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6511,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6512,1
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6517,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6518,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6522,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6523,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6525,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6521
        line_start: 6521
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6524
        line_start: 6524
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6528
      start: 6494
    functionDepth: 1
    functionLinenumber: 6494
    functionLinenumberEnd: 6528
    functionName: roaring::internal::container_inot_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::bitset_container_negation_range_inplace
    - roaring::internal::get_writable_copy_if_shared
    - roaring::internal::array_container_negation_range_inplace
    - CAST_bitset
    - assert
    - CAST_run
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot_range(\n    container_t *c, uint8_t type,\n
      \   uint32_t range_start, uint32_t range_end,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6543,1
    - Dst: roaring::internal::bitset_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6546,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6546,1
    - Dst: roaring::internal::array_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6549,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6549,1
    - Dst: roaring::internal::run_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6552,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6552,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6555,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6556,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6558,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - start_rank
    - rank
    - element
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6554
        line_start: 6554
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6557
        line_start: 6557
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6561
      start: 6538
    functionDepth: 1
    functionLinenumber: 6538
    functionLinenumberEnd: 6561
    functionName: roaring::internal::container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_select
    - assert
    - roaring::internal::run_container_select
    - roaring::internal::array_container_select
    linkageType: ''
    returnType: bool
    signature: "bool container_select(\n    const container_t *c, uint8_t type,\n
      \   uint32_t *start_rank, uint32_t rank,\n    uint32_t *element\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6566,1
    - Dst: roaring::internal::bitset_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6569,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6569,1
    - Dst: roaring::internal::array_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6571,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6571,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6573,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6573,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6575,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6576,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6578,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6574
        line_start: 6574
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6577
        line_start: 6577
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6581
      start: 6563
    functionDepth: 1
    functionLinenumber: 6563
    functionLinenumberEnd: 6581
    functionName: roaring::internal::container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_maximum
    - roaring::internal::run_container_maximum
    - roaring::internal::array_container_maximum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t container_maximum(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6586,1
    - Dst: roaring::internal::bitset_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6589,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6589,1
    - Dst: roaring::internal::array_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6591,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6593,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6593,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6595,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6596,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6598,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6594
        line_start: 6594
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6597
        line_start: 6597
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6601
      start: 6583
    functionDepth: 1
    functionLinenumber: 6583
    functionLinenumberEnd: 6601
    functionName: roaring::internal::container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::array_container_minimum
    - assert
    - roaring::internal::run_container_minimum
    - roaring::internal::bitset_container_minimum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t container_minimum(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6608,1
    - Dst: roaring::internal::bitset_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6611,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6611,1
    - Dst: roaring::internal::array_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6613,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6613,1
    - Dst: roaring::internal::run_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6615,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6615,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6617,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6618,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6620,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6616
        line_start: 6616
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6619
        line_start: 6619
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6623
      start: 6604
    functionDepth: 1
    functionLinenumber: 6604
    functionLinenumberEnd: 6623
    functionName: roaring::internal::container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_rank
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_rank
    - roaring::internal::array_container_rank
    linkageType: ''
    returnType: int
    signature: "int container_rank(\n    const container_t *c, uint8_t type,\n    uint16_t
      x\n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6641,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6646,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6649,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6651,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6651,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6654,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6660,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6662,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6663,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6666,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6668,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6668,1
    - Dst: roaring::internal::array_container_add_range_nvals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6671,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6675,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6676,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6682,1
    - Dst: roaring::internal::rle16_count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6684,1
    - Dst: roaring::internal::rle16_count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6685,1
    - Dst: roaring::internal::run_container_add_range_nruns
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6691,1
    - Dst: roaring::internal::container_from_run_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6695,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6701
      start: 6633
    functionDepth: 1
    functionLinenumber: 6633
    functionLinenumberEnd: 6701
    functionName: roaring::internal::container_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_set_lenrange
    - CAST_run
    - CAST_array
    - roaring::internal::run_container_add_range_nruns
    - roaring::internal::run_container_create_range
    - CAST_bitset
    - roaring::internal::rle16_count_less
    - roaring::internal::count_greater
    - roaring::internal::array_container_add_range_nvals
    - roaring::internal::count_less
    - INT32_C
    - roaring::internal::rle16_count_greater
    - roaring::internal::container_from_run_range
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add_range(\n    container_t *c, uint8_t type,\n
      \   uint32_t min, uint32_t max,\n    uint8_t *result_type\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6720,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6723,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6729,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6731,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6734,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6740,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6742,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6743,1
    - Dst: roaring::internal::array_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6750,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6756,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6761,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6761,1
    - Dst: roaring::internal::run_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6765,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6766,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6771
      start: 6713
    functionDepth: 1
    functionLinenumber: 6713
    functionLinenumberEnd: 6771
    functionName: roaring::internal::container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::run_container_remove_range
    - CAST_run
    - CAST_array
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::count_greater
    - roaring::internal::array_container_remove_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::count_less
    - roaring::internal::run_container_minimum
    - roaring::internal::run_container_maximum
    - roaring::internal::bitset_lenrange_cardinality
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove_range(\n    container_t *c, uint8_t
      type,\n    uint32_t min, uint32_t max,\n    uint8_t *result_type\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type1
    - ','
    - type2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4338
      start: 4336
    functionDepth: 0
    functionLinenumber: 4336
    functionLinenumberEnd: 4338
    functionName: PAIR_CONTAINER_TYPES
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAIR_CONTAINER_TYPES(type1,type2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name1
    - ','
    - name2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4341
      start: 4339
    functionDepth: 0
    functionLinenumber: 4339
    functionLinenumberEnd: 4341
    functionName: CONTAINER_PAIR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONTAINER_PAIR(name1,name2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4351
      start: 4347
    functionDepth: 0
    functionLinenumber: 4347
    functionLinenumberEnd: 4351
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(shared_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4356
      start: 4355
    functionDepth: 0
    functionLinenumber: 4355
    functionLinenumberEnd: 4356
    functionName: CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4356
    functionDepth: 0
    functionLinenumber: 4356
    functionLinenumberEnd: 4357
    functionName: const_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4358
      start: 4357
    functionDepth: 0
    functionLinenumber: 4357
    functionLinenumberEnd: 4358
    functionName: movable_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_shared(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4385,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4386,1
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - candidate_shared_container
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4385
        line_start: 4385
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4391
      start: 4381
    functionDepth: 0
    functionLinenumber: 4381
    functionLinenumberEnd: 4391
    functionName: roaring::internal::container_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 64
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_unwrap_shared(\n    const container_t *candidate_shared_container,
      uint8_t *type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4399,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4400,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4399
        line_start: 4399
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4405
      start: 4395
    functionDepth: 0
    functionLinenumber: 4395
    functionLinenumberEnd: 4405
    functionName: roaring::internal::container_mutable_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - CAST_shared
    - assert
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_mutable_unwrap_shared(\n    container_t *c,
      uint8_t *type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4416
      start: 4408
    functionDepth: 0
    functionLinenumber: 4408
    functionLinenumberEnd: 4416
    functionName: roaring::internal::get_container_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_shared
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t get_container_type(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::shared_container_extract_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4430,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4434
      start: 4426
    functionDepth: 0
    functionLinenumber: 4426
    functionLinenumberEnd: 4434
    functionName: roaring::internal::get_writable_copy_if_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 18
    functionsReached:
    - CAST_shared
    - roaring::internal::shared_container_extract_copy
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_writable_copy_if_shared(\n    container_t *c, uint8_t
      *type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4456,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4458,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4458,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4461,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4461,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4464,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4466,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4463
        line_start: 4463
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4465
        line_start: 4465
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4469
      start: 4450
    functionDepth: 1
    functionLinenumber: 4450
    functionLinenumberEnd: 4469
    functionName: roaring::internal::container_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_from_run
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bitset_container_t
    signature: "bitset_container_t *container_to_bitset(\n    container_t *c, uint8_t
      typecode\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4504,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4512,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4513,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4518,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4519,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4511
        line_start: 4511
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4517
        line_start: 4517
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4524
      start: 4493
    functionDepth: 1
    functionLinenumber: 4493
    functionLinenumberEnd: 4524
    functionName: roaring::internal::get_full_container_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: char
    signature: "char *get_full_container_name(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4533,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4536,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4536,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4538,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4538,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4540,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4540,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4542,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4541
        line_start: 4541
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4545
      start: 4530
    functionDepth: 1
    functionLinenumber: 4530
    functionLinenumberEnd: 4545
    functionName: roaring::internal::container_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int container_get_cardinality(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4553,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4556,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4557,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4559,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4560,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4562,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4562,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4564,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4563
        line_start: 4563
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4567
      start: 4552
    functionDepth: 1
    functionLinenumber: 4552
    functionLinenumberEnd: 4567
    functionName: roaring::internal::container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: bool container_is_full(const container_t *c, uint8_t typecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4572,1
    - Dst: roaring::internal::array_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4577,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4577,1
    - Dst: roaring::internal::run_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4579,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4579,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4581,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4580
        line_start: 4580
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4584
      start: 4569
    functionDepth: 1
    functionLinenumber: 4569
    functionLinenumberEnd: 4584
    functionName: roaring::internal::container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::array_container_shrink_to_fit
    - assert
    - roaring::internal::container_mutable_unwrap_shared
    - CAST_run
    - roaring::internal::run_container_shrink_to_fit
    linkageType: ''
    returnType: int
    signature: "int container_shrink_to_fit(\n    container_t *c, uint8_t type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4597,1
    - Dst: roaring::internal::array_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4601,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - range_start
    - range_end
    - result_type
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (range_end >= range_start)
      pos:
        line_end: 4596
        line_start: 4596
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4606
      start: 4593
    functionDepth: 0
    functionLinenumber: 4593
    functionLinenumberEnd: 4606
    functionName: roaring::internal::container_range_of_ones
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - assert
    - roaring::internal::array_container_create_range
    - roaring::internal::run_container_create_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_range_of_ones(\n    uint32_t range_start, uint32_t
      range_end,\n    uint8_t *result_type\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4617,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4625,1
    - Dst: roaring::internal::array_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4626,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4627,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4631,1
    - Dst: roaring::internal::bitset_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4632,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - type
    - min
    - max
    - step
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts:
    - condition: (array->cardinality == size)
      pos:
        line_end: 4626
        line_start: 4626
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (bitset->cardinality == size)
      pos:
        line_end: 4632
        line_start: 4632
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4636
      start: 4611
    functionDepth: 0
    functionLinenumber: 4611
    functionLinenumberEnd: 4636
    functionName: roaring::internal::container_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_range_of_ones
    - assert
    - roaring::internal::array_container_add_from_range
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_add_from_range
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_range(\n    uint8_t *type, uint32_t min,\n
      \   uint32_t max, uint16_t step\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4644,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4648,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4649,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4651,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4652,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4660,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4661,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4663,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4665,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4662
        line_start: 4662
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4664
        line_start: 4664
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4668
      start: 4641
    functionDepth: 1
    functionLinenumber: 4641
    functionLinenumberEnd: 4668
    functionName: roaring::internal::container_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_repair_after_lazy(\n    container_t *c, uint8_t
      *type\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4682,1
    - Dst: roaring::internal::bitset_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4685,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4685,1
    - Dst: roaring::internal::array_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4687,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4687,1
    - Dst: roaring::internal::run_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4689,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4689,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4691,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - typecode
    - buf
    argTypes:
    - container_t*
    - uint8_t
    - char*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4690
        line_start: 4690
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4694
      start: 4678
    functionDepth: 1
    functionLinenumber: 4678
    functionLinenumberEnd: 4694
    functionName: roaring::internal::container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_write
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_write
    - roaring::internal::bitset_container_write
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_write(\n    const container_t *c, uint8_t typecode,\n
      \   char *buf\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4704,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4707,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4707,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4709,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4709,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4711,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4711,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4713,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4712
        line_start: 4712
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4716
      start: 4701
    functionDepth: 1
    functionLinenumber: 4701
    functionLinenumberEnd: 4716
    functionName: roaring::internal::container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::run_container_size_in_bytes
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_size_in_bytes
    - roaring::internal::bitset_container_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_size_in_bytes(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4738,1
    - Dst: roaring::internal::bitset_container_const_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4741,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4742,1
    - Dst: roaring::internal::array_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4744,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4744,1
    - Dst: roaring::internal::run_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4746,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4746,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4748,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4747
        line_start: 4747
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4751
      start: 4735
    functionDepth: 1
    functionLinenumber: 4735
    functionLinenumberEnd: 4751
    functionName: roaring::internal::container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_const_nonzero_cardinality
    - roaring::internal::array_container_nonzero_cardinality
    - roaring::internal::run_container_nonzero_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool container_nonzero_cardinality(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4768,1
    - Dst: roaring::internal::bitset_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4771,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4772,1
    - Dst: roaring::internal::array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4774,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4775,1
    - Dst: roaring::internal::run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4777,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4778,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4780,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - output
    - c
    - typecode
    - base
    argTypes:
    - uint32_t*
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4779
        line_start: 4779
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4783
      start: 4763
    functionDepth: 1
    functionLinenumber: 4763
    functionLinenumberEnd: 4783
    functionName: roaring::internal::container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_to_uint32_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_to_uint32_array
    - assert
    - roaring::internal::run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int container_to_uint32_array(\n    uint32_t *output,\n    const container_t
      *c, uint8_t typecode,\n    uint32_t base\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4796,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4799,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4799,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4803,1
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4804,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4808,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4809,1
    - Dst: roaring::internal::run_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4816,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4816,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4820,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4819
        line_start: 4819
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4824
      start: 4791
    functionDepth: 1
    functionLinenumber: 4791
    functionLinenumberEnd: 4824
    functionName: roaring::internal::container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_container_add
    - CAST_array
    - roaring::internal::run_container_add
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::array_container_try_add
    - roaring::internal::bitset_container_set
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add(\n    container_t *c, uint16_t val,\n    uint8_t
      typecode,  // !!! should be second argument?\n    uint8_t *new_typecode\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4838,1
    - Dst: roaring::internal::bitset_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4841,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4841,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4842,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4842,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4845,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4845,1
    - Dst: roaring::internal::array_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4852,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4852,1
    - Dst: roaring::internal::run_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4856,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4856,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4860,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4859
        line_start: 4859
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4864
      start: 4833
    functionDepth: 1
    functionLinenumber: 4833
    functionLinenumberEnd: 4864
    functionName: roaring::internal::container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_remove
    - roaring::internal::bitset_container_remove
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::array_container_remove
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove(\n    container_t *c, uint16_t val,\n
      \   uint8_t typecode,  // !!! should be second argument?\n    uint8_t *new_typecode\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4874,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4877,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4877,1
    - Dst: roaring::internal::array_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4879,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4879,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4881,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4881,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4883,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - c
    - val
    - typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4882
        line_start: 4882
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4887
      start: 4869
    functionDepth: 1
    functionLinenumber: 4869
    functionLinenumberEnd: 4887
    functionName: roaring::internal::container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::bitset_container_get
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains
    - roaring::internal::array_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool container_contains(\n    const container_t *c,\n    uint16_t
      val,\n    uint8_t typecode  // !!! should be second argument?\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4898,1
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4901,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4901,1
    - Dst: roaring::internal::array_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4904,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4904,1
    - Dst: roaring::internal::run_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4907,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4907,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4910,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - c
    - range_start
    - range_end
    - typecode
    argTypes:
    - container_t*
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4909
        line_start: 4909
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4914
      start: 4893
    functionDepth: 1
    functionLinenumber: 4893
    functionLinenumberEnd: 4914
    functionName: roaring::internal::container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::bitset_container_get_range
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_contains_range
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool container_contains_range(\n    const container_t *c,\n    uint32_t
      range_start, uint32_t range_end,\n    uint8_t typecode  // !!! should be second
      argument?\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4924,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4925,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4926,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4927,1
    - Dst: roaring::internal::bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4929,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4931,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4932,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4932,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4933,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4935,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4936,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4936,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4937,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4939,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4941,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4941,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4942,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4944,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4946,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4946,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4947,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4949,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4950,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4950,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4951,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4953,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4954,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4955,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4957,1
    - Dst: roaring::internal::array_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4958,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4958,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4959,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4961,1
    - Dst: roaring::internal::run_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4962,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4962,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4963,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4966,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4965
        line_start: 4965
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4970
      start: 4920
    functionDepth: 1
    functionLinenumber: 4920
    functionLinenumberEnd: 4970
    functionName: roaring::internal::container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_equals
    - roaring::internal::run_container_equals
    - roaring::internal::run_container_equals_bitset
    - roaring::internal::run_container_equals_array
    - roaring::internal::array_container_equals
    - CONTAINER_PAIR
    - roaring::internal::array_container_equal_bitset
    linkageType: ''
    returnType: bool
    signature: "bool container_equals(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4980,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4981,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4982,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4983,1
    - Dst: roaring::internal::bitset_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4985,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4987,1
    - Dst: roaring::internal::bitset_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4988,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4988,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4989,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4991,1
    - Dst: roaring::internal::run_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4992,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4992,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4993,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4995,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4998,1
    - Dst: roaring::internal::array_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4999,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4999,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5000,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5002,1
    - Dst: roaring::internal::array_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5003,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5003,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5004,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5006,1
    - Dst: roaring::internal::run_container_is_subset_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5007,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5007,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5008,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5010,1
    - Dst: roaring::internal::array_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5012,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5014,1
    - Dst: roaring::internal::run_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5015,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5015,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5016,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5019,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5018
        line_start: 5018
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5023
      start: 4976
    functionDepth: 1
    functionLinenumber: 4976
    functionLinenumberEnd: 5023
    functionName: roaring::internal::container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_container_is_subset_bitset
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_is_subset_bitset
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_is_subset_array
    - assert
    - roaring::internal::array_container_is_subset
    - roaring::internal::bitset_container_is_subset_run
    - roaring::internal::array_container_is_subset_run
    - CONTAINER_PAIR
    - roaring::internal::run_container_is_subset
    - roaring::internal::bitset_container_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool container_is_subset(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5037,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5038,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5040,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5041,1
    - Dst: roaring::internal::bitset_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5042,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5043,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5044,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5049,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5050,1
    - Dst: roaring::internal::array_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5051,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5051,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5052,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5053,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5057,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5058,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5059,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5059,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5060,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5061,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5062,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5063,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5065,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5066,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5067,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5067,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5068,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5069,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5073,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5074,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5076,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5076,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5077,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5078,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5081,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5082,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5083,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5084,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5089,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5090,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5091,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5092,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5097,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5098,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5100,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5100,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5101,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5102,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5105,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5106,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5108,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5108,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5109,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5110,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5114,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5113
        line_start: 5113
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5118
      start: 5032
    functionDepth: 1
    functionLinenumber: 5032
    functionLinenumberEnd: 5118
    functionName: roaring::internal::container_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - const_CAST_run
    - roaring::internal::bitset_bitset_container_intersection
    - roaring::internal::array_container_intersection
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_and(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5127,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5128,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5129,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5130,1
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5131,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5132,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5132,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5134,1
    - Dst: roaring::internal::array_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5135,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5136,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5136,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5138,1
    - Dst: roaring::internal::run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5139,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5140,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5140,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5142,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5143,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5144,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5144,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5146,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5147,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5148,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5148,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5150,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5151,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5152,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5152,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5154,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5155,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5156,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5156,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5158,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5159,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5160,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5160,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5162,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5163,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5164,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5164,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5167,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5166
        line_start: 5166
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5171
      start: 5123
    functionDepth: 1
    functionLinenumber: 5123
    functionLinenumberEnd: 5171
    functionName: roaring::internal::container_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection_cardinality
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_container_intersection_cardinality
    - bitset_container_and_justcard
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_bitset_container_intersection_cardinality
    - assert
    - roaring::internal::array_bitset_container_intersection_cardinality
    - roaring::internal::array_run_container_intersection_cardinality
    - CONTAINER_PAIR
    linkageType: ''
    returnType: int
    signature: "int container_and_cardinality(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5180,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5181,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5182,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5183,1
    - Dst: roaring::internal::bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5184,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5184,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5185,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5187,1
    - Dst: roaring::internal::array_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5188,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5188,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5189,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5191,1
    - Dst: roaring::internal::run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5192,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5192,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5193,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5195,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5196,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5196,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5197,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5199,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5200,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5200,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5201,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5203,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5204,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5204,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5205,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5207,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5208,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5208,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5211,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5212,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5212,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5213,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5215,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5216,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5216,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5217,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5220,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5219
        line_start: 5219
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5224
      start: 5176
    functionDepth: 1
    functionLinenumber: 5176
    functionLinenumberEnd: 5224
    functionName: roaring::internal::container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersect
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_intersect
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_intersect
    - roaring::internal::run_bitset_container_intersect
    - roaring::internal::array_container_intersect
    - roaring::internal::array_run_container_intersect
    - CONTAINER_PAIR
    linkageType: ''
    returnType: bool
    signature: "bool container_intersect(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5240,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5241,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5243,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5244,1
    - Dst: roaring::internal::bitset_bitset_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5246,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5247,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5247,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5252,1
    - Dst: roaring::internal::array_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5253,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5253,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5254,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5258,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5259,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5260,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5260,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5261,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5262,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5265,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5266,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5268,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5270,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5271,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5271,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5272,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5273,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5277,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5279,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5280,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5280,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5281,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5284,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5286,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5287,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5288,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5293,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5294,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5295,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5296,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5301,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5302,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5304,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5304,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5305,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5306,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5309,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5310,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5312,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5312,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5313,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5314,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5318,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5317
        line_start: 5317
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5322
      start: 5235
    functionDepth: 1
    functionLinenumber: 5235
    functionLinenumberEnd: 5322
    functionName: roaring::internal::container_iand
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_bitset_container_intersection_inplace
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - roaring::internal::array_container_intersection_inplace
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iand(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5334,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5335,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5337,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5338,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5339,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5340,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5340,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5341,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5342,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5346,1
    - Dst: roaring::internal::array_array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5347,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5348,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5349,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5354,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5355,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5357,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5358,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5361,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5362,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5365,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5366,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5367,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5367,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5368,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5369,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5373,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5374,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5375,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5375,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5376,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5377,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5381,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5382,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5382,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5383,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5385,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5385,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5386,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5389,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5390,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5390,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5391,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5392,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5396,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5397,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5397,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5398,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5400,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5400,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5401,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5404,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5405,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5405,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5406,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5407,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5411,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5412,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5413,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5413,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5414,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5415,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5416,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5417,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5420,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5421,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5422,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5422,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5423,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5424,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5425,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5426,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5430,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5429
        line_start: 5429
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5434
      start: 5329
    functionDepth: 1
    functionLinenumber: 5329
    functionLinenumberEnd: 5434
    functionName: roaring::internal::container_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::array_array_container_union
    - const_CAST_run
    - CAST_bitset
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_or(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5449,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5450,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5452,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5453,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5454,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5455,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5456,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5456,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5457,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5461,1
    - Dst: roaring::internal::array_array_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5462,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5463,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5464,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5469,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5470,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5471,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5471,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5472,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5473,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5476,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5477,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5480,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5481,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5482,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5483,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5483,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5484,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5488,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5489,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5490,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5491,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5491,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5492,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5496,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5497,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5497,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5498,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5503,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5504,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5505,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5505,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5506,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5510,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5511,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5511,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5512,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5517,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5518,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5519,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5519,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5520,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5524,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5525,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5526,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5526,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5527,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5528,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5534,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5535,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5536,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5537,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5537,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5538,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5545,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5544
        line_start: 5544
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5549
      start: 5444
    functionDepth: 1
    functionLinenumber: 5444
    functionLinenumberEnd: 5549
    functionName: roaring::internal::container_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_bitset_container_lazy_union
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_or(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5565,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5566,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5568,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5569,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5570,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5570,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5571,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5572,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5574,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5575,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5583,1
    - Dst: roaring::internal::array_array_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5584,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5585,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5585,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5594,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5596,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5596,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5599,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5600,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5600,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5601,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5602,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5606,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5608,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5610,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5610,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5611,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5612,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5615,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5616,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5616,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5617,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5622,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5622,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5623,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5624,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5628,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5629,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5629,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5633,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5634,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5634,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5635,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5636,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5640,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5641,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5642,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5642,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5643,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5644,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5645,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5646,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5649,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5650,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5650,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5651,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5652,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5652,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5657,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 64
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5656
        line_start: 5656
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5661
      start: 5560
    functionDepth: 1
    functionLinenumber: 5560
    functionLinenumberEnd: 5661
    functionName: roaring::internal::container_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_container_is_full
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - bitset_container_or
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::array_array_container_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ior(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5680,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5682,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5684,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5685,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5688,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5688,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5689,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5690,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5692,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5693,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5698,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5698,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5699,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5700,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5706,1
    - Dst: roaring::internal::array_array_container_lazy_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5707,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5708,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5709,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5718,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5719,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5719,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5720,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5722,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5722,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5725,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5726,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5727,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5727,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5728,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5732,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5734,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5736,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5737,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5737,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5738,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5741,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5742,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5742,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5743,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5745,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5745,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5746,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5749,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5750,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5750,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5751,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5755,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5756,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5756,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5760,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5761,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5762,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5762,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5763,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5767,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5768,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5769,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5769,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5770,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5771,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5778,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5779,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5779,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5780,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5788,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5787
        line_start: 5787
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5679
        line_start: 5679
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5792
      start: 5675
    functionDepth: 1
    functionLinenumber: 5675
    functionLinenumberEnd: 5792
    functionName: roaring::internal::container_lazy_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - roaring::internal::run_bitset_container_lazy_union
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ior(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5804,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5805,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5807,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5808,1
    - Dst: roaring::internal::bitset_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5809,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5810,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5811,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5816,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5817,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5818,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5819,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5824,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5827,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5830,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5831,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5832,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5833,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5838,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5839,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5840,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5841,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5846,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5847,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5848,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5849,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5854,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5855,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5856,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5857,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5862,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5864,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5864,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5865,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5868,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5870,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5870,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5871,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5875,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5874
        line_start: 5874
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5879
      start: 5799
    functionDepth: 1
    functionLinenumber: 5799
    functionLinenumberEnd: 5879
    functionName: roaring::internal::container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_xor
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_bitset_container_xor
    - const_CAST_run
    - assert
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::array_array_container_xor
    - roaring::internal::array_bitset_container_xor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t * container_xor(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5895,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5896,1
    - Dst: roaring::internal::container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5896,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5897,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5898,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5899,1
    - Dst: roaring::internal::bitset_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5903,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5903,1
    - Dst: roaring::internal::array_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5906,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5906,1
    - Dst: roaring::internal::run_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5909,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5909,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5912,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5913,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - c
    - type
    - lo
    - hi
    - offset
    argTypes:
    - container_t*
    - uint8_t
    - container_t**
    - container_t**
    - uint16_t
    assertStmts:
    - condition: (offset != 0)
      pos:
        line_end: 5894
        line_start: 5894
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (lo == NULL || *lo == NULL)
      pos:
        line_end: 5897
        line_start: 5897
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (container_nonzero_cardinality(c, type))
      pos:
        line_end: 5895
        line_start: 5895
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (lo != NULL || hi != NULL)
      pos:
        line_end: 5896
        line_start: 5896
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (hi == NULL || *hi == NULL)
      pos:
        line_end: 5898
        line_start: 5898
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 5911
        line_start: 5911
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5916
      start: 5892
    functionDepth: 1
    functionLinenumber: 5892
    functionLinenumberEnd: 5916
    functionName: roaring::internal::container_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_offset
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_container_offset
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_offset
    - roaring::internal::container_nonzero_cardinality
    linkageType: ''
    returnType: void
    signature: "void container_add_offset(const container_t *c, uint8_t type,\n                                        container_t
      **lo, container_t **hi,\n                                        uint16_t offset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5931,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5932,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5934,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5935,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5936,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5937,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5938,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5938,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5939,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5943,1
    - Dst: roaring::internal::array_array_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5944,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5945,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5946,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5951,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5955,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5958,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5959,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5961,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5961,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5962,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5963,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5966,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5967,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5969,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5969,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5970,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5971,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5974,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5975,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5976,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5976,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5977,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5978,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5982,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5983,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5984,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5985,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5986,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5990,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5991,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5992,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5992,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5993,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5994,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6000,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6001,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6002,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6002,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6003,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6004,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6011,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6010
        line_start: 6010
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6015
      start: 5926
    functionDepth: 1
    functionLinenumber: 5926
    functionLinenumberEnd: 6015
    functionName: roaring::internal::container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - bitset_container_xor_nocard
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_lazy_xor
    - const_CAST_bitset
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::run_bitset_container_lazy_xor
    - roaring::internal::run_container_create
    - roaring::internal::array_bitset_container_lazy_xor
    - CAST_run
    - CONTAINER_PAIR
    - roaring::internal::bitset_container_create
    - roaring::internal::array_array_container_lazy_xor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_xor(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6031,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6032,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6034,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6035,1
    - Dst: roaring::internal::bitset_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6036,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6037,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6037,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6042,1
    - Dst: roaring::internal::array_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6043,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6044,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6044,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6049,1
    - Dst: roaring::internal::run_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6050,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6051,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6051,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6054,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6055,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6056,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6056,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6061,1
    - Dst: roaring::internal::array_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6062,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6063,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6063,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6068,1
    - Dst: roaring::internal::bitset_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6070,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6071,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6071,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6077,1
    - Dst: roaring::internal::run_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6078,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6079,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6079,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6084,1
    - Dst: roaring::internal::array_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6085,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6086,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6086,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6089,1
    - Dst: roaring::internal::run_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6090,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6091,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6091,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6095,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6094
        line_start: 6094
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6099
      start: 6026
    functionDepth: 1
    functionLinenumber: 6026
    functionLinenumberEnd: 6099
    functionName: roaring::internal::container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_run_container_ixor
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_array_container_ixor
    - roaring::internal::array_bitset_container_ixor
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_run_container_ixor
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::array_array_container_ixor
    - CAST_array
    - assert
    - roaring::internal::array_run_container_ixor
    - roaring::internal::run_bitset_container_ixor
    - roaring::internal::bitset_bitset_container_ixor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ixor(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6118,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6120,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6121,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6122,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6123,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6123,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6124,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6125,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6135,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6137,1
    - Dst: roaring::internal::container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 6117
        line_start: 6117
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6142
      start: 6113
    functionDepth: 0
    functionLinenumber: 6113
    functionLinenumberEnd: 6142
    functionName: roaring::internal::container_lazy_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - bitset_container_xor_nocard
    - roaring::internal::bitset_container_compute_cardinality
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - assert
    - CAST_bitset
    - roaring::internal::container_ixor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ixor(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6154,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6155,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6157,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6158,1
    - Dst: roaring::internal::bitset_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6159,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6160,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6161,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6166,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6167,1
    - Dst: roaring::internal::array_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6168,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6168,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6169,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6170,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6174,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6175,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6175,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6176,1
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6181,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6181,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6182,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6185,1
    - Dst: roaring::internal::bitset_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6186,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6187,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6188,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6193,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6194,1
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6195,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6195,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6196,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6197,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6201,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6202,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6202,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6203,1
    - Dst: roaring::internal::bitset_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6208,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6214,1
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6215,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6216,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6217,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6222,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6223,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6223,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6224,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6228,1
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6229,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6229,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6230,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6231,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6235,1
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6236,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6237,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6237,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6242,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6241
        line_start: 6241
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6246
      start: 6149
    functionDepth: 1
    functionLinenumber: 6149
    functionLinenumberEnd: 6246
    functionName: roaring::internal::container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_array_container_andnot
    - const_CAST_run
    - roaring::internal::run_run_container_andnot
    - roaring::internal::array_run_container_andnot
    - CONTAINER_PAIR
    - roaring::internal::bitset_array_container_andnot
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - const_CAST_array
    - roaring::internal::bitset_bitset_container_andnot
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_andnot
    - roaring::internal::array_array_container_andnot
    - roaring::internal::run_bitset_container_andnot
    - CAST_array
    - assert
    - roaring::internal::array_bitset_container_andnot
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_andnot(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6263,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6264,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6266,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6267,1
    - Dst: roaring::internal::bitset_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6268,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6269,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6270,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6275,1
    - Dst: roaring::internal::array_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6276,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6276,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6277,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6281,1
    - Dst: roaring::internal::run_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6282,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6283,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6283,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6286,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6287,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6288,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6289,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6294,1
    - Dst: roaring::internal::array_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6296,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6296,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6297,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6300,1
    - Dst: roaring::internal::bitset_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6301,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6302,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6303,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6308,1
    - Dst: roaring::internal::run_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6309,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6310,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6311,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6316,1
    - Dst: roaring::internal::array_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6318,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6318,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6319,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6322,1
    - Dst: roaring::internal::run_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6323,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6324,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6324,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6328,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6327
        line_start: 6327
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6332
      start: 6258
    functionDepth: 1
    functionLinenumber: 6258
    functionLinenumberEnd: 6332
    functionName: roaring::internal::container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_array_container_iandnot
    - roaring::internal::bitset_array_container_iandnot
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_iandnot
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_iandnot
    - CAST_array
    - assert
    - roaring::internal::array_array_container_iandnot
    - roaring::internal::array_run_container_iandnot
    - roaring::internal::bitset_bitset_container_iandnot
    - roaring::internal::run_run_container_iandnot
    - roaring::internal::run_bitset_container_iandnot
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iandnot(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6344,1
    - Dst: roaring::internal::bitset_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6347,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6347,1
    - Dst: roaring::internal::array_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6350,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6350,1
    - Dst: roaring::internal::run_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6353,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6353,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6356,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6357,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6359,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - base
    - iterator
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6355
        line_start: 6355
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6358
        line_start: 6358
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6362
      start: 6339
    functionDepth: 1
    functionLinenumber: 6339
    functionLinenumberEnd: 6362
    functionName: roaring::internal::container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_iterate
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_iterate
    - assert
    - roaring::internal::run_container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate(\n    const container_t *c, uint8_t type,\n
      \   uint32_t base,\n    roaring_iterator iterator, void *ptr\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6370,1
    - Dst: roaring::internal::bitset_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6373,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6373,1
    - Dst: roaring::internal::array_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6376,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6376,1
    - Dst: roaring::internal::run_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6379,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6379,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6382,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6383,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6385,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6381
        line_start: 6381
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6384
        line_start: 6384
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6388
      start: 6364
    functionDepth: 1
    functionLinenumber: 6364
    functionLinenumberEnd: 6388
    functionName: roaring::internal::container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_iterate64
    - const_CAST_run
    - assert
    - roaring::internal::run_container_iterate64
    - roaring::internal::bitset_container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate64(\n    const container_t *c, uint8_t type,\n
      \   uint32_t base,\n    roaring_iterator64 iterator,\n    uint64_t high_bits,
      void *ptr\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6394,1
    - Dst: roaring::internal::bitset_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6398,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6399,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6404,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6406,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6406,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6407,1
    - Dst: roaring::internal::run_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6411,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6411,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6415,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6416,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6418,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6414
        line_start: 6414
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6417
        line_start: 6417
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6421
      start: 6390
    functionDepth: 1
    functionLinenumber: 6390
    functionLinenumberEnd: 6421
    functionName: roaring::internal::container_not
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_negation
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not(\n    const container_t *c, uint8_t type,\n
      \   uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6428,1
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6433,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6434,1
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6440,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6441,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6446,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6447,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6451,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6452,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6454,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6450
        line_start: 6450
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6453
        line_start: 6453
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6457
      start: 6423
    functionDepth: 1
    functionLinenumber: 6423
    functionLinenumberEnd: 6457
    functionName: roaring::internal::container_not_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_negation_range
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_negation_range
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not_range(\n    const container_t *c, uint8_t
      type,\n    uint32_t range_start, uint32_t range_end,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6463,1
    - Dst: roaring::internal::bitset_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6467,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6468,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6474,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6476,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6476,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6477,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6478,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6478,1
    - Dst: roaring::internal::run_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6482,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6482,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6486,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6487,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6489,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6485
        line_start: 6485
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6488
        line_start: 6488
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6492
      start: 6459
    functionDepth: 1
    functionLinenumber: 6459
    functionLinenumberEnd: 6492
    functionName: roaring::internal::container_inot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::run_container_negation_inplace
    - roaring::internal::array_container_free
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation_inplace
    - CAST_run
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot(\n    container_t *c, uint8_t type,\n
      \   uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6499,1
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6504,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6505,1
    - Dst: roaring::internal::array_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6511,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6512,1
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6517,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6518,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6522,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6523,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6525,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6521
        line_start: 6521
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6524
        line_start: 6524
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6528
      start: 6494
    functionDepth: 1
    functionLinenumber: 6494
    functionLinenumberEnd: 6528
    functionName: roaring::internal::container_inot_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::bitset_container_negation_range_inplace
    - roaring::internal::get_writable_copy_if_shared
    - roaring::internal::array_container_negation_range_inplace
    - CAST_bitset
    - assert
    - CAST_run
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot_range(\n    container_t *c, uint8_t type,\n
      \   uint32_t range_start, uint32_t range_end,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6543,1
    - Dst: roaring::internal::bitset_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6546,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6546,1
    - Dst: roaring::internal::array_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6549,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6549,1
    - Dst: roaring::internal::run_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6552,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6552,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6555,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6556,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6558,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - start_rank
    - rank
    - element
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6554
        line_start: 6554
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6557
        line_start: 6557
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6561
      start: 6538
    functionDepth: 1
    functionLinenumber: 6538
    functionLinenumberEnd: 6561
    functionName: roaring::internal::container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_select
    - assert
    - roaring::internal::run_container_select
    - roaring::internal::array_container_select
    linkageType: ''
    returnType: bool
    signature: "bool container_select(\n    const container_t *c, uint8_t type,\n
      \   uint32_t *start_rank, uint32_t rank,\n    uint32_t *element\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6566,1
    - Dst: roaring::internal::bitset_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6569,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6569,1
    - Dst: roaring::internal::array_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6571,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6571,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6573,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6573,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6575,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6576,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6578,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6574
        line_start: 6574
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6577
        line_start: 6577
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6581
      start: 6563
    functionDepth: 1
    functionLinenumber: 6563
    functionLinenumberEnd: 6581
    functionName: roaring::internal::container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_maximum
    - roaring::internal::run_container_maximum
    - roaring::internal::array_container_maximum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t container_maximum(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6586,1
    - Dst: roaring::internal::bitset_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6589,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6589,1
    - Dst: roaring::internal::array_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6591,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6593,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6593,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6595,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6596,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6598,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6594
        line_start: 6594
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6597
        line_start: 6597
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6601
      start: 6583
    functionDepth: 1
    functionLinenumber: 6583
    functionLinenumberEnd: 6601
    functionName: roaring::internal::container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::array_container_minimum
    - assert
    - roaring::internal::run_container_minimum
    - roaring::internal::bitset_container_minimum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t container_minimum(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6608,1
    - Dst: roaring::internal::bitset_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6611,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6611,1
    - Dst: roaring::internal::array_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6613,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6613,1
    - Dst: roaring::internal::run_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6615,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6615,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6617,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6618,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6620,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6616
        line_start: 6616
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6619
        line_start: 6619
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6623
      start: 6604
    functionDepth: 1
    functionLinenumber: 6604
    functionLinenumberEnd: 6623
    functionName: roaring::internal::container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_rank
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_rank
    - roaring::internal::array_container_rank
    linkageType: ''
    returnType: int
    signature: "int container_rank(\n    const container_t *c, uint8_t type,\n    uint16_t
      x\n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6641,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6646,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6649,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6651,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6651,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6654,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6660,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6662,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6663,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6666,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6668,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6668,1
    - Dst: roaring::internal::array_container_add_range_nvals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6671,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6675,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6676,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6682,1
    - Dst: roaring::internal::rle16_count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6684,1
    - Dst: roaring::internal::rle16_count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6685,1
    - Dst: roaring::internal::run_container_add_range_nruns
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6691,1
    - Dst: roaring::internal::container_from_run_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6695,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6701
      start: 6633
    functionDepth: 1
    functionLinenumber: 6633
    functionLinenumberEnd: 6701
    functionName: roaring::internal::container_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_set_lenrange
    - CAST_run
    - CAST_array
    - roaring::internal::run_container_add_range_nruns
    - roaring::internal::run_container_create_range
    - CAST_bitset
    - roaring::internal::rle16_count_less
    - roaring::internal::count_greater
    - roaring::internal::array_container_add_range_nvals
    - roaring::internal::count_less
    - INT32_C
    - roaring::internal::rle16_count_greater
    - roaring::internal::container_from_run_range
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add_range(\n    container_t *c, uint8_t type,\n
      \   uint32_t min, uint32_t max,\n    uint8_t *result_type\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6720,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6723,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6729,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6731,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6734,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6740,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6742,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6743,1
    - Dst: roaring::internal::array_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6750,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6756,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6761,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6761,1
    - Dst: roaring::internal::run_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6765,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6766,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6771
      start: 6713
    functionDepth: 1
    functionLinenumber: 6713
    functionLinenumberEnd: 6771
    functionName: roaring::internal::container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::run_container_remove_range
    - CAST_run
    - CAST_array
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::count_greater
    - roaring::internal::array_container_remove_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::count_less
    - roaring::internal::run_container_minimum
    - roaring::internal::run_container_maximum
    - roaring::internal::bitset_lenrange_cardinality
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove_range(\n    container_t *c, uint8_t
      type,\n    uint32_t min, uint32_t max,\n    uint8_t *result_type\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type1
    - ','
    - type2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4338
      start: 4336
    functionDepth: 0
    functionLinenumber: 4336
    functionLinenumberEnd: 4338
    functionName: PAIR_CONTAINER_TYPES
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAIR_CONTAINER_TYPES(type1,type2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name1
    - ','
    - name2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4341
      start: 4339
    functionDepth: 0
    functionLinenumber: 4339
    functionLinenumberEnd: 4341
    functionName: CONTAINER_PAIR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONTAINER_PAIR(name1,name2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4351
      start: 4347
    functionDepth: 0
    functionLinenumber: 4347
    functionLinenumberEnd: 4351
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(shared_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4356
      start: 4355
    functionDepth: 0
    functionLinenumber: 4355
    functionLinenumberEnd: 4356
    functionName: CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4356
    functionDepth: 0
    functionLinenumber: 4356
    functionLinenumberEnd: 4357
    functionName: const_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4358
      start: 4357
    functionDepth: 0
    functionLinenumber: 4357
    functionLinenumberEnd: 4358
    functionName: movable_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_shared(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4385,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4386,1
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - candidate_shared_container
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4385
        line_start: 4385
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4391
      start: 4381
    functionDepth: 0
    functionLinenumber: 4381
    functionLinenumberEnd: 4391
    functionName: roaring::internal::container_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 96
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_unwrap_shared(\n    const container_t *candidate_shared_container,
      uint8_t *type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4399,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4400,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4399
        line_start: 4399
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4405
      start: 4395
    functionDepth: 0
    functionLinenumber: 4395
    functionLinenumberEnd: 4405
    functionName: roaring::internal::container_mutable_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - CAST_shared
    - assert
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_mutable_unwrap_shared(\n    container_t *c,
      uint8_t *type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4416
      start: 4408
    functionDepth: 0
    functionLinenumber: 4408
    functionLinenumberEnd: 4416
    functionName: roaring::internal::get_container_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_shared
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t get_container_type(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::shared_container_extract_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4430,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4434
      start: 4426
    functionDepth: 0
    functionLinenumber: 4426
    functionLinenumberEnd: 4434
    functionName: roaring::internal::get_writable_copy_if_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 27
    functionsReached:
    - CAST_shared
    - roaring::internal::shared_container_extract_copy
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_writable_copy_if_shared(\n    container_t *c, uint8_t
      *type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4456,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4458,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4458,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4461,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4461,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4464,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4466,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4463
        line_start: 4463
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4465
        line_start: 4465
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4469
      start: 4450
    functionDepth: 1
    functionLinenumber: 4450
    functionLinenumberEnd: 4469
    functionName: roaring::internal::container_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_from_run
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bitset_container_t
    signature: "bitset_container_t *container_to_bitset(\n    container_t *c, uint8_t
      typecode\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4504,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4512,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4513,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4518,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4519,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4511
        line_start: 4511
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4517
        line_start: 4517
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4524
      start: 4493
    functionDepth: 1
    functionLinenumber: 4493
    functionLinenumberEnd: 4524
    functionName: roaring::internal::get_full_container_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: char
    signature: "char *get_full_container_name(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4533,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4536,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4536,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4538,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4538,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4540,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4540,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4542,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4541
        line_start: 4541
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4545
      start: 4530
    functionDepth: 1
    functionLinenumber: 4530
    functionLinenumberEnd: 4545
    functionName: roaring::internal::container_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int container_get_cardinality(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4553,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4556,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4557,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4559,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4560,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4562,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4562,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4564,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4563
        line_start: 4563
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4567
      start: 4552
    functionDepth: 1
    functionLinenumber: 4552
    functionLinenumberEnd: 4567
    functionName: roaring::internal::container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: bool container_is_full(const container_t *c, uint8_t typecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4572,1
    - Dst: roaring::internal::array_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4577,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4577,1
    - Dst: roaring::internal::run_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4579,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4579,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4581,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4580
        line_start: 4580
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4584
      start: 4569
    functionDepth: 1
    functionLinenumber: 4569
    functionLinenumberEnd: 4584
    functionName: roaring::internal::container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::array_container_shrink_to_fit
    - assert
    - roaring::internal::container_mutable_unwrap_shared
    - CAST_run
    - roaring::internal::run_container_shrink_to_fit
    linkageType: ''
    returnType: int
    signature: "int container_shrink_to_fit(\n    container_t *c, uint8_t type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4597,1
    - Dst: roaring::internal::array_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4601,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - range_start
    - range_end
    - result_type
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (range_end >= range_start)
      pos:
        line_end: 4596
        line_start: 4596
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4606
      start: 4593
    functionDepth: 0
    functionLinenumber: 4593
    functionLinenumberEnd: 4606
    functionName: roaring::internal::container_range_of_ones
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - assert
    - roaring::internal::array_container_create_range
    - roaring::internal::run_container_create_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_range_of_ones(\n    uint32_t range_start, uint32_t
      range_end,\n    uint8_t *result_type\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4617,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4625,1
    - Dst: roaring::internal::array_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4626,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4627,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4631,1
    - Dst: roaring::internal::bitset_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4632,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - type
    - min
    - max
    - step
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts:
    - condition: (array->cardinality == size)
      pos:
        line_end: 4626
        line_start: 4626
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (bitset->cardinality == size)
      pos:
        line_end: 4632
        line_start: 4632
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4636
      start: 4611
    functionDepth: 0
    functionLinenumber: 4611
    functionLinenumberEnd: 4636
    functionName: roaring::internal::container_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_range_of_ones
    - assert
    - roaring::internal::array_container_add_from_range
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_add_from_range
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_range(\n    uint8_t *type, uint32_t min,\n
      \   uint32_t max, uint16_t step\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4644,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4648,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4649,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4651,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4652,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4660,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4661,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4663,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4665,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4662
        line_start: 4662
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 4664
        line_start: 4664
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4668
      start: 4641
    functionDepth: 1
    functionLinenumber: 4641
    functionLinenumberEnd: 4668
    functionName: roaring::internal::container_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_repair_after_lazy(\n    container_t *c, uint8_t
      *type\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4682,1
    - Dst: roaring::internal::bitset_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4685,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4685,1
    - Dst: roaring::internal::array_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4687,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4687,1
    - Dst: roaring::internal::run_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4689,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4689,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4691,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - typecode
    - buf
    argTypes:
    - container_t*
    - uint8_t
    - char*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4690
        line_start: 4690
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4694
      start: 4678
    functionDepth: 1
    functionLinenumber: 4678
    functionLinenumberEnd: 4694
    functionName: roaring::internal::container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_write
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_write
    - roaring::internal::bitset_container_write
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_write(\n    const container_t *c, uint8_t typecode,\n
      \   char *buf\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4704,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4707,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4707,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4709,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4709,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4711,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4711,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4713,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4712
        line_start: 4712
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4716
      start: 4701
    functionDepth: 1
    functionLinenumber: 4701
    functionLinenumberEnd: 4716
    functionName: roaring::internal::container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::run_container_size_in_bytes
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_size_in_bytes
    - roaring::internal::bitset_container_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_size_in_bytes(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4738,1
    - Dst: roaring::internal::bitset_container_const_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4741,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4742,1
    - Dst: roaring::internal::array_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4744,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4744,1
    - Dst: roaring::internal::run_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4746,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4746,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4748,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4747
        line_start: 4747
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4751
      start: 4735
    functionDepth: 1
    functionLinenumber: 4735
    functionLinenumberEnd: 4751
    functionName: roaring::internal::container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_const_nonzero_cardinality
    - roaring::internal::array_container_nonzero_cardinality
    - roaring::internal::run_container_nonzero_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool container_nonzero_cardinality(\n    const container_t *c, uint8_t
      typecode\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4768,1
    - Dst: roaring::internal::bitset_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4771,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4772,1
    - Dst: roaring::internal::array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4774,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4775,1
    - Dst: roaring::internal::run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4777,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4778,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4780,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - output
    - c
    - typecode
    - base
    argTypes:
    - uint32_t*
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4779
        line_start: 4779
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4783
      start: 4763
    functionDepth: 1
    functionLinenumber: 4763
    functionLinenumberEnd: 4783
    functionName: roaring::internal::container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_to_uint32_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_to_uint32_array
    - assert
    - roaring::internal::run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int container_to_uint32_array(\n    uint32_t *output,\n    const container_t
      *c, uint8_t typecode,\n    uint32_t base\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4796,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4799,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4799,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4803,1
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4804,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4808,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4809,1
    - Dst: roaring::internal::run_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4816,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4816,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4820,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4819
        line_start: 4819
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4824
      start: 4791
    functionDepth: 1
    functionLinenumber: 4791
    functionLinenumberEnd: 4824
    functionName: roaring::internal::container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_container_add
    - CAST_array
    - roaring::internal::run_container_add
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::array_container_try_add
    - roaring::internal::bitset_container_set
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add(\n    container_t *c, uint16_t val,\n    uint8_t
      typecode,  // !!! should be second argument?\n    uint8_t *new_typecode\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4838,1
    - Dst: roaring::internal::bitset_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4841,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4841,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4842,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4842,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4845,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4845,1
    - Dst: roaring::internal::array_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4852,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4852,1
    - Dst: roaring::internal::run_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4856,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4856,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4860,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4859
        line_start: 4859
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4864
      start: 4833
    functionDepth: 1
    functionLinenumber: 4833
    functionLinenumberEnd: 4864
    functionName: roaring::internal::container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_remove
    - roaring::internal::bitset_container_remove
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::array_container_remove
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove(\n    container_t *c, uint16_t val,\n
      \   uint8_t typecode,  // !!! should be second argument?\n    uint8_t *new_typecode\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4874,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4877,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4877,1
    - Dst: roaring::internal::array_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4879,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4879,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4881,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4881,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4883,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - c
    - val
    - typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4882
        line_start: 4882
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4887
      start: 4869
    functionDepth: 1
    functionLinenumber: 4869
    functionLinenumberEnd: 4887
    functionName: roaring::internal::container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::bitset_container_get
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains
    - roaring::internal::array_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool container_contains(\n    const container_t *c,\n    uint16_t
      val,\n    uint8_t typecode  // !!! should be second argument?\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4898,1
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4901,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4901,1
    - Dst: roaring::internal::array_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4904,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4904,1
    - Dst: roaring::internal::run_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4907,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4907,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4910,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - c
    - range_start
    - range_end
    - typecode
    argTypes:
    - container_t*
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4909
        line_start: 4909
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4914
      start: 4893
    functionDepth: 1
    functionLinenumber: 4893
    functionLinenumberEnd: 4914
    functionName: roaring::internal::container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::bitset_container_get_range
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_contains_range
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool container_contains_range(\n    const container_t *c,\n    uint32_t
      range_start, uint32_t range_end,\n    uint8_t typecode  // !!! should be second
      argument?\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4924,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4925,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4926,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4927,1
    - Dst: roaring::internal::bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4929,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4931,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4932,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4932,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4933,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4935,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4936,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4936,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4937,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4939,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4941,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4941,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4942,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4944,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4946,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4946,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4947,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4949,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4950,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4950,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4951,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4953,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4954,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4955,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4957,1
    - Dst: roaring::internal::array_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4958,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4958,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4959,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4961,1
    - Dst: roaring::internal::run_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4962,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4962,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4963,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4966,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4965
        line_start: 4965
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 4970
      start: 4920
    functionDepth: 1
    functionLinenumber: 4920
    functionLinenumberEnd: 4970
    functionName: roaring::internal::container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_equals
    - roaring::internal::run_container_equals
    - roaring::internal::run_container_equals_bitset
    - roaring::internal::run_container_equals_array
    - roaring::internal::array_container_equals
    - CONTAINER_PAIR
    - roaring::internal::array_container_equal_bitset
    linkageType: ''
    returnType: bool
    signature: "bool container_equals(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4980,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4981,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4982,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4983,1
    - Dst: roaring::internal::bitset_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4985,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4987,1
    - Dst: roaring::internal::bitset_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4988,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4988,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4989,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4991,1
    - Dst: roaring::internal::run_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4992,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4992,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4993,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4995,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4998,1
    - Dst: roaring::internal::array_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4999,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:4999,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5000,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5002,1
    - Dst: roaring::internal::array_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5003,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5003,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5004,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5006,1
    - Dst: roaring::internal::run_container_is_subset_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5007,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5007,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5008,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5010,1
    - Dst: roaring::internal::array_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5012,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5014,1
    - Dst: roaring::internal::run_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5015,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5015,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5016,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5019,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5018
        line_start: 5018
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5023
      start: 4976
    functionDepth: 1
    functionLinenumber: 4976
    functionLinenumberEnd: 5023
    functionName: roaring::internal::container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_container_is_subset_bitset
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_is_subset_bitset
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_is_subset_array
    - assert
    - roaring::internal::array_container_is_subset
    - roaring::internal::bitset_container_is_subset_run
    - roaring::internal::array_container_is_subset_run
    - CONTAINER_PAIR
    - roaring::internal::run_container_is_subset
    - roaring::internal::bitset_container_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool container_is_subset(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5037,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5038,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5040,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5041,1
    - Dst: roaring::internal::bitset_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5042,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5043,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5044,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5049,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5050,1
    - Dst: roaring::internal::array_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5051,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5051,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5052,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5053,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5057,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5058,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5059,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5059,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5060,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5061,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5062,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5063,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5065,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5066,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5067,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5067,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5068,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5069,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5073,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5074,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5076,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5076,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5077,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5078,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5081,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5082,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5083,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5084,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5089,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5090,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5091,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5092,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5097,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5098,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5100,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5100,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5101,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5102,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5105,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5106,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5108,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5108,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5109,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5110,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5114,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5113
        line_start: 5113
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5118
      start: 5032
    functionDepth: 1
    functionLinenumber: 5032
    functionLinenumberEnd: 5118
    functionName: roaring::internal::container_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - const_CAST_run
    - roaring::internal::bitset_bitset_container_intersection
    - roaring::internal::array_container_intersection
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_and(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5127,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5128,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5129,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5130,1
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5131,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5132,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5132,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5134,1
    - Dst: roaring::internal::array_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5135,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5136,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5136,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5138,1
    - Dst: roaring::internal::run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5139,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5140,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5140,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5142,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5143,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5144,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5144,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5146,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5147,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5148,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5148,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5150,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5151,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5152,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5152,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5154,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5155,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5156,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5156,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5158,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5159,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5160,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5160,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5162,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5163,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5164,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5164,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5167,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5166
        line_start: 5166
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5171
      start: 5123
    functionDepth: 1
    functionLinenumber: 5123
    functionLinenumberEnd: 5171
    functionName: roaring::internal::container_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection_cardinality
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_container_intersection_cardinality
    - bitset_container_and_justcard
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_bitset_container_intersection_cardinality
    - assert
    - roaring::internal::array_bitset_container_intersection_cardinality
    - roaring::internal::array_run_container_intersection_cardinality
    - CONTAINER_PAIR
    linkageType: ''
    returnType: int
    signature: "int container_and_cardinality(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5180,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5181,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5182,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5183,1
    - Dst: roaring::internal::bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5184,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5184,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5185,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5187,1
    - Dst: roaring::internal::array_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5188,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5188,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5189,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5191,1
    - Dst: roaring::internal::run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5192,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5192,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5193,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5195,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5196,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5196,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5197,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5199,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5200,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5200,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5201,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5203,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5204,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5204,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5205,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5207,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5208,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5208,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5211,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5212,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5212,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5213,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5215,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5216,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5216,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5217,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5220,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5219
        line_start: 5219
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5224
      start: 5176
    functionDepth: 1
    functionLinenumber: 5176
    functionLinenumberEnd: 5224
    functionName: roaring::internal::container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersect
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_intersect
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_intersect
    - roaring::internal::run_bitset_container_intersect
    - roaring::internal::array_container_intersect
    - roaring::internal::array_run_container_intersect
    - CONTAINER_PAIR
    linkageType: ''
    returnType: bool
    signature: "bool container_intersect(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5240,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5241,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5243,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5244,1
    - Dst: roaring::internal::bitset_bitset_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5246,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5247,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5247,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5252,1
    - Dst: roaring::internal::array_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5253,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5253,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5254,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5258,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5259,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5260,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5260,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5261,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5262,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5265,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5266,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5268,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5270,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5271,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5271,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5272,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5273,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5277,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5279,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5280,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5280,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5281,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5284,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5286,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5287,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5288,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5293,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5294,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5295,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5296,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5301,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5302,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5304,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5304,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5305,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5306,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5309,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5310,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5312,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5312,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5313,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5314,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5318,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5317
        line_start: 5317
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5322
      start: 5235
    functionDepth: 1
    functionLinenumber: 5235
    functionLinenumberEnd: 5322
    functionName: roaring::internal::container_iand
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_bitset_container_intersection_inplace
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - roaring::internal::array_container_intersection_inplace
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iand(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5334,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5335,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5337,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5338,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5339,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5340,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5340,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5341,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5342,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5346,1
    - Dst: roaring::internal::array_array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5347,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5348,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5349,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5354,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5355,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5357,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5358,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5361,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5362,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5365,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5366,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5367,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5367,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5368,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5369,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5373,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5374,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5375,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5375,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5376,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5377,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5381,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5382,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5382,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5383,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5385,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5385,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5386,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5389,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5390,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5390,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5391,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5392,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5396,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5397,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5397,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5398,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5400,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5400,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5401,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5404,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5405,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5405,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5406,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5407,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5411,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5412,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5413,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5413,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5414,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5415,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5416,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5417,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5420,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5421,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5422,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5422,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5423,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5424,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5425,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5426,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5430,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5429
        line_start: 5429
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5434
      start: 5329
    functionDepth: 1
    functionLinenumber: 5329
    functionLinenumberEnd: 5434
    functionName: roaring::internal::container_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::array_array_container_union
    - const_CAST_run
    - CAST_bitset
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_or(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5449,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5450,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5452,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5453,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5454,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5455,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5456,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5456,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5457,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5461,1
    - Dst: roaring::internal::array_array_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5462,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5463,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5464,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5469,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5470,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5471,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5471,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5472,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5473,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5476,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5477,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5480,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5481,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5482,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5483,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5483,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5484,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5488,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5489,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5490,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5491,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5491,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5492,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5496,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5497,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5497,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5498,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5500,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5503,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5504,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5505,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5505,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5506,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5510,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5511,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5511,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5512,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5514,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5517,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5518,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5519,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5519,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5520,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5524,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5525,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5526,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5526,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5527,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5528,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5534,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5535,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5536,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5537,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5537,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5538,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5545,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5544
        line_start: 5544
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5549
      start: 5444
    functionDepth: 1
    functionLinenumber: 5444
    functionLinenumberEnd: 5549
    functionName: roaring::internal::container_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_bitset_container_lazy_union
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_or(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5565,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5566,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5568,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5569,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5570,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5570,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5571,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5572,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5574,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5575,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5583,1
    - Dst: roaring::internal::array_array_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5584,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5585,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5585,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5594,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5595,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5596,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5596,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5599,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5600,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5600,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5601,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5602,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5606,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5608,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5610,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5610,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5611,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5612,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5615,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5616,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5616,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5617,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5619,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5622,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5622,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5623,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5624,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5628,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5629,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5629,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5633,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5634,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5634,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5635,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5636,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5640,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5641,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5642,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5642,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5643,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5644,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5645,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5646,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5649,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5650,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5650,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5651,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5652,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5652,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5657,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 64
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5656
        line_start: 5656
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5661
      start: 5560
    functionDepth: 1
    functionLinenumber: 5560
    functionLinenumberEnd: 5661
    functionName: roaring::internal::container_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_container_is_full
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - bitset_container_or
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::array_array_container_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ior(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5680,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5682,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5684,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5685,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5688,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5688,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5689,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5690,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5692,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5693,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5698,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5698,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5699,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5700,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5706,1
    - Dst: roaring::internal::array_array_container_lazy_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5707,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5708,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5709,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5718,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5719,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5719,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5720,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5722,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5722,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5725,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5726,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5727,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5727,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5728,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5732,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5734,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5736,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5737,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5737,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5738,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5741,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5742,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5742,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5743,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5745,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5745,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5746,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5749,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5750,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5750,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5751,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5755,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5756,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5756,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5760,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5761,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5762,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5762,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5763,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5767,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5768,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5769,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5769,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5770,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5771,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5778,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5779,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5779,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5780,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5788,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5787
        line_start: 5787
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5679
        line_start: 5679
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5792
      start: 5675
    functionDepth: 1
    functionLinenumber: 5675
    functionLinenumberEnd: 5792
    functionName: roaring::internal::container_lazy_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - roaring::internal::run_bitset_container_lazy_union
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - __builtin_unreachable
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ior(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5804,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5805,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5807,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5808,1
    - Dst: roaring::internal::bitset_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5809,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5810,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5811,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5816,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5817,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5818,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5819,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5824,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5827,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5830,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5831,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5832,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5833,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5838,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5839,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5840,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5841,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5846,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5847,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5848,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5849,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5854,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5855,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5856,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5857,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5862,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5864,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5864,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5865,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5868,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5870,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5870,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5871,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5875,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5874
        line_start: 5874
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5879
      start: 5799
    functionDepth: 1
    functionLinenumber: 5799
    functionLinenumberEnd: 5879
    functionName: roaring::internal::container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_xor
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_bitset_container_xor
    - const_CAST_run
    - assert
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::array_array_container_xor
    - roaring::internal::array_bitset_container_xor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t * container_xor(\n    const container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5895,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5896,1
    - Dst: roaring::internal::container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5896,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5897,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5898,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5899,1
    - Dst: roaring::internal::bitset_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5903,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5903,1
    - Dst: roaring::internal::array_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5906,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5906,1
    - Dst: roaring::internal::run_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5909,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5909,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5912,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5913,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - c
    - type
    - lo
    - hi
    - offset
    argTypes:
    - container_t*
    - uint8_t
    - container_t**
    - container_t**
    - uint16_t
    assertStmts:
    - condition: (offset != 0)
      pos:
        line_end: 5894
        line_start: 5894
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (lo == NULL || *lo == NULL)
      pos:
        line_end: 5897
        line_start: 5897
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (container_nonzero_cardinality(c, type))
      pos:
        line_end: 5895
        line_start: 5895
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (lo != NULL || hi != NULL)
      pos:
        line_end: 5896
        line_start: 5896
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (hi == NULL || *hi == NULL)
      pos:
        line_end: 5898
        line_start: 5898
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 5911
        line_start: 5911
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 5916
      start: 5892
    functionDepth: 1
    functionLinenumber: 5892
    functionLinenumberEnd: 5916
    functionName: roaring::internal::container_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_offset
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::array_container_offset
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_offset
    - roaring::internal::container_nonzero_cardinality
    linkageType: ''
    returnType: void
    signature: "void container_add_offset(const container_t *c, uint8_t type,\n                                        container_t
      **lo, container_t **hi,\n                                        uint16_t offset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5931,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5932,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5934,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5935,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5936,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5937,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5938,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5938,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5939,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5943,1
    - Dst: roaring::internal::array_array_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5944,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5945,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5946,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5951,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5954,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5955,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5958,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5959,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5961,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5961,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5962,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5963,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5966,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5967,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5969,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5969,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5970,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5971,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5974,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5975,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5976,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5976,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5977,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5978,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5982,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5983,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5984,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5984,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5985,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5986,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5990,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5991,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5992,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5992,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5993,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:5994,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6000,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6001,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6002,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6002,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6003,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6004,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6011,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6010
        line_start: 6010
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6015
      start: 5926
    functionDepth: 1
    functionLinenumber: 5926
    functionLinenumberEnd: 6015
    functionName: roaring::internal::container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - bitset_container_xor_nocard
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_lazy_xor
    - const_CAST_bitset
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::run_bitset_container_lazy_xor
    - roaring::internal::run_container_create
    - roaring::internal::array_bitset_container_lazy_xor
    - CAST_run
    - CONTAINER_PAIR
    - roaring::internal::bitset_container_create
    - roaring::internal::array_array_container_lazy_xor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_xor(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6031,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6032,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6034,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6035,1
    - Dst: roaring::internal::bitset_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6036,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6037,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6037,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6042,1
    - Dst: roaring::internal::array_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6043,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6044,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6044,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6049,1
    - Dst: roaring::internal::run_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6050,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6051,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6051,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6054,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6055,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6056,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6056,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6061,1
    - Dst: roaring::internal::array_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6062,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6063,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6063,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6068,1
    - Dst: roaring::internal::bitset_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6070,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6071,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6071,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6077,1
    - Dst: roaring::internal::run_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6078,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6079,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6079,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6084,1
    - Dst: roaring::internal::array_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6085,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6086,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6086,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6089,1
    - Dst: roaring::internal::run_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6090,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6091,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6091,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6095,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6094
        line_start: 6094
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6099
      start: 6026
    functionDepth: 1
    functionLinenumber: 6026
    functionLinenumberEnd: 6099
    functionName: roaring::internal::container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_run_container_ixor
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_array_container_ixor
    - roaring::internal::array_bitset_container_ixor
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::run_run_container_ixor
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::array_array_container_ixor
    - CAST_array
    - assert
    - roaring::internal::array_run_container_ixor
    - roaring::internal::run_bitset_container_ixor
    - roaring::internal::bitset_bitset_container_ixor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ixor(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6118,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6120,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6121,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6122,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6123,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6123,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6124,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6125,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6135,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6137,1
    - Dst: roaring::internal::container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 6117
        line_start: 6117
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6142
      start: 6113
    functionDepth: 0
    functionLinenumber: 6113
    functionLinenumberEnd: 6142
    functionName: roaring::internal::container_lazy_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - bitset_container_xor_nocard
    - roaring::internal::bitset_container_compute_cardinality
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - assert
    - CAST_bitset
    - roaring::internal::container_ixor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ixor(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6154,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6155,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6157,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6158,1
    - Dst: roaring::internal::bitset_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6159,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6160,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6161,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6166,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6167,1
    - Dst: roaring::internal::array_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6168,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6168,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6169,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6170,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6174,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6175,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6175,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6176,1
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6181,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6181,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6182,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6185,1
    - Dst: roaring::internal::bitset_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6186,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6187,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6188,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6193,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6194,1
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6195,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6195,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6196,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6197,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6201,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6202,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6202,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6203,1
    - Dst: roaring::internal::bitset_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6208,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6214,1
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6215,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6216,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6217,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6222,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6223,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6223,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6224,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6228,1
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6229,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6229,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6230,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6231,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6235,1
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6236,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6237,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6237,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6242,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6241
        line_start: 6241
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6246
      start: 6149
    functionDepth: 1
    functionLinenumber: 6149
    functionLinenumberEnd: 6246
    functionName: roaring::internal::container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_array_container_andnot
    - const_CAST_run
    - roaring::internal::run_run_container_andnot
    - roaring::internal::array_run_container_andnot
    - CONTAINER_PAIR
    - roaring::internal::bitset_array_container_andnot
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - const_CAST_array
    - roaring::internal::bitset_bitset_container_andnot
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_andnot
    - roaring::internal::array_array_container_andnot
    - roaring::internal::run_bitset_container_andnot
    - CAST_array
    - assert
    - roaring::internal::array_bitset_container_andnot
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_andnot(\n    const container_t *c1, uint8_t
      type1,\n    const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6263,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6264,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6266,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6267,1
    - Dst: roaring::internal::bitset_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6268,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6269,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6270,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6275,1
    - Dst: roaring::internal::array_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6276,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6276,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6277,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6281,1
    - Dst: roaring::internal::run_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6282,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6283,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6283,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6286,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6287,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6288,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6289,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6294,1
    - Dst: roaring::internal::array_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6296,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6296,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6297,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6300,1
    - Dst: roaring::internal::bitset_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6301,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6302,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6303,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6308,1
    - Dst: roaring::internal::run_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6309,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6310,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6311,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6316,1
    - Dst: roaring::internal::array_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6318,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6318,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6319,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6322,1
    - Dst: roaring::internal::run_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6323,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6324,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6324,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6328,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6327
        line_start: 6327
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6332
      start: 6258
    functionDepth: 1
    functionLinenumber: 6258
    functionLinenumberEnd: 6332
    functionName: roaring::internal::container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_array_container_iandnot
    - roaring::internal::bitset_array_container_iandnot
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_iandnot
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_iandnot
    - CAST_array
    - assert
    - roaring::internal::array_array_container_iandnot
    - roaring::internal::array_run_container_iandnot
    - roaring::internal::bitset_bitset_container_iandnot
    - roaring::internal::run_run_container_iandnot
    - roaring::internal::run_bitset_container_iandnot
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iandnot(\n    container_t *c1, uint8_t type1,\n
      \   const container_t *c2, uint8_t type2,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6344,1
    - Dst: roaring::internal::bitset_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6347,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6347,1
    - Dst: roaring::internal::array_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6350,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6350,1
    - Dst: roaring::internal::run_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6353,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6353,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6356,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6357,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6359,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - base
    - iterator
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6355
        line_start: 6355
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6358
        line_start: 6358
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6362
      start: 6339
    functionDepth: 1
    functionLinenumber: 6339
    functionLinenumberEnd: 6362
    functionName: roaring::internal::container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_iterate
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_iterate
    - assert
    - roaring::internal::run_container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate(\n    const container_t *c, uint8_t type,\n
      \   uint32_t base,\n    roaring_iterator iterator, void *ptr\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6370,1
    - Dst: roaring::internal::bitset_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6373,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6373,1
    - Dst: roaring::internal::array_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6376,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6376,1
    - Dst: roaring::internal::run_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6379,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6379,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6382,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6383,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6385,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6381
        line_start: 6381
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6384
        line_start: 6384
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6388
      start: 6364
    functionDepth: 1
    functionLinenumber: 6364
    functionLinenumberEnd: 6388
    functionName: roaring::internal::container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_iterate64
    - const_CAST_run
    - assert
    - roaring::internal::run_container_iterate64
    - roaring::internal::bitset_container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate64(\n    const container_t *c, uint8_t type,\n
      \   uint32_t base,\n    roaring_iterator64 iterator,\n    uint64_t high_bits,
      void *ptr\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6394,1
    - Dst: roaring::internal::bitset_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6398,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6399,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6404,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6406,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6406,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6407,1
    - Dst: roaring::internal::run_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6411,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6411,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6415,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6416,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6418,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6414
        line_start: 6414
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6417
        line_start: 6417
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6421
      start: 6390
    functionDepth: 1
    functionLinenumber: 6390
    functionLinenumberEnd: 6421
    functionName: roaring::internal::container_not
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_negation
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not(\n    const container_t *c, uint8_t type,\n
      \   uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6428,1
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6433,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6434,1
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6440,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6441,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6446,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6447,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6451,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6452,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6454,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6450
        line_start: 6450
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6453
        line_start: 6453
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6457
      start: 6423
    functionDepth: 1
    functionLinenumber: 6423
    functionLinenumberEnd: 6457
    functionName: roaring::internal::container_not_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::internal::array_container_negation_range
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_negation_range
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not_range(\n    const container_t *c, uint8_t
      type,\n    uint32_t range_start, uint32_t range_end,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6463,1
    - Dst: roaring::internal::bitset_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6467,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6468,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6474,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6476,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6476,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6477,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6478,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6478,1
    - Dst: roaring::internal::run_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6482,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6482,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6486,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6487,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6489,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6485
        line_start: 6485
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6488
        line_start: 6488
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6492
      start: 6459
    functionDepth: 1
    functionLinenumber: 6459
    functionLinenumberEnd: 6492
    functionName: roaring::internal::container_inot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::run_container_negation_inplace
    - roaring::internal::array_container_free
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation_inplace
    - CAST_run
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot(\n    container_t *c, uint8_t type,\n
      \   uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6499,1
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6504,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6505,1
    - Dst: roaring::internal::array_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6511,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6512,1
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6517,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6518,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6522,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6523,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6525,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6521
        line_start: 6521
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6524
        line_start: 6524
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6528
      start: 6494
    functionDepth: 1
    functionLinenumber: 6494
    functionLinenumberEnd: 6528
    functionName: roaring::internal::container_inot_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    - __builtin_unreachable
    - CAST_array
    - roaring::internal::bitset_container_negation_range_inplace
    - roaring::internal::get_writable_copy_if_shared
    - roaring::internal::array_container_negation_range_inplace
    - CAST_bitset
    - assert
    - CAST_run
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot_range(\n    container_t *c, uint8_t type,\n
      \   uint32_t range_start, uint32_t range_end,\n    uint8_t *result_type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6543,1
    - Dst: roaring::internal::bitset_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6546,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6546,1
    - Dst: roaring::internal::array_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6549,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6549,1
    - Dst: roaring::internal::run_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6552,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6552,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6555,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6556,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6558,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - start_rank
    - rank
    - element
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6554
        line_start: 6554
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6557
        line_start: 6557
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6561
      start: 6538
    functionDepth: 1
    functionLinenumber: 6538
    functionLinenumberEnd: 6561
    functionName: roaring::internal::container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_select
    - assert
    - roaring::internal::run_container_select
    - roaring::internal::array_container_select
    linkageType: ''
    returnType: bool
    signature: "bool container_select(\n    const container_t *c, uint8_t type,\n
      \   uint32_t *start_rank, uint32_t rank,\n    uint32_t *element\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6566,1
    - Dst: roaring::internal::bitset_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6569,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6569,1
    - Dst: roaring::internal::array_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6571,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6571,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6573,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6573,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6575,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6576,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6578,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6574
        line_start: 6574
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6577
        line_start: 6577
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6581
      start: 6563
    functionDepth: 1
    functionLinenumber: 6563
    functionLinenumberEnd: 6581
    functionName: roaring::internal::container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_maximum
    - roaring::internal::run_container_maximum
    - roaring::internal::array_container_maximum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t container_maximum(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6586,1
    - Dst: roaring::internal::bitset_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6589,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6589,1
    - Dst: roaring::internal::array_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6591,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6593,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6593,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6595,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6596,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6598,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6594
        line_start: 6594
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6597
        line_start: 6597
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6601
      start: 6583
    functionDepth: 1
    functionLinenumber: 6583
    functionLinenumberEnd: 6601
    functionName: roaring::internal::container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::array_container_minimum
    - assert
    - roaring::internal::run_container_minimum
    - roaring::internal::bitset_container_minimum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t container_minimum(\n    const container_t *c, uint8_t type\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6608,1
    - Dst: roaring::internal::bitset_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6611,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6611,1
    - Dst: roaring::internal::array_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6613,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6613,1
    - Dst: roaring::internal::run_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6615,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6615,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6617,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6618,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6620,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6616
        line_start: 6616
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 6619
        line_start: 6619
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6623
      start: 6604
    functionDepth: 1
    functionLinenumber: 6604
    functionLinenumberEnd: 6623
    functionName: roaring::internal::container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_rank
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_rank
    - roaring::internal::array_container_rank
    linkageType: ''
    returnType: int
    signature: "int container_rank(\n    const container_t *c, uint8_t type,\n    uint16_t
      x\n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6641,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6646,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6649,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6651,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6651,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6654,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6660,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6662,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6663,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6666,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6668,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6668,1
    - Dst: roaring::internal::array_container_add_range_nvals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6671,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6675,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6676,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6682,1
    - Dst: roaring::internal::rle16_count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6684,1
    - Dst: roaring::internal::rle16_count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6685,1
    - Dst: roaring::internal::run_container_add_range_nruns
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6691,1
    - Dst: roaring::internal::container_from_run_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6695,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6701
      start: 6633
    functionDepth: 1
    functionLinenumber: 6633
    functionLinenumberEnd: 6701
    functionName: roaring::internal::container_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::bitset_set_lenrange
    - CAST_run
    - CAST_array
    - roaring::internal::run_container_add_range_nruns
    - roaring::internal::run_container_create_range
    - CAST_bitset
    - roaring::internal::rle16_count_less
    - roaring::internal::count_greater
    - roaring::internal::array_container_add_range_nvals
    - roaring::internal::count_less
    - INT32_C
    - roaring::internal::rle16_count_greater
    - roaring::internal::container_from_run_range
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add_range(\n    container_t *c, uint8_t type,\n
      \   uint32_t min, uint32_t max,\n    uint8_t *result_type\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6720,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6723,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6729,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6731,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6734,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6740,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6742,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6743,1
    - Dst: roaring::internal::array_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6750,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6756,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6761,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6761,1
    - Dst: roaring::internal::run_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6765,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6766,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6771
      start: 6713
    functionDepth: 1
    functionLinenumber: 6713
    functionLinenumberEnd: 6771
    functionName: roaring::internal::container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::internal::run_container_remove_range
    - CAST_run
    - CAST_array
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::count_greater
    - roaring::internal::array_container_remove_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::count_less
    - roaring::internal::run_container_minimum
    - roaring::internal::run_container_maximum
    - roaring::internal::bitset_lenrange_cardinality
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove_range(\n    container_t *c, uint8_t
      type,\n    uint32_t min, uint32_t max,\n    uint8_t *result_type\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - x
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6858
      start: 6855
    functionDepth: 0
    functionLinenumber: 6855
    functionLinenumberEnd: 6858
    functionName: roaring::internal::ra_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_index(const roaring_array_t *ra, uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ra
    - i
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6868
      start: 6863
    functionDepth: 0
    functionLinenumber: 6863
    functionLinenumberEnd: 6868
    functionName: roaring::internal::ra_get_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container_at_index(\n    const roaring_array_t
      *ra, uint16_t i, uint8_t *typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6875
      start: 6873
    functionDepth: 0
    functionLinenumber: 6873
    functionLinenumberEnd: 6875
    functionName: roaring::internal::ra_get_key_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ra_get_key_at_index(const roaring_array_t *ra, uint16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ra
    - i
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6942
        line_start: 6942
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6946
      start: 6939
    functionDepth: 0
    functionLinenumber: 6939
    functionLinenumberEnd: 6946
    functionName: roaring::internal::ra_set_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_set_container_at_index(\n    const roaring_array_t *ra, int32_t
      i,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6955
      start: 6955
    functionDepth: 0
    functionLinenumber: 6955
    functionLinenumberEnd: 6955
    functionName: roaring::internal::ra_get_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6960
      start: 6957
    functionDepth: 0
    functionLinenumber: 6957
    functionLinenumberEnd: 6960
    functionName: roaring::internal::ra_advance_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ra_advance_until(const roaring_array_t *ra, uint16_t x,\n
      \                                      int32_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6969
        line_start: 6969
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6975
      start: 6966
    functionDepth: 0
    functionLinenumber: 6966
    functionLinenumberEnd: 6975
    functionName: roaring::internal::ra_replace_key_and_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_replace_key_and_container_at_index(\n    roaring_array_t *ra,
      int32_t i, uint16_t key,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7034,1
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 7033
        line_start: 7033
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 7037
      start: 7032
    functionDepth: 0
    functionLinenumber: 7032
    functionLinenumberEnd: 7037
    functionName: roaring::internal::ra_unshare_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_writable_copy_if_shared
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_unshare_container_at_index(roaring_array_t *ra,\n                                                 uint16_t
      i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - x
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6858
      start: 6855
    functionDepth: 0
    functionLinenumber: 6855
    functionLinenumberEnd: 6858
    functionName: roaring::internal::ra_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_index(const roaring_array_t *ra, uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ra
    - i
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6868
      start: 6863
    functionDepth: 0
    functionLinenumber: 6863
    functionLinenumberEnd: 6868
    functionName: roaring::internal::ra_get_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container_at_index(\n    const roaring_array_t
      *ra, uint16_t i, uint8_t *typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6875
      start: 6873
    functionDepth: 0
    functionLinenumber: 6873
    functionLinenumberEnd: 6875
    functionName: roaring::internal::ra_get_key_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ra_get_key_at_index(const roaring_array_t *ra, uint16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ra
    - i
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6942
        line_start: 6942
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6946
      start: 6939
    functionDepth: 0
    functionLinenumber: 6939
    functionLinenumberEnd: 6946
    functionName: roaring::internal::ra_set_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_set_container_at_index(\n    const roaring_array_t *ra, int32_t
      i,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6955
      start: 6955
    functionDepth: 0
    functionLinenumber: 6955
    functionLinenumberEnd: 6955
    functionName: roaring::internal::ra_get_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6960
      start: 6957
    functionDepth: 0
    functionLinenumber: 6957
    functionLinenumberEnd: 6960
    functionName: roaring::internal::ra_advance_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ra_advance_until(const roaring_array_t *ra, uint16_t x,\n
      \                                      int32_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6969
        line_start: 6969
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6975
      start: 6966
    functionDepth: 0
    functionLinenumber: 6966
    functionLinenumberEnd: 6975
    functionName: roaring::internal::ra_replace_key_and_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_replace_key_and_container_at_index(\n    roaring_array_t *ra,
      int32_t i, uint16_t key,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7034,1
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 7033
        line_start: 7033
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 7037
      start: 7032
    functionDepth: 0
    functionLinenumber: 7032
    functionLinenumberEnd: 7037
    functionName: roaring::internal::ra_unshare_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_writable_copy_if_shared
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_unshare_container_at_index(roaring_array_t *ra,\n                                                 uint16_t
      i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - x
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6858
      start: 6855
    functionDepth: 0
    functionLinenumber: 6855
    functionLinenumberEnd: 6858
    functionName: roaring::internal::ra_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_index(const roaring_array_t *ra, uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ra
    - i
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6868
      start: 6863
    functionDepth: 0
    functionLinenumber: 6863
    functionLinenumberEnd: 6868
    functionName: roaring::internal::ra_get_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container_at_index(\n    const roaring_array_t
      *ra, uint16_t i, uint8_t *typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6875
      start: 6873
    functionDepth: 0
    functionLinenumber: 6873
    functionLinenumberEnd: 6875
    functionName: roaring::internal::ra_get_key_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ra_get_key_at_index(const roaring_array_t *ra, uint16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ra
    - i
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6942
        line_start: 6942
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6946
      start: 6939
    functionDepth: 0
    functionLinenumber: 6939
    functionLinenumberEnd: 6946
    functionName: roaring::internal::ra_set_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_set_container_at_index(\n    const roaring_array_t *ra, int32_t
      i,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6955
      start: 6955
    functionDepth: 0
    functionLinenumber: 6955
    functionLinenumberEnd: 6955
    functionName: roaring::internal::ra_get_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6960
      start: 6957
    functionDepth: 0
    functionLinenumber: 6957
    functionLinenumberEnd: 6960
    functionName: roaring::internal::ra_advance_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ra_advance_until(const roaring_array_t *ra, uint16_t x,\n
      \                                      int32_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6969
        line_start: 6969
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6975
      start: 6966
    functionDepth: 0
    functionLinenumber: 6966
    functionLinenumberEnd: 6975
    functionName: roaring::internal::ra_replace_key_and_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_replace_key_and_container_at_index(\n    roaring_array_t *ra,
      int32_t i, uint16_t key,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7034,1
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 7033
        line_start: 7033
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 7037
      start: 7032
    functionDepth: 0
    functionLinenumber: 7032
    functionLinenumberEnd: 7037
    functionName: roaring::internal::ra_unshare_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_writable_copy_if_shared
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_unshare_container_at_index(roaring_array_t *ra,\n                                                 uint16_t
      i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - x
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6858
      start: 6855
    functionDepth: 0
    functionLinenumber: 6855
    functionLinenumberEnd: 6858
    functionName: roaring::internal::ra_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_index(const roaring_array_t *ra, uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ra
    - i
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6868
      start: 6863
    functionDepth: 0
    functionLinenumber: 6863
    functionLinenumberEnd: 6868
    functionName: roaring::internal::ra_get_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container_at_index(\n    const roaring_array_t
      *ra, uint16_t i, uint8_t *typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6875
      start: 6873
    functionDepth: 0
    functionLinenumber: 6873
    functionLinenumberEnd: 6875
    functionName: roaring::internal::ra_get_key_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ra_get_key_at_index(const roaring_array_t *ra, uint16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ra
    - i
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6942
        line_start: 6942
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6946
      start: 6939
    functionDepth: 0
    functionLinenumber: 6939
    functionLinenumberEnd: 6946
    functionName: roaring::internal::ra_set_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_set_container_at_index(\n    const roaring_array_t *ra, int32_t
      i,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6955
      start: 6955
    functionDepth: 0
    functionLinenumber: 6955
    functionLinenumberEnd: 6955
    functionName: roaring::internal::ra_get_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6960
      start: 6957
    functionDepth: 0
    functionLinenumber: 6957
    functionLinenumberEnd: 6960
    functionName: roaring::internal::ra_advance_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ra_advance_until(const roaring_array_t *ra, uint16_t x,\n
      \                                      int32_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:6970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6969
        line_start: 6969
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 6975
      start: 6966
    functionDepth: 0
    functionLinenumber: 6966
    functionLinenumberEnd: 6975
    functionName: roaring::internal::ra_replace_key_and_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_replace_key_and_container_at_index(\n    roaring_array_t *ra,
      int32_t i, uint16_t key,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7034,1
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 7033
        line_start: 7033
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 7037
      start: 7032
    functionDepth: 0
    functionLinenumber: 7032
    functionLinenumberEnd: 7037
    functionName: roaring::internal::ra_unshare_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_writable_copy_if_shared
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_unshare_container_at_index(roaring_array_t *ra,\n                                                 uint16_t
      i)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7461,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7462,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7464,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7467,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7468,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7469,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7470,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7471,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7477,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7482,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7487,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7490,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7492,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7493,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7494,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7495,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7501,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7506,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7526
      start: 7450
    functionDepth: 0
    functionLinenumber: 7450
    functionLinenumberEnd: 7526
    functionName: roaring::internal::intersect_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 intersect_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                           const uint16_t *__restrict__ B, size_t
      s_b,\n                           uint16_t *C)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7541,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7542,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7544,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7547,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7548,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7554,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7559,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7564,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7567,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7568,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7574,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7579,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7598
      start: 7527
    functionDepth: 0
    functionLinenumber: 7527
    functionLinenumberEnd: 7598
    functionName: roaring::internal::intersect_vector16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION intersect_vector16_cardinality(const uint16_t
      *__restrict__ A,\n                                       size_t s_a,\n                                       const
      uint16_t *__restrict__ B,\n                                       size_t s_b)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7612,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7642,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7643,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7646,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7655,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7658,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7667,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7669,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7671,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7672,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7673,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7678,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7679,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7685,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7694,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7695,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7696,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7698,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7701,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7703,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7704,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7706,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7707,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7708,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7730,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7732,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts:
    - condition: ((size_t)count <= i_a)
      pos:
        line_end: 7729
        line_start: 7729
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 7742
      start: 7599
    functionDepth: 0
    functionLinenumber: 7599
    functionLinenumberEnd: 7742
    functionName: roaring::internal::difference_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - memmove
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - assert
    - _mm_loadu_si128
    - _mm_lddqu_si128
    - memset
    - _mm_storeu_si128
    - _mm_or_si128
    - memcpy
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION difference_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                            const uint16_t *__restrict__ B,
      size_t s_b,\n                            uint16_t *C)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 10
    argNames:
    - array
    - n
    - target1
    - target2
    - target3
    - target4
    - index1
    - index2
    - index3
    - index4
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7778
      start: 7756
    functionDepth: 0
    functionLinenumber: 7756
    functionLinenumberEnd: 7778
    functionName: roaring::internal::binarySearch4
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch4(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                  uint16_t target2, uint16_t target3, uint16_t target4,\n                   int32_t
      *index1, int32_t *index2, int32_t *index3,\n                   int32_t *index4)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - array
    - n
    - target1
    - target2
    - index1
    - index2
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7802
      start: 7788
    functionDepth: 0
    functionLinenumber: 7788
    functionLinenumberEnd: 7802
    functionName: roaring::internal::binarySearch2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch2(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                  uint16_t target2, int32_t *index1, int32_t *index2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch4
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7824,1
    - Dst: roaring::internal::binarySearch2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7844,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7857,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - small
    - size_s
    - large
    - size_l
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7862
      start: 7810
    functionDepth: 0
    functionLinenumber: 7810
    functionLinenumberEnd: 7862
    functionName: roaring::internal::intersect_skewed_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    - roaring::internal::binarySearch2
    - roaring::internal::binarySearch4
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16(const uint16_t *small, size_t size_s,\n
      \                                        const uint16_t *large, size_t size_l,\n
      \                                        uint16_t *buffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7881,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7893,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7900
      start: 7867
    functionDepth: 0
    functionLinenumber: 7867
    functionLinenumberEnd: 7900
    functionName: roaring::internal::intersect_skewed_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16_cardinality(const uint16_t *small,\n
      \                                           size_t size_s,\n                                            const
      uint16_t *large,\n                                            size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7927
      start: 7902
    functionDepth: 0
    functionLinenumber: 7902
    functionLinenumberEnd: 7927
    functionName: roaring::internal::intersect_skewed_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool intersect_skewed_uint16_nonempty(const uint16_t *small, size_t
      size_s,\n                                const uint16_t *large, size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7955
      start: 7932
    functionDepth: 0
    functionLinenumber: 7932
    functionLinenumberEnd: 7955
    functionName: roaring::internal::intersect_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16(const uint16_t *A, const size_t lenA,\n                         const
      uint16_t *B, const size_t lenB, uint16_t *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7980
      start: 7957
    functionDepth: 0
    functionLinenumber: 7957
    functionLinenumberEnd: 7980
    functionName: roaring::internal::intersect_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16_cardinality(const uint16_t *A, const size_t
      lenA,\n                                     const uint16_t *B, const size_t
      lenB)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8004
      start: 7983
    functionDepth: 0
    functionLinenumber: 7983
    functionLinenumberEnd: 8004
    functionName: roaring::internal::intersect_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool intersect_uint16_nonempty(const uint16_t *A, const size_t lenA,\n
      \                        const uint16_t *B, const size_t lenB)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8035
      start: 8011
    functionDepth: 0
    functionLinenumber: 8011
    functionLinenumberEnd: 8035
    functionName: roaring::internal::intersection_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32(const uint32_t *A, const size_t lenA,\n
      \                          const uint32_t *B, const size_t lenB,\n                           uint32_t
      *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8060
      start: 8037
    functionDepth: 0
    functionLinenumber: 8037
    functionLinenumberEnd: 8060
    functionName: roaring::internal::intersection_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32_card(const uint32_t *A, const size_t lenA,\n
      \                               const uint32_t *B, const size_t lenB)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8070,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8074,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8103,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8112
      start: 8065
    functionDepth: 0
    functionLinenumber: 8065
    functionLinenumberEnd: 8112
    functionName: roaring::internal::union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint16(const uint16_t *set_1, size_t size_1, const uint16_t
      *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8120,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8140,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - a1
    - length1
    - a2
    - length2
    - a_out
    argTypes:
    - uint16_t*
    - int
    - uint16_t*
    - int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8157
      start: 8114
    functionDepth: 0
    functionLinenumber: 8114
    functionLinenumberEnd: 8157
    functionName: roaring::internal::difference_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int difference_uint16(const uint16_t *a1, int length1, const uint16_t
      *a2,\n                      int length2, uint16_t *a_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8180,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - array_1
    - card_1
    - array_2
    - card_2
    - out
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t*
    - int32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8188
      start: 8159
    functionDepth: 0
    functionLinenumber: 8159
    functionLinenumberEnd: 8188
    functionName: roaring::internal::xor_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t xor_uint16(const uint16_t *array_1, int32_t card_1,\n                   const
      uint16_t *array_2, int32_t card_2, uint16_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8207,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8208,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8209,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8210,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8211,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8212,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8213,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8214,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8215,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8216,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8217,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8218,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8219,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8220,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8221,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8222,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8223,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8224,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8225,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8226,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8227,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8228,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8229,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 4
    argNames:
    - vInput1
    - vInput2
    - vecMin
    - vecMax
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8231
      start: 8196
    functionDepth: 0
    functionLinenumber: 8196
    functionLinenumberEnd: 8231
    functionName: roaring::internal::sse_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_min_epu16
    - _mm_max_epu16
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 sse_merge(const __m128i *vInput1,\n                             const
      __m128i *vInput2,              // input 1 & 2\n                             __m128i
      *vecMin, __m128i *vecMax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8581,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8583,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8585,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8586,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8587,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8590
      start: 8577
    functionDepth: 0
    functionLinenumber: 8577
    functionLinenumberEnd: 8590
    functionName: roaring::internal::store_unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_lddqu_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 store_unique(__m128i old, __m128i newval, uint16_t
      *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8603
      start: 8591
    functionDepth: 0
    functionLinenumber: 8591
    functionLinenumberEnd: 8603
    functionName: roaring::internal::unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION unique(uint16_t *out, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8608
      start: 8606
    functionDepth: 0
    functionLinenumber: 8606
    functionLinenumberEnd: 8608
    functionName: roaring::internal::uint16_compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uint16_compare(const void *a, const void *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8617,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8627,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8629,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8631,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8632,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8633,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8641,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8649,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8657,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8658,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8661,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8662,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8671,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8673,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8676,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8678,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8679,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8682,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8685,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8686,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8687,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8691
      start: 8610
    functionDepth: 0
    functionLinenumber: 8610
    functionLinenumberEnd: 8691
    functionName: roaring::internal::union_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::union_uint16
    - roaring::internal::sse_merge
    - _mm_set1_epi16
    - roaring::internal::unique
    - roaring::internal::store_unique
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 union_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                        const uint16_t *__restrict__ array2,
      uint32_t length2,\n                        uint16_t *__restrict__ output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8708,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8709,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8710,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8711,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8712,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8713,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8714,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8714,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8715,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8716,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8717,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8720
      start: 8692
    functionDepth: 0
    functionLinenumber: 8692
    functionLinenumberEnd: 8720
    functionName: roaring::internal::store_unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_lddqu_si128
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_or_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION store_unique_xor(__m128i old, __m128i newval,\n
      \                                  uint16_t *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8734
      start: 8721
    functionDepth: 0
    functionLinenumber: 8721
    functionLinenumberEnd: 8734
    functionName: roaring::internal::unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION unique_xor(uint16_t *out, uint32_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8741,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8751,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8753,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8755,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8756,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8758,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8767,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8775,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8783,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8787,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8790,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8794,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8804,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8805,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8806,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8809,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8813,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8817,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8818,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8819,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8823,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8827,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8831,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8832,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8833,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8838
      start: 8735
    functionDepth: 0
    functionLinenumber: 8735
    functionLinenumberEnd: 8838
    functionName: roaring::internal::xor_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::store_unique_xor
    - roaring::internal::unique_xor
    - _mm_set1_epi16
    - roaring::internal::sse_merge
    - _mm_extract_epi16
    - roaring::internal::xor_uint16
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 xor_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                      const uint16_t *__restrict__ array2,
      uint32_t length2,\n                      uint16_t *__restrict__ output)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8851,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8855,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8884,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8888,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8893
      start: 8846
    functionDepth: 0
    functionLinenumber: 8846
    functionLinenumberEnd: 8893
    functionName: roaring::internal::union_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32(const uint32_t *set_1, size_t size_1, const uint32_t
      *set_2,\n                    size_t size_2, uint32_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8937
      start: 8895
    functionDepth: 0
    functionLinenumber: 8895
    functionLinenumberEnd: 8937
    functionName: roaring::internal::union_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32_card(const uint32_t *set_1, size_t size_1,\n                         const
      uint32_t *set_2, size_t size_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8944,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8947,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8950,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8956,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8959,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8966,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8973
      start: 8941
    functionDepth: 1
    functionLinenumber: 8941
    functionLinenumberEnd: 8973
    functionName: roaring::internal::fast_union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::union_uint16
    - croaring_avx2
    - roaring::internal::union_vector16
    linkageType: ''
    returnType: size_t
    signature: "size_t fast_union_uint16(const uint16_t *set_1, size_t size_1, const
      uint16_t *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8984,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8985,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8986,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8986,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8996,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8997,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9014
      start: 8975
    functionDepth: 0
    functionLinenumber: 8975
    functionLinenumberEnd: 9014
    functionName: roaring::internal::_avx2_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - memcpy
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 _avx2_memequals(const void *s1, const void *s2,
      size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9023,1
    - Dst: roaring::internal::_avx2_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9024,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9026,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9031
      start: 9018
    functionDepth: 1
    functionLinenumber: 9018
    functionLinenumberEnd: 9031
    functionName: roaring::internal::memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memcmp
    - croaring_avx2
    - roaring::internal::_avx2_memequals
    linkageType: ''
    returnType: bool
    signature: bool memequals(const void *s1, const void *s2, size_t n)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7461,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7462,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7464,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7467,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7468,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7469,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7470,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7471,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7477,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7482,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7487,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7490,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7492,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7493,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7494,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7495,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7501,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7506,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7526
      start: 7450
    functionDepth: 0
    functionLinenumber: 7450
    functionLinenumberEnd: 7526
    functionName: roaring::internal::intersect_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 intersect_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                           const uint16_t *__restrict__ B, size_t
      s_b,\n                           uint16_t *C)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7541,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7542,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7544,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7547,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7548,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7554,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7559,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7564,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7567,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7568,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7574,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7579,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7598
      start: 7527
    functionDepth: 0
    functionLinenumber: 7527
    functionLinenumberEnd: 7598
    functionName: roaring::internal::intersect_vector16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION intersect_vector16_cardinality(const uint16_t
      *__restrict__ A,\n                                       size_t s_a,\n                                       const
      uint16_t *__restrict__ B,\n                                       size_t s_b)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7612,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7642,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7643,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7646,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7655,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7658,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7667,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7669,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7671,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7672,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7673,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7678,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7679,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7685,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7694,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7695,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7696,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7698,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7701,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7703,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7704,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7706,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7707,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7708,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7730,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7732,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts:
    - condition: ((size_t)count <= i_a)
      pos:
        line_end: 7729
        line_start: 7729
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 7742
      start: 7599
    functionDepth: 0
    functionLinenumber: 7599
    functionLinenumberEnd: 7742
    functionName: roaring::internal::difference_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - memmove
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - assert
    - _mm_loadu_si128
    - _mm_lddqu_si128
    - memset
    - _mm_storeu_si128
    - _mm_or_si128
    - memcpy
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION difference_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                            const uint16_t *__restrict__ B,
      size_t s_b,\n                            uint16_t *C)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 10
    argNames:
    - array
    - n
    - target1
    - target2
    - target3
    - target4
    - index1
    - index2
    - index3
    - index4
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7778
      start: 7756
    functionDepth: 0
    functionLinenumber: 7756
    functionLinenumberEnd: 7778
    functionName: roaring::internal::binarySearch4
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch4(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                  uint16_t target2, uint16_t target3, uint16_t target4,\n                   int32_t
      *index1, int32_t *index2, int32_t *index3,\n                   int32_t *index4)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - array
    - n
    - target1
    - target2
    - index1
    - index2
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7802
      start: 7788
    functionDepth: 0
    functionLinenumber: 7788
    functionLinenumberEnd: 7802
    functionName: roaring::internal::binarySearch2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch2(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                  uint16_t target2, int32_t *index1, int32_t *index2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch4
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7824,1
    - Dst: roaring::internal::binarySearch2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7844,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7857,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - small
    - size_s
    - large
    - size_l
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7862
      start: 7810
    functionDepth: 0
    functionLinenumber: 7810
    functionLinenumberEnd: 7862
    functionName: roaring::internal::intersect_skewed_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    - roaring::internal::binarySearch2
    - roaring::internal::binarySearch4
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16(const uint16_t *small, size_t size_s,\n
      \                                        const uint16_t *large, size_t size_l,\n
      \                                        uint16_t *buffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7881,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7893,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7900
      start: 7867
    functionDepth: 0
    functionLinenumber: 7867
    functionLinenumberEnd: 7900
    functionName: roaring::internal::intersect_skewed_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16_cardinality(const uint16_t *small,\n
      \                                           size_t size_s,\n                                            const
      uint16_t *large,\n                                            size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7927
      start: 7902
    functionDepth: 0
    functionLinenumber: 7902
    functionLinenumberEnd: 7927
    functionName: roaring::internal::intersect_skewed_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool intersect_skewed_uint16_nonempty(const uint16_t *small, size_t
      size_s,\n                                const uint16_t *large, size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7955
      start: 7932
    functionDepth: 0
    functionLinenumber: 7932
    functionLinenumberEnd: 7955
    functionName: roaring::internal::intersect_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16(const uint16_t *A, const size_t lenA,\n                         const
      uint16_t *B, const size_t lenB, uint16_t *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7980
      start: 7957
    functionDepth: 0
    functionLinenumber: 7957
    functionLinenumberEnd: 7980
    functionName: roaring::internal::intersect_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16_cardinality(const uint16_t *A, const size_t
      lenA,\n                                     const uint16_t *B, const size_t
      lenB)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8004
      start: 7983
    functionDepth: 0
    functionLinenumber: 7983
    functionLinenumberEnd: 8004
    functionName: roaring::internal::intersect_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool intersect_uint16_nonempty(const uint16_t *A, const size_t lenA,\n
      \                        const uint16_t *B, const size_t lenB)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8035
      start: 8011
    functionDepth: 0
    functionLinenumber: 8011
    functionLinenumberEnd: 8035
    functionName: roaring::internal::intersection_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32(const uint32_t *A, const size_t lenA,\n
      \                          const uint32_t *B, const size_t lenB,\n                           uint32_t
      *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8060
      start: 8037
    functionDepth: 0
    functionLinenumber: 8037
    functionLinenumberEnd: 8060
    functionName: roaring::internal::intersection_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32_card(const uint32_t *A, const size_t lenA,\n
      \                               const uint32_t *B, const size_t lenB)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8070,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8074,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8103,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8112
      start: 8065
    functionDepth: 0
    functionLinenumber: 8065
    functionLinenumberEnd: 8112
    functionName: roaring::internal::union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint16(const uint16_t *set_1, size_t size_1, const uint16_t
      *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8120,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8140,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - a1
    - length1
    - a2
    - length2
    - a_out
    argTypes:
    - uint16_t*
    - int
    - uint16_t*
    - int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8157
      start: 8114
    functionDepth: 0
    functionLinenumber: 8114
    functionLinenumberEnd: 8157
    functionName: roaring::internal::difference_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int difference_uint16(const uint16_t *a1, int length1, const uint16_t
      *a2,\n                      int length2, uint16_t *a_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8180,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - array_1
    - card_1
    - array_2
    - card_2
    - out
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t*
    - int32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8188
      start: 8159
    functionDepth: 0
    functionLinenumber: 8159
    functionLinenumberEnd: 8188
    functionName: roaring::internal::xor_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t xor_uint16(const uint16_t *array_1, int32_t card_1,\n                   const
      uint16_t *array_2, int32_t card_2, uint16_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8207,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8208,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8209,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8210,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8211,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8212,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8213,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8214,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8215,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8216,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8217,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8218,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8219,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8220,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8221,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8222,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8223,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8224,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8225,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8226,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8227,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8228,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8229,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 4
    argNames:
    - vInput1
    - vInput2
    - vecMin
    - vecMax
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8231
      start: 8196
    functionDepth: 0
    functionLinenumber: 8196
    functionLinenumberEnd: 8231
    functionName: roaring::internal::sse_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - _mm_min_epu16
    - _mm_max_epu16
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 sse_merge(const __m128i *vInput1,\n                             const
      __m128i *vInput2,              // input 1 & 2\n                             __m128i
      *vecMin, __m128i *vecMax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8581,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8583,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8585,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8586,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8587,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8590
      start: 8577
    functionDepth: 0
    functionLinenumber: 8577
    functionLinenumberEnd: 8590
    functionName: roaring::internal::store_unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_lddqu_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 store_unique(__m128i old, __m128i newval, uint16_t
      *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8603
      start: 8591
    functionDepth: 0
    functionLinenumber: 8591
    functionLinenumberEnd: 8603
    functionName: roaring::internal::unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION unique(uint16_t *out, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8608
      start: 8606
    functionDepth: 0
    functionLinenumber: 8606
    functionLinenumberEnd: 8608
    functionName: roaring::internal::uint16_compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uint16_compare(const void *a, const void *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8617,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8627,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8629,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8631,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8632,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8633,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8641,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8649,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8657,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8658,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8661,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8662,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8671,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8673,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8676,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8678,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8679,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8682,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8685,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8686,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8687,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8691
      start: 8610
    functionDepth: 0
    functionLinenumber: 8610
    functionLinenumberEnd: 8691
    functionName: roaring::internal::union_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::union_uint16
    - roaring::internal::sse_merge
    - _mm_set1_epi16
    - roaring::internal::unique
    - roaring::internal::store_unique
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 union_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                        const uint16_t *__restrict__ array2,
      uint32_t length2,\n                        uint16_t *__restrict__ output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8708,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8709,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8710,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8711,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8712,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8713,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8714,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8714,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8715,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8716,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8717,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8720
      start: 8692
    functionDepth: 0
    functionLinenumber: 8692
    functionLinenumberEnd: 8720
    functionName: roaring::internal::store_unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_lddqu_si128
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_or_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION store_unique_xor(__m128i old, __m128i newval,\n
      \                                  uint16_t *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8734
      start: 8721
    functionDepth: 0
    functionLinenumber: 8721
    functionLinenumberEnd: 8734
    functionName: roaring::internal::unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION unique_xor(uint16_t *out, uint32_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8741,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8751,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8753,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8755,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8756,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8758,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8767,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8775,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8783,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8787,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8790,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8794,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8804,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8805,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8806,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8809,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8813,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8817,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8818,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8819,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8823,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8827,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8831,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8832,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8833,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8838
      start: 8735
    functionDepth: 0
    functionLinenumber: 8735
    functionLinenumberEnd: 8838
    functionName: roaring::internal::xor_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::store_unique_xor
    - roaring::internal::unique_xor
    - _mm_set1_epi16
    - roaring::internal::sse_merge
    - _mm_extract_epi16
    - roaring::internal::xor_uint16
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 xor_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                      const uint16_t *__restrict__ array2,
      uint32_t length2,\n                      uint16_t *__restrict__ output)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8851,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8855,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8884,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8888,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8893
      start: 8846
    functionDepth: 0
    functionLinenumber: 8846
    functionLinenumberEnd: 8893
    functionName: roaring::internal::union_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32(const uint32_t *set_1, size_t size_1, const uint32_t
      *set_2,\n                    size_t size_2, uint32_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8937
      start: 8895
    functionDepth: 0
    functionLinenumber: 8895
    functionLinenumberEnd: 8937
    functionName: roaring::internal::union_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32_card(const uint32_t *set_1, size_t size_1,\n                         const
      uint32_t *set_2, size_t size_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8944,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8947,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8950,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8956,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8959,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8966,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8973
      start: 8941
    functionDepth: 1
    functionLinenumber: 8941
    functionLinenumberEnd: 8973
    functionName: roaring::internal::fast_union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::union_uint16
    - croaring_avx2
    - roaring::internal::union_vector16
    linkageType: ''
    returnType: size_t
    signature: "size_t fast_union_uint16(const uint16_t *set_1, size_t size_1, const
      uint16_t *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8984,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8985,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8986,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8986,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8996,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8997,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9014
      start: 8975
    functionDepth: 0
    functionLinenumber: 8975
    functionLinenumberEnd: 9014
    functionName: roaring::internal::_avx2_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - _mm256_loadu_si256
    - memcpy
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 _avx2_memequals(const void *s1, const void *s2,
      size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9023,1
    - Dst: roaring::internal::_avx2_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9024,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9026,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9031
      start: 9018
    functionDepth: 1
    functionLinenumber: 9018
    functionLinenumberEnd: 9031
    functionName: roaring::internal::memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memcmp
    - croaring_avx2
    - roaring::internal::_avx2_memequals
    linkageType: ''
    returnType: bool
    signature: bool memequals(const void *s1, const void *s2, size_t n)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7461,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7462,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7464,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7467,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7468,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7469,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7470,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7471,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7477,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7482,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7487,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7490,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7492,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7493,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7494,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7495,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7501,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7506,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7526
      start: 7450
    functionDepth: 0
    functionLinenumber: 7450
    functionLinenumberEnd: 7526
    functionName: roaring::internal::intersect_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 intersect_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                           const uint16_t *__restrict__ B, size_t
      s_b,\n                           uint16_t *C)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7541,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7542,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7544,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7547,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7548,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7554,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7559,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7564,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7567,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7568,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7574,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7579,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7598
      start: 7527
    functionDepth: 0
    functionLinenumber: 7527
    functionLinenumberEnd: 7598
    functionName: roaring::internal::intersect_vector16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION intersect_vector16_cardinality(const uint16_t
      *__restrict__ A,\n                                       size_t s_a,\n                                       const
      uint16_t *__restrict__ B,\n                                       size_t s_b)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7612,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7642,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7643,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7646,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7655,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7658,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7667,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7669,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7671,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7672,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7673,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7678,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7679,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7685,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7694,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7695,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7696,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7698,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7701,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7703,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7704,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7706,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7707,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7708,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7730,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7732,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts:
    - condition: ((size_t)count <= i_a)
      pos:
        line_end: 7729
        line_start: 7729
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 7742
      start: 7599
    functionDepth: 0
    functionLinenumber: 7599
    functionLinenumberEnd: 7742
    functionName: roaring::internal::difference_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - memmove
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - assert
    - _mm_loadu_si128
    - _mm_lddqu_si128
    - memset
    - _mm_storeu_si128
    - _mm_or_si128
    - memcpy
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION difference_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                            const uint16_t *__restrict__ B,
      size_t s_b,\n                            uint16_t *C)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 10
    argNames:
    - array
    - n
    - target1
    - target2
    - target3
    - target4
    - index1
    - index2
    - index3
    - index4
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7778
      start: 7756
    functionDepth: 0
    functionLinenumber: 7756
    functionLinenumberEnd: 7778
    functionName: roaring::internal::binarySearch4
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch4(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                  uint16_t target2, uint16_t target3, uint16_t target4,\n                   int32_t
      *index1, int32_t *index2, int32_t *index3,\n                   int32_t *index4)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - array
    - n
    - target1
    - target2
    - index1
    - index2
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7802
      start: 7788
    functionDepth: 0
    functionLinenumber: 7788
    functionLinenumberEnd: 7802
    functionName: roaring::internal::binarySearch2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch2(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                  uint16_t target2, int32_t *index1, int32_t *index2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch4
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7824,1
    - Dst: roaring::internal::binarySearch2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7844,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7857,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - small
    - size_s
    - large
    - size_l
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7862
      start: 7810
    functionDepth: 0
    functionLinenumber: 7810
    functionLinenumberEnd: 7862
    functionName: roaring::internal::intersect_skewed_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    - roaring::internal::binarySearch2
    - roaring::internal::binarySearch4
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16(const uint16_t *small, size_t size_s,\n
      \                                        const uint16_t *large, size_t size_l,\n
      \                                        uint16_t *buffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7881,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7893,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7900
      start: 7867
    functionDepth: 0
    functionLinenumber: 7867
    functionLinenumberEnd: 7900
    functionName: roaring::internal::intersect_skewed_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16_cardinality(const uint16_t *small,\n
      \                                           size_t size_s,\n                                            const
      uint16_t *large,\n                                            size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7927
      start: 7902
    functionDepth: 0
    functionLinenumber: 7902
    functionLinenumberEnd: 7927
    functionName: roaring::internal::intersect_skewed_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool intersect_skewed_uint16_nonempty(const uint16_t *small, size_t
      size_s,\n                                const uint16_t *large, size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7955
      start: 7932
    functionDepth: 0
    functionLinenumber: 7932
    functionLinenumberEnd: 7955
    functionName: roaring::internal::intersect_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16(const uint16_t *A, const size_t lenA,\n                         const
      uint16_t *B, const size_t lenB, uint16_t *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7980
      start: 7957
    functionDepth: 0
    functionLinenumber: 7957
    functionLinenumberEnd: 7980
    functionName: roaring::internal::intersect_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16_cardinality(const uint16_t *A, const size_t
      lenA,\n                                     const uint16_t *B, const size_t
      lenB)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8004
      start: 7983
    functionDepth: 0
    functionLinenumber: 7983
    functionLinenumberEnd: 8004
    functionName: roaring::internal::intersect_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool intersect_uint16_nonempty(const uint16_t *A, const size_t lenA,\n
      \                        const uint16_t *B, const size_t lenB)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8035
      start: 8011
    functionDepth: 0
    functionLinenumber: 8011
    functionLinenumberEnd: 8035
    functionName: roaring::internal::intersection_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32(const uint32_t *A, const size_t lenA,\n
      \                          const uint32_t *B, const size_t lenB,\n                           uint32_t
      *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8060
      start: 8037
    functionDepth: 0
    functionLinenumber: 8037
    functionLinenumberEnd: 8060
    functionName: roaring::internal::intersection_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32_card(const uint32_t *A, const size_t lenA,\n
      \                               const uint32_t *B, const size_t lenB)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8070,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8074,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8103,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8112
      start: 8065
    functionDepth: 0
    functionLinenumber: 8065
    functionLinenumberEnd: 8112
    functionName: roaring::internal::union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint16(const uint16_t *set_1, size_t size_1, const uint16_t
      *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8120,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8140,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - a1
    - length1
    - a2
    - length2
    - a_out
    argTypes:
    - uint16_t*
    - int
    - uint16_t*
    - int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8157
      start: 8114
    functionDepth: 0
    functionLinenumber: 8114
    functionLinenumberEnd: 8157
    functionName: roaring::internal::difference_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int difference_uint16(const uint16_t *a1, int length1, const uint16_t
      *a2,\n                      int length2, uint16_t *a_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8180,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - array_1
    - card_1
    - array_2
    - card_2
    - out
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t*
    - int32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8188
      start: 8159
    functionDepth: 0
    functionLinenumber: 8159
    functionLinenumberEnd: 8188
    functionName: roaring::internal::xor_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t xor_uint16(const uint16_t *array_1, int32_t card_1,\n                   const
      uint16_t *array_2, int32_t card_2, uint16_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8207,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8208,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8209,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8210,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8211,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8212,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8213,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8214,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8215,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8216,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8217,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8218,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8219,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8220,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8221,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8222,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8223,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8224,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8225,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8226,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8227,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8228,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8229,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 4
    argNames:
    - vInput1
    - vInput2
    - vecMin
    - vecMax
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8231
      start: 8196
    functionDepth: 0
    functionLinenumber: 8196
    functionLinenumberEnd: 8231
    functionName: roaring::internal::sse_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - _mm_min_epu16
    - _mm_max_epu16
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 sse_merge(const __m128i *vInput1,\n                             const
      __m128i *vInput2,              // input 1 & 2\n                             __m128i
      *vecMin, __m128i *vecMax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8581,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8583,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8585,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8586,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8587,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8590
      start: 8577
    functionDepth: 0
    functionLinenumber: 8577
    functionLinenumberEnd: 8590
    functionName: roaring::internal::store_unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_lddqu_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 store_unique(__m128i old, __m128i newval, uint16_t
      *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8603
      start: 8591
    functionDepth: 0
    functionLinenumber: 8591
    functionLinenumberEnd: 8603
    functionName: roaring::internal::unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION unique(uint16_t *out, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8608
      start: 8606
    functionDepth: 0
    functionLinenumber: 8606
    functionLinenumberEnd: 8608
    functionName: roaring::internal::uint16_compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uint16_compare(const void *a, const void *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8617,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8627,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8629,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8631,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8632,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8633,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8641,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8649,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8657,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8658,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8661,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8662,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8671,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8673,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8676,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8678,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8679,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8682,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8685,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8686,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8687,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8691
      start: 8610
    functionDepth: 0
    functionLinenumber: 8610
    functionLinenumberEnd: 8691
    functionName: roaring::internal::union_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::union_uint16
    - roaring::internal::sse_merge
    - _mm_set1_epi16
    - roaring::internal::unique
    - roaring::internal::store_unique
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 union_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                        const uint16_t *__restrict__ array2,
      uint32_t length2,\n                        uint16_t *__restrict__ output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8708,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8709,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8710,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8711,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8712,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8713,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8714,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8714,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8715,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8716,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8717,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8720
      start: 8692
    functionDepth: 0
    functionLinenumber: 8692
    functionLinenumberEnd: 8720
    functionName: roaring::internal::store_unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_lddqu_si128
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_or_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION store_unique_xor(__m128i old, __m128i newval,\n
      \                                  uint16_t *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8734
      start: 8721
    functionDepth: 0
    functionLinenumber: 8721
    functionLinenumberEnd: 8734
    functionName: roaring::internal::unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION unique_xor(uint16_t *out, uint32_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8741,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8751,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8753,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8755,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8756,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8758,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8767,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8775,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8783,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8787,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8790,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8794,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8804,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8805,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8806,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8809,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8813,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8817,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8818,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8819,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8823,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8827,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8831,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8832,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8833,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8838
      start: 8735
    functionDepth: 0
    functionLinenumber: 8735
    functionLinenumberEnd: 8838
    functionName: roaring::internal::xor_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::store_unique_xor
    - roaring::internal::unique_xor
    - _mm_set1_epi16
    - roaring::internal::sse_merge
    - _mm_extract_epi16
    - roaring::internal::xor_uint16
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 xor_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                      const uint16_t *__restrict__ array2,
      uint32_t length2,\n                      uint16_t *__restrict__ output)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8851,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8855,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8884,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8888,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8893
      start: 8846
    functionDepth: 0
    functionLinenumber: 8846
    functionLinenumberEnd: 8893
    functionName: roaring::internal::union_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32(const uint32_t *set_1, size_t size_1, const uint32_t
      *set_2,\n                    size_t size_2, uint32_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8937
      start: 8895
    functionDepth: 0
    functionLinenumber: 8895
    functionLinenumberEnd: 8937
    functionName: roaring::internal::union_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32_card(const uint32_t *set_1, size_t size_1,\n                         const
      uint32_t *set_2, size_t size_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8944,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8947,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8950,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8956,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8959,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8966,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8973
      start: 8941
    functionDepth: 1
    functionLinenumber: 8941
    functionLinenumberEnd: 8973
    functionName: roaring::internal::fast_union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::union_uint16
    - croaring_avx2
    - roaring::internal::union_vector16
    linkageType: ''
    returnType: size_t
    signature: "size_t fast_union_uint16(const uint16_t *set_1, size_t size_1, const
      uint16_t *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8984,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8985,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8986,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8986,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8996,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8997,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9014
      start: 8975
    functionDepth: 0
    functionLinenumber: 8975
    functionLinenumberEnd: 9014
    functionName: roaring::internal::_avx2_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - _mm256_loadu_si256
    - memcpy
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 _avx2_memequals(const void *s1, const void *s2,
      size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9023,1
    - Dst: roaring::internal::_avx2_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9024,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9026,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9031
      start: 9018
    functionDepth: 1
    functionLinenumber: 9018
    functionLinenumberEnd: 9031
    functionName: roaring::internal::memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memcmp
    - croaring_avx2
    - roaring::internal::_avx2_memequals
    linkageType: ''
    returnType: bool
    signature: bool memequals(const void *s1, const void *s2, size_t n)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7461,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7462,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7464,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7467,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7468,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7469,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7470,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7471,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7477,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7482,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7487,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7490,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7492,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7493,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7494,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7495,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7501,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7506,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7526
      start: 7450
    functionDepth: 0
    functionLinenumber: 7450
    functionLinenumberEnd: 7526
    functionName: roaring::internal::intersect_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 intersect_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                           const uint16_t *__restrict__ B, size_t
      s_b,\n                           uint16_t *C)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7541,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7542,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7544,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7547,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7548,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7554,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7559,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7564,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7567,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7568,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7574,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7579,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7598
      start: 7527
    functionDepth: 0
    functionLinenumber: 7527
    functionLinenumberEnd: 7598
    functionName: roaring::internal::intersect_vector16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION intersect_vector16_cardinality(const uint16_t
      *__restrict__ A,\n                                       size_t s_a,\n                                       const
      uint16_t *__restrict__ B,\n                                       size_t s_b)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7612,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7642,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7643,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7646,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7655,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7658,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7667,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7669,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7671,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7672,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7673,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7678,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7679,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7685,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7694,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7695,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7696,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7698,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7701,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7703,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7704,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7706,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7707,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7708,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7730,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7732,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts:
    - condition: ((size_t)count <= i_a)
      pos:
        line_end: 7729
        line_start: 7729
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 7742
      start: 7599
    functionDepth: 0
    functionLinenumber: 7599
    functionLinenumberEnd: 7742
    functionName: roaring::internal::difference_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - memmove
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - assert
    - _mm_loadu_si128
    - _mm_lddqu_si128
    - memset
    - _mm_storeu_si128
    - _mm_or_si128
    - memcpy
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION difference_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                            const uint16_t *__restrict__ B,
      size_t s_b,\n                            uint16_t *C)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 10
    argNames:
    - array
    - n
    - target1
    - target2
    - target3
    - target4
    - index1
    - index2
    - index3
    - index4
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7778
      start: 7756
    functionDepth: 0
    functionLinenumber: 7756
    functionLinenumberEnd: 7778
    functionName: roaring::internal::binarySearch4
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch4(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                  uint16_t target2, uint16_t target3, uint16_t target4,\n                   int32_t
      *index1, int32_t *index2, int32_t *index3,\n                   int32_t *index4)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - array
    - n
    - target1
    - target2
    - index1
    - index2
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7802
      start: 7788
    functionDepth: 0
    functionLinenumber: 7788
    functionLinenumberEnd: 7802
    functionName: roaring::internal::binarySearch2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch2(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                  uint16_t target2, int32_t *index1, int32_t *index2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch4
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7824,1
    - Dst: roaring::internal::binarySearch2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7844,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7857,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - small
    - size_s
    - large
    - size_l
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7862
      start: 7810
    functionDepth: 0
    functionLinenumber: 7810
    functionLinenumberEnd: 7862
    functionName: roaring::internal::intersect_skewed_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    - roaring::internal::binarySearch2
    - roaring::internal::binarySearch4
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16(const uint16_t *small, size_t size_s,\n
      \                                        const uint16_t *large, size_t size_l,\n
      \                                        uint16_t *buffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7881,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7893,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7900
      start: 7867
    functionDepth: 0
    functionLinenumber: 7867
    functionLinenumberEnd: 7900
    functionName: roaring::internal::intersect_skewed_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16_cardinality(const uint16_t *small,\n
      \                                           size_t size_s,\n                                            const
      uint16_t *large,\n                                            size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:7914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7927
      start: 7902
    functionDepth: 0
    functionLinenumber: 7902
    functionLinenumberEnd: 7927
    functionName: roaring::internal::intersect_skewed_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool intersect_skewed_uint16_nonempty(const uint16_t *small, size_t
      size_s,\n                                const uint16_t *large, size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7955
      start: 7932
    functionDepth: 0
    functionLinenumber: 7932
    functionLinenumberEnd: 7955
    functionName: roaring::internal::intersect_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16(const uint16_t *A, const size_t lenA,\n                         const
      uint16_t *B, const size_t lenB, uint16_t *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7980
      start: 7957
    functionDepth: 0
    functionLinenumber: 7957
    functionLinenumberEnd: 7980
    functionName: roaring::internal::intersect_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16_cardinality(const uint16_t *A, const size_t
      lenA,\n                                     const uint16_t *B, const size_t
      lenB)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8004
      start: 7983
    functionDepth: 0
    functionLinenumber: 7983
    functionLinenumberEnd: 8004
    functionName: roaring::internal::intersect_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool intersect_uint16_nonempty(const uint16_t *A, const size_t lenA,\n
      \                        const uint16_t *B, const size_t lenB)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8035
      start: 8011
    functionDepth: 0
    functionLinenumber: 8011
    functionLinenumberEnd: 8035
    functionName: roaring::internal::intersection_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32(const uint32_t *A, const size_t lenA,\n
      \                          const uint32_t *B, const size_t lenB,\n                           uint32_t
      *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8060
      start: 8037
    functionDepth: 0
    functionLinenumber: 8037
    functionLinenumberEnd: 8060
    functionName: roaring::internal::intersection_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32_card(const uint32_t *A, const size_t lenA,\n
      \                               const uint32_t *B, const size_t lenB)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8070,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8074,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8103,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8112
      start: 8065
    functionDepth: 0
    functionLinenumber: 8065
    functionLinenumberEnd: 8112
    functionName: roaring::internal::union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint16(const uint16_t *set_1, size_t size_1, const uint16_t
      *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8120,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8140,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - a1
    - length1
    - a2
    - length2
    - a_out
    argTypes:
    - uint16_t*
    - int
    - uint16_t*
    - int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8157
      start: 8114
    functionDepth: 0
    functionLinenumber: 8114
    functionLinenumberEnd: 8157
    functionName: roaring::internal::difference_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int difference_uint16(const uint16_t *a1, int length1, const uint16_t
      *a2,\n                      int length2, uint16_t *a_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8180,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - array_1
    - card_1
    - array_2
    - card_2
    - out
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t*
    - int32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8188
      start: 8159
    functionDepth: 0
    functionLinenumber: 8159
    functionLinenumberEnd: 8188
    functionName: roaring::internal::xor_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t xor_uint16(const uint16_t *array_1, int32_t card_1,\n                   const
      uint16_t *array_2, int32_t card_2, uint16_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8207,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8208,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8209,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8210,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8211,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8212,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8213,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8214,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8215,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8216,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8217,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8218,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8219,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8220,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8221,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8222,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8223,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8224,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8225,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8226,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8227,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8228,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8229,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 4
    argNames:
    - vInput1
    - vInput2
    - vecMin
    - vecMax
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8231
      start: 8196
    functionDepth: 0
    functionLinenumber: 8196
    functionLinenumberEnd: 8231
    functionName: roaring::internal::sse_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - _mm_min_epu16
    - _mm_max_epu16
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 sse_merge(const __m128i *vInput1,\n                             const
      __m128i *vInput2,              // input 1 & 2\n                             __m128i
      *vecMin, __m128i *vecMax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8581,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8583,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8584,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8585,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8586,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8587,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8590
      start: 8577
    functionDepth: 0
    functionLinenumber: 8577
    functionLinenumberEnd: 8590
    functionName: roaring::internal::store_unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_lddqu_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 store_unique(__m128i old, __m128i newval, uint16_t
      *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8603
      start: 8591
    functionDepth: 0
    functionLinenumber: 8591
    functionLinenumberEnd: 8603
    functionName: roaring::internal::unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION unique(uint16_t *out, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8608
      start: 8606
    functionDepth: 0
    functionLinenumber: 8606
    functionLinenumberEnd: 8608
    functionName: roaring::internal::uint16_compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uint16_compare(const void *a, const void *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8617,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8627,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8629,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8631,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8632,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8633,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8641,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8649,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8657,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8658,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8661,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8662,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8671,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8673,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8676,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8678,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8679,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8682,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8685,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8686,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8687,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8691
      start: 8610
    functionDepth: 0
    functionLinenumber: 8610
    functionLinenumberEnd: 8691
    functionName: roaring::internal::union_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::internal::union_uint16
    - roaring::internal::sse_merge
    - _mm_set1_epi16
    - roaring::internal::unique
    - roaring::internal::store_unique
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 union_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                        const uint16_t *__restrict__ array2,
      uint32_t length2,\n                        uint16_t *__restrict__ output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8708,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8709,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8710,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8711,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8712,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8713,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8714,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8714,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8715,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8716,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8717,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8720
      start: 8692
    functionDepth: 0
    functionLinenumber: 8692
    functionLinenumberEnd: 8720
    functionName: roaring::internal::store_unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_lddqu_si128
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_or_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: "CROARING_UNTARGET_REGION store_unique_xor(__m128i old, __m128i newval,\n
      \                                  uint16_t *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8734
      start: 8721
    functionDepth: 0
    functionLinenumber: 8721
    functionLinenumberEnd: 8734
    functionName: roaring::internal::unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION unique_xor(uint16_t *out, uint32_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8741,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8751,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8753,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8755,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8756,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8758,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8767,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8775,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8783,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8787,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8790,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8794,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8804,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8805,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8806,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8809,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8813,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8817,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8818,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8819,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8823,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8827,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8831,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8832,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8833,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8838
      start: 8735
    functionDepth: 0
    functionLinenumber: 8735
    functionLinenumberEnd: 8838
    functionName: roaring::internal::xor_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::store_unique_xor
    - roaring::internal::unique_xor
    - _mm_set1_epi16
    - roaring::internal::sse_merge
    - _mm_extract_epi16
    - roaring::internal::xor_uint16
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 xor_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                      const uint16_t *__restrict__ array2,
      uint32_t length2,\n                      uint16_t *__restrict__ output)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8851,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8855,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8884,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8888,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8893
      start: 8846
    functionDepth: 0
    functionLinenumber: 8846
    functionLinenumberEnd: 8893
    functionName: roaring::internal::union_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32(const uint32_t *set_1, size_t size_1, const uint32_t
      *set_2,\n                    size_t size_2, uint32_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8937
      start: 8895
    functionDepth: 0
    functionLinenumber: 8895
    functionLinenumberEnd: 8937
    functionName: roaring::internal::union_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32_card(const uint32_t *set_1, size_t size_1,\n                         const
      uint32_t *set_2, size_t size_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8944,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8947,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8950,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8956,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8959,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8966,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8973
      start: 8941
    functionDepth: 1
    functionLinenumber: 8941
    functionLinenumberEnd: 8973
    functionName: roaring::internal::fast_union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::union_uint16
    - croaring_avx2
    - roaring::internal::union_vector16
    linkageType: ''
    returnType: size_t
    signature: "size_t fast_union_uint16(const uint16_t *set_1, size_t size_1, const
      uint16_t *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8984,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8985,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8986,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8986,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8996,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:8997,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9014
      start: 8975
    functionDepth: 0
    functionLinenumber: 8975
    functionLinenumberEnd: 9014
    functionName: roaring::internal::_avx2_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - _mm256_loadu_si256
    - memcpy
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 _avx2_memequals(const void *s1, const void *s2,
      size_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9023,1
    - Dst: roaring::internal::_avx2_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9024,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9026,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9031
      start: 9018
    functionDepth: 1
    functionLinenumber: 9018
    functionLinenumberEnd: 9031
    functionName: roaring::internal::memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memcmp
    - croaring_avx2
    - roaring::internal::_avx2_memequals
    linkageType: ''
    returnType: bool
    signature: bool memequals(const void *s1, const void *s2, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9597,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9598,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9599,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9605,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9612,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9614,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9617,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9618,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9619,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9620,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9621,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9623,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9633,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9635,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9643
      start: 9592
    functionDepth: 1
    functionLinenumber: 9592
    functionLinenumberEnd: 9643
    functionName: roaring::internal::bitset_extract_setbits_avx2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - __builtin_ctzll
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_avx2(const uint64_t *words,
      size_t length,\n                                   uint32_t *out, size_t outcapacity,\n
      \                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9655,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9665
      start: 9647
    functionDepth: 1
    functionLinenumber: 9647
    functionLinenumberEnd: 9665
    functionName: roaring::internal::bitset_extract_setbits
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits(const uint64_t *words, size_t length,\n
      \                             uint32_t *out, uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - words1
    - words2
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9685
      start: 9667
    functionDepth: 1
    functionLinenumber: 9667
    functionLinenumberEnd: 9685
    functionName: roaring::internal::bitset_extract_intersection_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_intersection_setbits_uint16(const uint64_t *
      __restrict__ words1,\n                                                  const
      uint64_t * __restrict__ words2,\n                                                  size_t
      length, uint16_t *out,\n                                                  uint16_t
      base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9705,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9706,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9707,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9714,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9720,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9722,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9726,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9727,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9728,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9729,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9730,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9732,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9742,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9750
      start: 9700
    functionDepth: 1
    functionLinenumber: 9700
    functionLinenumberEnd: 9750
    functionName: roaring::internal::bitset_extract_setbits_sse_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_set1_epi16
    - _mm_loadu_si128
    - __builtin_ctzll
    - _mm_add_epi16
    - _mm_storeu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_sse_uint16(const uint64_t
      *words, size_t length,\n                                         uint16_t *out,
      size_t outcapacity,\n                                         uint16_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9778
      start: 9763
    functionDepth: 1
    functionLinenumber: 9763
    functionLinenumberEnd: 9778
    functionName: roaring::internal::bitset_extract_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_uint16(const uint64_t *words, size_t
      length,\n                                     uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9805
      start: 9782
    functionDepth: 0
    functionLinenumber: 9782
    functionLinenumberEnd: 9805
    functionName: roaring::internal::_asm_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9860
      start: 9807
    functionDepth: 0
    functionLinenumber: 9807
    functionLinenumberEnd: 9860
    functionName: roaring::internal::_asm_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _asm_bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9886
      start: 9862
    functionDepth: 0
    functionLinenumber: 9862
    functionLinenumberEnd: 9886
    functionName: roaring::internal::_asm_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_clear_list(uint64_t *words, uint64_t card, const
      uint16_t *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9903
      start: 9888
    functionDepth: 0
    functionLinenumber: 9888
    functionLinenumberEnd: 9903
    functionName: roaring::internal::_scalar_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_clear_list(uint64_t *words, uint64_t card,
      const uint16_t *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9920
      start: 9905
    functionDepth: 0
    functionLinenumber: 9905
    functionLinenumberEnd: 9920
    functionName: roaring::internal::_scalar_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_set_list_withcard(uint64_t *words, uint64_t
      card,\n                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9934
      start: 9922
    functionDepth: 0
    functionLinenumber: 9922
    functionLinenumberEnd: 9934
    functionName: roaring::internal::_scalar_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void _scalar_bitset_set_list(uint64_t *words, const uint16_t *list,
      uint64_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9938,1
    - Dst: roaring::internal::_asm_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9939,1
    - Dst: roaring::internal::_scalar_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9943
      start: 9936
    functionDepth: 1
    functionLinenumber: 9936
    functionLinenumberEnd: 9943
    functionName: roaring::internal::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::_asm_bitset_clear_list
    - croaring_avx2
    - roaring::internal::_scalar_bitset_clear_list
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9947,1
    - Dst: roaring::internal::_asm_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9948,1
    - Dst: roaring::internal::_scalar_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9952
      start: 9945
    functionDepth: 1
    functionLinenumber: 9945
    functionLinenumberEnd: 9952
    functionName: roaring::internal::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::_scalar_bitset_set_list_withcard
    - roaring::internal::_asm_bitset_set_list_withcard
    - croaring_avx2
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9955,1
    - Dst: roaring::internal::_asm_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9956,1
    - Dst: roaring::internal::_scalar_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9960
      start: 9954
    functionDepth: 1
    functionLinenumber: 9954
    functionLinenumberEnd: 9960
    functionName: roaring::internal::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - croaring_avx2
    - roaring::internal::_scalar_bitset_set_list
    - roaring::internal::_asm_bitset_set_list
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9977
      start: 9962
    functionDepth: 0
    functionLinenumber: 9962
    functionLinenumberEnd: 9977
    functionName: roaring::internal::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9994
      start: 9979
    functionDepth: 0
    functionLinenumber: 9979
    functionLinenumberEnd: 9994
    functionName: roaring::internal::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10008
      start: 9996
    functionDepth: 0
    functionLinenumber: 9996
    functionLinenumberEnd: 10008
    functionName: roaring::internal::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10024,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10032
      start: 10015
    functionDepth: 0
    functionLinenumber: 10015
    functionLinenumberEnd: 10032
    functionName: roaring::internal::bitset_flip_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_flip_list_withcard(uint64_t *words, uint64_t card,\n
      \                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10046
      start: 10034
    functionDepth: 0
    functionLinenumber: 10034
    functionLinenumberEnd: 10046
    functionName: roaring::internal::bitset_flip_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_flip_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9597,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9598,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9599,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9605,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9612,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9614,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9617,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9618,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9619,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9620,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9621,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9623,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9633,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9635,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9643
      start: 9592
    functionDepth: 1
    functionLinenumber: 9592
    functionLinenumberEnd: 9643
    functionName: roaring::internal::bitset_extract_setbits_avx2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - __builtin_ctzll
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_avx2(const uint64_t *words,
      size_t length,\n                                   uint32_t *out, size_t outcapacity,\n
      \                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9655,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9665
      start: 9647
    functionDepth: 1
    functionLinenumber: 9647
    functionLinenumberEnd: 9665
    functionName: roaring::internal::bitset_extract_setbits
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits(const uint64_t *words, size_t length,\n
      \                             uint32_t *out, uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - words1
    - words2
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9685
      start: 9667
    functionDepth: 1
    functionLinenumber: 9667
    functionLinenumberEnd: 9685
    functionName: roaring::internal::bitset_extract_intersection_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_intersection_setbits_uint16(const uint64_t *
      __restrict__ words1,\n                                                  const
      uint64_t * __restrict__ words2,\n                                                  size_t
      length, uint16_t *out,\n                                                  uint16_t
      base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9705,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9706,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9707,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9714,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9720,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9722,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9726,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9727,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9728,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9729,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9730,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9732,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9742,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9750
      start: 9700
    functionDepth: 1
    functionLinenumber: 9700
    functionLinenumberEnd: 9750
    functionName: roaring::internal::bitset_extract_setbits_sse_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_set1_epi16
    - _mm_loadu_si128
    - __builtin_ctzll
    - _mm_add_epi16
    - _mm_storeu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_sse_uint16(const uint64_t
      *words, size_t length,\n                                         uint16_t *out,
      size_t outcapacity,\n                                         uint16_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9778
      start: 9763
    functionDepth: 1
    functionLinenumber: 9763
    functionLinenumberEnd: 9778
    functionName: roaring::internal::bitset_extract_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_uint16(const uint64_t *words, size_t
      length,\n                                     uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9805
      start: 9782
    functionDepth: 0
    functionLinenumber: 9782
    functionLinenumberEnd: 9805
    functionName: roaring::internal::_asm_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9860
      start: 9807
    functionDepth: 0
    functionLinenumber: 9807
    functionLinenumberEnd: 9860
    functionName: roaring::internal::_asm_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _asm_bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9886
      start: 9862
    functionDepth: 0
    functionLinenumber: 9862
    functionLinenumberEnd: 9886
    functionName: roaring::internal::_asm_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_clear_list(uint64_t *words, uint64_t card, const
      uint16_t *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9903
      start: 9888
    functionDepth: 0
    functionLinenumber: 9888
    functionLinenumberEnd: 9903
    functionName: roaring::internal::_scalar_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_clear_list(uint64_t *words, uint64_t card,
      const uint16_t *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9920
      start: 9905
    functionDepth: 0
    functionLinenumber: 9905
    functionLinenumberEnd: 9920
    functionName: roaring::internal::_scalar_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_set_list_withcard(uint64_t *words, uint64_t
      card,\n                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9934
      start: 9922
    functionDepth: 0
    functionLinenumber: 9922
    functionLinenumberEnd: 9934
    functionName: roaring::internal::_scalar_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void _scalar_bitset_set_list(uint64_t *words, const uint16_t *list,
      uint64_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9938,1
    - Dst: roaring::internal::_asm_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9939,1
    - Dst: roaring::internal::_scalar_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9943
      start: 9936
    functionDepth: 1
    functionLinenumber: 9936
    functionLinenumberEnd: 9943
    functionName: roaring::internal::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::_asm_bitset_clear_list
    - croaring_avx2
    - roaring::internal::_scalar_bitset_clear_list
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9947,1
    - Dst: roaring::internal::_asm_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9948,1
    - Dst: roaring::internal::_scalar_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9952
      start: 9945
    functionDepth: 1
    functionLinenumber: 9945
    functionLinenumberEnd: 9952
    functionName: roaring::internal::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::_scalar_bitset_set_list_withcard
    - roaring::internal::_asm_bitset_set_list_withcard
    - croaring_avx2
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9955,1
    - Dst: roaring::internal::_asm_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9956,1
    - Dst: roaring::internal::_scalar_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9960
      start: 9954
    functionDepth: 1
    functionLinenumber: 9954
    functionLinenumberEnd: 9960
    functionName: roaring::internal::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - croaring_avx2
    - roaring::internal::_scalar_bitset_set_list
    - roaring::internal::_asm_bitset_set_list
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9977
      start: 9962
    functionDepth: 0
    functionLinenumber: 9962
    functionLinenumberEnd: 9977
    functionName: roaring::internal::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9994
      start: 9979
    functionDepth: 0
    functionLinenumber: 9979
    functionLinenumberEnd: 9994
    functionName: roaring::internal::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10008
      start: 9996
    functionDepth: 0
    functionLinenumber: 9996
    functionLinenumberEnd: 10008
    functionName: roaring::internal::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10024,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10032
      start: 10015
    functionDepth: 0
    functionLinenumber: 10015
    functionLinenumberEnd: 10032
    functionName: roaring::internal::bitset_flip_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_flip_list_withcard(uint64_t *words, uint64_t card,\n
      \                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10046
      start: 10034
    functionDepth: 0
    functionLinenumber: 10034
    functionLinenumberEnd: 10046
    functionName: roaring::internal::bitset_flip_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_flip_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9597,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9598,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9599,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9605,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9612,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9614,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9617,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9618,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9619,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9620,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9621,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9623,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9633,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9635,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9643
      start: 9592
    functionDepth: 1
    functionLinenumber: 9592
    functionLinenumberEnd: 9643
    functionName: roaring::internal::bitset_extract_setbits_avx2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - __builtin_ctzll
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_avx2(const uint64_t *words,
      size_t length,\n                                   uint32_t *out, size_t outcapacity,\n
      \                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9655,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9665
      start: 9647
    functionDepth: 1
    functionLinenumber: 9647
    functionLinenumberEnd: 9665
    functionName: roaring::internal::bitset_extract_setbits
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits(const uint64_t *words, size_t length,\n
      \                             uint32_t *out, uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - words1
    - words2
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9685
      start: 9667
    functionDepth: 1
    functionLinenumber: 9667
    functionLinenumberEnd: 9685
    functionName: roaring::internal::bitset_extract_intersection_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_intersection_setbits_uint16(const uint64_t *
      __restrict__ words1,\n                                                  const
      uint64_t * __restrict__ words2,\n                                                  size_t
      length, uint16_t *out,\n                                                  uint16_t
      base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9705,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9706,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9707,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9714,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9720,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9722,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9726,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9727,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9728,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9729,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9730,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9732,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9742,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9750
      start: 9700
    functionDepth: 1
    functionLinenumber: 9700
    functionLinenumberEnd: 9750
    functionName: roaring::internal::bitset_extract_setbits_sse_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_set1_epi16
    - _mm_loadu_si128
    - __builtin_ctzll
    - _mm_add_epi16
    - _mm_storeu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_sse_uint16(const uint64_t
      *words, size_t length,\n                                         uint16_t *out,
      size_t outcapacity,\n                                         uint16_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9778
      start: 9763
    functionDepth: 1
    functionLinenumber: 9763
    functionLinenumberEnd: 9778
    functionName: roaring::internal::bitset_extract_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_uint16(const uint64_t *words, size_t
      length,\n                                     uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9805
      start: 9782
    functionDepth: 0
    functionLinenumber: 9782
    functionLinenumberEnd: 9805
    functionName: roaring::internal::_asm_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9860
      start: 9807
    functionDepth: 0
    functionLinenumber: 9807
    functionLinenumberEnd: 9860
    functionName: roaring::internal::_asm_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _asm_bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9886
      start: 9862
    functionDepth: 0
    functionLinenumber: 9862
    functionLinenumberEnd: 9886
    functionName: roaring::internal::_asm_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_clear_list(uint64_t *words, uint64_t card, const
      uint16_t *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9903
      start: 9888
    functionDepth: 0
    functionLinenumber: 9888
    functionLinenumberEnd: 9903
    functionName: roaring::internal::_scalar_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_clear_list(uint64_t *words, uint64_t card,
      const uint16_t *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9920
      start: 9905
    functionDepth: 0
    functionLinenumber: 9905
    functionLinenumberEnd: 9920
    functionName: roaring::internal::_scalar_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_set_list_withcard(uint64_t *words, uint64_t
      card,\n                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9934
      start: 9922
    functionDepth: 0
    functionLinenumber: 9922
    functionLinenumberEnd: 9934
    functionName: roaring::internal::_scalar_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void _scalar_bitset_set_list(uint64_t *words, const uint16_t *list,
      uint64_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9938,1
    - Dst: roaring::internal::_asm_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9939,1
    - Dst: roaring::internal::_scalar_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9943
      start: 9936
    functionDepth: 1
    functionLinenumber: 9936
    functionLinenumberEnd: 9943
    functionName: roaring::internal::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::_asm_bitset_clear_list
    - croaring_avx2
    - roaring::internal::_scalar_bitset_clear_list
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9947,1
    - Dst: roaring::internal::_asm_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9948,1
    - Dst: roaring::internal::_scalar_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9952
      start: 9945
    functionDepth: 1
    functionLinenumber: 9945
    functionLinenumberEnd: 9952
    functionName: roaring::internal::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::_scalar_bitset_set_list_withcard
    - roaring::internal::_asm_bitset_set_list_withcard
    - croaring_avx2
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9955,1
    - Dst: roaring::internal::_asm_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9956,1
    - Dst: roaring::internal::_scalar_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9960
      start: 9954
    functionDepth: 1
    functionLinenumber: 9954
    functionLinenumberEnd: 9960
    functionName: roaring::internal::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - croaring_avx2
    - roaring::internal::_scalar_bitset_set_list
    - roaring::internal::_asm_bitset_set_list
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9977
      start: 9962
    functionDepth: 0
    functionLinenumber: 9962
    functionLinenumberEnd: 9977
    functionName: roaring::internal::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9994
      start: 9979
    functionDepth: 0
    functionLinenumber: 9979
    functionLinenumberEnd: 9994
    functionName: roaring::internal::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10008
      start: 9996
    functionDepth: 0
    functionLinenumber: 9996
    functionLinenumberEnd: 10008
    functionName: roaring::internal::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10024,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10032
      start: 10015
    functionDepth: 0
    functionLinenumber: 10015
    functionLinenumberEnd: 10032
    functionName: roaring::internal::bitset_flip_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_flip_list_withcard(uint64_t *words, uint64_t card,\n
      \                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10046
      start: 10034
    functionDepth: 0
    functionLinenumber: 10034
    functionLinenumberEnd: 10046
    functionName: roaring::internal::bitset_flip_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_flip_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9597,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9598,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9599,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9605,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9612,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9614,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9617,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9618,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9619,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9620,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9621,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9623,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9633,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9635,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9643
      start: 9592
    functionDepth: 1
    functionLinenumber: 9592
    functionLinenumberEnd: 9643
    functionName: roaring::internal::bitset_extract_setbits_avx2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - __builtin_ctzll
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_avx2(const uint64_t *words,
      size_t length,\n                                   uint32_t *out, size_t outcapacity,\n
      \                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9655,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9665
      start: 9647
    functionDepth: 1
    functionLinenumber: 9647
    functionLinenumberEnd: 9665
    functionName: roaring::internal::bitset_extract_setbits
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits(const uint64_t *words, size_t length,\n
      \                             uint32_t *out, uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - words1
    - words2
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9685
      start: 9667
    functionDepth: 1
    functionLinenumber: 9667
    functionLinenumberEnd: 9685
    functionName: roaring::internal::bitset_extract_intersection_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_intersection_setbits_uint16(const uint64_t *
      __restrict__ words1,\n                                                  const
      uint64_t * __restrict__ words2,\n                                                  size_t
      length, uint16_t *out,\n                                                  uint16_t
      base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9705,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9706,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9707,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9714,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9720,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9722,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9726,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9727,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9728,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9729,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9730,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9732,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9742,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9750
      start: 9700
    functionDepth: 1
    functionLinenumber: 9700
    functionLinenumberEnd: 9750
    functionName: roaring::internal::bitset_extract_setbits_sse_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm_set1_epi16
    - _mm_loadu_si128
    - __builtin_ctzll
    - _mm_add_epi16
    - _mm_storeu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_sse_uint16(const uint64_t
      *words, size_t length,\n                                         uint16_t *out,
      size_t outcapacity,\n                                         uint16_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9778
      start: 9763
    functionDepth: 1
    functionLinenumber: 9763
    functionLinenumberEnd: 9778
    functionName: roaring::internal::bitset_extract_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_uint16(const uint64_t *words, size_t
      length,\n                                     uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9805
      start: 9782
    functionDepth: 0
    functionLinenumber: 9782
    functionLinenumberEnd: 9805
    functionName: roaring::internal::_asm_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9860
      start: 9807
    functionDepth: 0
    functionLinenumber: 9807
    functionLinenumberEnd: 9860
    functionName: roaring::internal::_asm_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _asm_bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9886
      start: 9862
    functionDepth: 0
    functionLinenumber: 9862
    functionLinenumberEnd: 9886
    functionName: roaring::internal::_asm_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_clear_list(uint64_t *words, uint64_t card, const
      uint16_t *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9903
      start: 9888
    functionDepth: 0
    functionLinenumber: 9888
    functionLinenumberEnd: 9903
    functionName: roaring::internal::_scalar_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_clear_list(uint64_t *words, uint64_t card,
      const uint16_t *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9920
      start: 9905
    functionDepth: 0
    functionLinenumber: 9905
    functionLinenumberEnd: 9920
    functionName: roaring::internal::_scalar_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_set_list_withcard(uint64_t *words, uint64_t
      card,\n                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9934
      start: 9922
    functionDepth: 0
    functionLinenumber: 9922
    functionLinenumberEnd: 9934
    functionName: roaring::internal::_scalar_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void _scalar_bitset_set_list(uint64_t *words, const uint16_t *list,
      uint64_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9938,1
    - Dst: roaring::internal::_asm_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9939,1
    - Dst: roaring::internal::_scalar_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9943
      start: 9936
    functionDepth: 1
    functionLinenumber: 9936
    functionLinenumberEnd: 9943
    functionName: roaring::internal::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::_asm_bitset_clear_list
    - croaring_avx2
    - roaring::internal::_scalar_bitset_clear_list
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9947,1
    - Dst: roaring::internal::_asm_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9948,1
    - Dst: roaring::internal::_scalar_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9952
      start: 9945
    functionDepth: 1
    functionLinenumber: 9945
    functionLinenumberEnd: 9952
    functionName: roaring::internal::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::_scalar_bitset_set_list_withcard
    - roaring::internal::_asm_bitset_set_list_withcard
    - croaring_avx2
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9955,1
    - Dst: roaring::internal::_asm_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9956,1
    - Dst: roaring::internal::_scalar_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9960
      start: 9954
    functionDepth: 1
    functionLinenumber: 9954
    functionLinenumberEnd: 9960
    functionName: roaring::internal::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - croaring_avx2
    - roaring::internal::_scalar_bitset_set_list
    - roaring::internal::_asm_bitset_set_list
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9977
      start: 9962
    functionDepth: 0
    functionLinenumber: 9962
    functionLinenumberEnd: 9977
    functionName: roaring::internal::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:9988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9994
      start: 9979
    functionDepth: 0
    functionLinenumber: 9979
    functionLinenumberEnd: 9994
    functionName: roaring::internal::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10008
      start: 9996
    functionDepth: 0
    functionLinenumber: 9996
    functionLinenumberEnd: 10008
    functionName: roaring::internal::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10024,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10032
      start: 10015
    functionDepth: 0
    functionLinenumber: 10015
    functionLinenumberEnd: 10032
    functionName: roaring::internal::bitset_flip_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_flip_list_withcard(uint64_t *words, uint64_t card,\n
      \                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10046
      start: 10034
    functionDepth: 0
    functionLinenumber: 10034
    functionLinenumberEnd: 10046
    functionName: roaring::internal::bitset_flip_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_flip_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10084,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10091,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10101
      start: 10081
    functionDepth: 0
    functionLinenumber: 10081
    functionLinenumberEnd: 10101
    functionName: roaring::internal::array_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_given_capacity(int32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10106
      start: 10104
    functionDepth: 0
    functionLinenumber: 10104
    functionLinenumberEnd: 10106
    functionName: roaring::internal::array_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10118
      start: 10109
    functionDepth: 0
    functionLinenumber: 10109
    functionLinenumberEnd: 10118
    functionName: roaring::internal::array_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t * array_container_create_range(uint32_t min, uint32_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10123,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10132
      start: 10121
    functionDepth: 0
    functionLinenumber: 10121
    functionLinenumberEnd: 10132
    functionName: roaring::internal::array_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_clone(const array_container_t *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10142,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10145,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10147,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10155,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - array_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10161
      start: 10134
    functionDepth: 0
    functionLinenumber: 10134
    functionLinenumberEnd: 10161
    functionName: roaring::internal::array_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_add
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::count_less
    linkageType: ''
    returnType: void
    signature: "void array_container_offset(const array_container_t *c,\n                            container_t
      **loc, container_t **hic,\n                            uint16_t offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10168,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10173,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10177
      start: 10163
    functionDepth: 0
    functionLinenumber: 10163
    functionLinenumberEnd: 10177
    functionName: roaring::internal::array_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_realloc
    - roaring_free
    linkageType: ''
    returnType: int
    signature: int array_container_shrink_to_fit(array_container_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10182,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10186
      start: 10180
    functionDepth: 0
    functionLinenumber: 10180
    functionLinenumberEnd: 10186
    functionName: roaring::internal::array_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void array_container_free(array_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10193
      start: 10188
    functionDepth: 0
    functionLinenumber: 10188
    functionLinenumberEnd: 10193
    functionName: roaring::internal::grow_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t grow_capacity(int32_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - min
    - max
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10197
      start: 10195
    functionDepth: 0
    functionLinenumber: 10195
    functionLinenumberEnd: 10197
    functionName: roaring::internal::clamp
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t clamp(int32_t val, int32_t min, int32_t max)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::clamp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10203,1
    - Dst: roaring::internal::grow_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10203,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10210,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10211,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10215,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10217,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10222,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - container
    - min
    - preserve
    argTypes:
    - array_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (container->array != NULL)
      pos:
        line_end: 10223
        line_start: 10223
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 10225
      start: 10199
    functionDepth: 1
    functionLinenumber: 10199
    functionLinenumberEnd: 10225
    functionName: roaring::internal::array_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - assert
    - roaring::internal::clamp
    - roaring_free
    - roaring::internal::grow_capacity
    - roaring_malloc
    - roaring_realloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void array_container_grow(array_container_t *container, int32_t min,\n
      \                         bool preserve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10232,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10237
      start: 10228
    functionDepth: 0
    functionLinenumber: 10228
    functionLinenumberEnd: 10237
    functionName: roaring::internal::array_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void array_container_copy(const array_container_t *src,\n                          array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - arr
    - min
    - max
    - step
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10245
      start: 10239
    functionDepth: 0
    functionLinenumber: 10239
    functionLinenumberEnd: 10245
    functionName: roaring::internal::array_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_append
    linkageType: ''
    returnType: void
    signature: "void array_container_add_from_range(array_container_t *arr, uint32_t
      min,\n                                    uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10257,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10262
      start: 10250
    functionDepth: 0
    functionLinenumber: 10250
    functionLinenumberEnd: 10262
    functionName: roaring::internal::array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::fast_union_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_union(const array_container_t *array_1,\n                           const
      array_container_t *array_2,\n                           array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10272,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10274,1
    - Dst: roaring::internal::difference_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10276,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10280,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10288
      start: 10268
    functionDepth: 1
    functionLinenumber: 10268
    functionLinenumberEnd: 10288
    functionName: roaring::internal::array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::difference_vector16
    - croaring_avx2
    - roaring::internal::difference_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_andnot(const array_container_t *array_1,\n                            const
      array_container_t *array_2,\n                            array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10301,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10305,1
    - Dst: roaring::internal::xor_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10307,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10311,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10319
      start: 10295
    functionDepth: 1
    functionLinenumber: 10295
    functionLinenumberEnd: 10319
    functionName: roaring::internal::array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::xor_vector16
    - croaring_avx2
    - roaring::internal::xor_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_xor(const array_container_t *array_1,\n                         const
      array_container_t *array_2,\n                         array_container_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10323
      start: 10321
    functionDepth: 0
    functionLinenumber: 10321
    functionLinenumberEnd: 10323
    functionName: roaring::internal::minimum_int32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t minimum_int32(int32_t a, int32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::minimum_int32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10333,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10337,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10342,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10347,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10350,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10354,1
    - Dst: roaring::internal::intersect_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10355,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10358,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - array1
    - array2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10366
      start: 10329
    functionDepth: 1
    functionLinenumber: 10329
    functionLinenumberEnd: 10366
    functionName: roaring::internal::array_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::intersect_vector16
    - roaring::internal::intersect_uint16
    - croaring_avx2
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::minimum_int32
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection(const array_container_t *array1,\n
      \                                 const array_container_t *array2,\n                                  array_container_t
      *out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10375,1
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10378,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10382,1
    - Dst: roaring::internal::intersect_vector16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10383,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10386,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10394
      start: 10370
    functionDepth: 1
    functionLinenumber: 10370
    functionLinenumberEnd: 10394
    functionName: roaring::internal::array_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_uint16_cardinality
    - croaring_avx2
    - roaring::internal::intersect_skewed_uint16_cardinality
    - roaring::internal::intersect_vector16_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_container_intersection_cardinality(const array_container_t
      *array1,\n                                             const array_container_t
      *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10401,1
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10404,1
    - Dst: roaring::internal::intersect_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10411
      start: 10396
    functionDepth: 0
    functionLinenumber: 10396
    functionLinenumberEnd: 10411
    functionName: roaring::internal::array_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_skewed_uint16_nonempty
    - roaring::internal::intersect_uint16_nonempty
    linkageType: ''
    returnType: bool
    signature: "bool array_container_intersect(const array_container_t *array1,\n
      \                                 const array_container_t *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10422,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10425,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10431
      start: 10416
    functionDepth: 0
    functionLinenumber: 10416
    functionLinenumberEnd: 10431
    functionName: roaring::internal::array_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::intersect_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection_inplace(array_container_t *src_1,\n
      \                                         const array_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10445
      start: 10433
    functionDepth: 0
    functionLinenumber: 10433
    functionLinenumberEnd: 10445
    functionName: roaring::internal::array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array(void *vout, const
      array_container_t *cont,\n                                    uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10451,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10454,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10455,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10457,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10460
      start: 10448
    functionDepth: 1
    functionLinenumber: 10448
    functionLinenumberEnd: 10460
    functionName: roaring::internal::array_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void array_container_printf(const array_container_t *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10469,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10473
      start: 10462
    functionDepth: 1
    functionLinenumber: 10462
    functionLinenumberEnd: 10473
    functionName: roaring::internal::array_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void array_container_printf_as_uint32_array(const array_container_t
      *v,\n                                            uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10487
      start: 10477
    functionDepth: 0
    functionLinenumber: 10477
    functionLinenumberEnd: 10487
    functionName: roaring::internal::array_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_number_of_runs(const array_container_t *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10496,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10498
      start: 10495
    functionDepth: 0
    functionLinenumber: 10495
    functionLinenumberEnd: 10498
    functionName: roaring::internal::array_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_write(const array_container_t *container, char
      *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10521
      start: 10500
    functionDepth: 0
    functionLinenumber: 10500
    functionLinenumberEnd: 10521
    functionName: roaring::internal::array_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset(const array_container_t *container1,\n
      \                              const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10526,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10529,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10532
      start: 10523
    functionDepth: 0
    functionLinenumber: 10523
    functionLinenumberEnd: 10532
    functionName: roaring::internal::array_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_read(int32_t cardinality, array_container_t
      *container,\n                             const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10540
      start: 10534
    functionDepth: 0
    functionLinenumber: 10534
    functionLinenumberEnd: 10540
    functionName: roaring::internal::array_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate(const array_container_t *cont, uint32_t
      base,\n                             roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10550
      start: 10542
    functionDepth: 0
    functionLinenumber: 10542
    functionLinenumberEnd: 10550
    functionName: roaring::internal::array_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate64(const array_container_t *cont, uint32_t
      base,\n                               roaring_iterator64 iterator, uint64_t
      high_bits,\n                               void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10084,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10091,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10101
      start: 10081
    functionDepth: 0
    functionLinenumber: 10081
    functionLinenumberEnd: 10101
    functionName: roaring::internal::array_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_given_capacity(int32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10106
      start: 10104
    functionDepth: 0
    functionLinenumber: 10104
    functionLinenumberEnd: 10106
    functionName: roaring::internal::array_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10118
      start: 10109
    functionDepth: 0
    functionLinenumber: 10109
    functionLinenumberEnd: 10118
    functionName: roaring::internal::array_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t * array_container_create_range(uint32_t min, uint32_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10123,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10132
      start: 10121
    functionDepth: 0
    functionLinenumber: 10121
    functionLinenumberEnd: 10132
    functionName: roaring::internal::array_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_clone(const array_container_t *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10142,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10145,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10147,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10155,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - array_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10161
      start: 10134
    functionDepth: 0
    functionLinenumber: 10134
    functionLinenumberEnd: 10161
    functionName: roaring::internal::array_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_add
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::count_less
    linkageType: ''
    returnType: void
    signature: "void array_container_offset(const array_container_t *c,\n                            container_t
      **loc, container_t **hic,\n                            uint16_t offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10168,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10173,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10177
      start: 10163
    functionDepth: 0
    functionLinenumber: 10163
    functionLinenumberEnd: 10177
    functionName: roaring::internal::array_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_realloc
    - roaring_free
    linkageType: ''
    returnType: int
    signature: int array_container_shrink_to_fit(array_container_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10182,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10186
      start: 10180
    functionDepth: 0
    functionLinenumber: 10180
    functionLinenumberEnd: 10186
    functionName: roaring::internal::array_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void array_container_free(array_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10193
      start: 10188
    functionDepth: 0
    functionLinenumber: 10188
    functionLinenumberEnd: 10193
    functionName: roaring::internal::grow_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t grow_capacity(int32_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - min
    - max
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10197
      start: 10195
    functionDepth: 0
    functionLinenumber: 10195
    functionLinenumberEnd: 10197
    functionName: roaring::internal::clamp
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t clamp(int32_t val, int32_t min, int32_t max)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::clamp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10203,1
    - Dst: roaring::internal::grow_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10203,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10210,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10211,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10215,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10217,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10222,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - container
    - min
    - preserve
    argTypes:
    - array_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (container->array != NULL)
      pos:
        line_end: 10223
        line_start: 10223
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 10225
      start: 10199
    functionDepth: 1
    functionLinenumber: 10199
    functionLinenumberEnd: 10225
    functionName: roaring::internal::array_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 18
    functionsReached:
    - assert
    - roaring::internal::clamp
    - roaring_free
    - roaring::internal::grow_capacity
    - roaring_malloc
    - roaring_realloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void array_container_grow(array_container_t *container, int32_t min,\n
      \                         bool preserve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10232,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10237
      start: 10228
    functionDepth: 0
    functionLinenumber: 10228
    functionLinenumberEnd: 10237
    functionName: roaring::internal::array_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void array_container_copy(const array_container_t *src,\n                          array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - arr
    - min
    - max
    - step
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10245
      start: 10239
    functionDepth: 0
    functionLinenumber: 10239
    functionLinenumberEnd: 10245
    functionName: roaring::internal::array_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_append
    linkageType: ''
    returnType: void
    signature: "void array_container_add_from_range(array_container_t *arr, uint32_t
      min,\n                                    uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10257,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10262
      start: 10250
    functionDepth: 0
    functionLinenumber: 10250
    functionLinenumberEnd: 10262
    functionName: roaring::internal::array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::fast_union_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_union(const array_container_t *array_1,\n                           const
      array_container_t *array_2,\n                           array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10272,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10274,1
    - Dst: roaring::internal::difference_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10276,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10280,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10288
      start: 10268
    functionDepth: 1
    functionLinenumber: 10268
    functionLinenumberEnd: 10288
    functionName: roaring::internal::array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::difference_vector16
    - croaring_avx2
    - roaring::internal::difference_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_andnot(const array_container_t *array_1,\n                            const
      array_container_t *array_2,\n                            array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10301,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10305,1
    - Dst: roaring::internal::xor_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10307,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10311,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10319
      start: 10295
    functionDepth: 1
    functionLinenumber: 10295
    functionLinenumberEnd: 10319
    functionName: roaring::internal::array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::xor_vector16
    - croaring_avx2
    - roaring::internal::xor_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_xor(const array_container_t *array_1,\n                         const
      array_container_t *array_2,\n                         array_container_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10323
      start: 10321
    functionDepth: 0
    functionLinenumber: 10321
    functionLinenumberEnd: 10323
    functionName: roaring::internal::minimum_int32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t minimum_int32(int32_t a, int32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::minimum_int32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10333,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10337,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10342,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10347,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10350,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10354,1
    - Dst: roaring::internal::intersect_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10355,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10358,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - array1
    - array2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10366
      start: 10329
    functionDepth: 1
    functionLinenumber: 10329
    functionLinenumberEnd: 10366
    functionName: roaring::internal::array_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::intersect_vector16
    - roaring::internal::intersect_uint16
    - croaring_avx2
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::minimum_int32
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection(const array_container_t *array1,\n
      \                                 const array_container_t *array2,\n                                  array_container_t
      *out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10375,1
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10378,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10382,1
    - Dst: roaring::internal::intersect_vector16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10383,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10386,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10394
      start: 10370
    functionDepth: 1
    functionLinenumber: 10370
    functionLinenumberEnd: 10394
    functionName: roaring::internal::array_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_uint16_cardinality
    - croaring_avx2
    - roaring::internal::intersect_skewed_uint16_cardinality
    - roaring::internal::intersect_vector16_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_container_intersection_cardinality(const array_container_t
      *array1,\n                                             const array_container_t
      *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10401,1
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10404,1
    - Dst: roaring::internal::intersect_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10411
      start: 10396
    functionDepth: 0
    functionLinenumber: 10396
    functionLinenumberEnd: 10411
    functionName: roaring::internal::array_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_skewed_uint16_nonempty
    - roaring::internal::intersect_uint16_nonempty
    linkageType: ''
    returnType: bool
    signature: "bool array_container_intersect(const array_container_t *array1,\n
      \                                 const array_container_t *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10422,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10425,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10431
      start: 10416
    functionDepth: 0
    functionLinenumber: 10416
    functionLinenumberEnd: 10431
    functionName: roaring::internal::array_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::intersect_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection_inplace(array_container_t *src_1,\n
      \                                         const array_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10445
      start: 10433
    functionDepth: 0
    functionLinenumber: 10433
    functionLinenumberEnd: 10445
    functionName: roaring::internal::array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array(void *vout, const
      array_container_t *cont,\n                                    uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10451,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10454,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10455,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10457,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10460
      start: 10448
    functionDepth: 1
    functionLinenumber: 10448
    functionLinenumberEnd: 10460
    functionName: roaring::internal::array_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void array_container_printf(const array_container_t *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10469,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10473
      start: 10462
    functionDepth: 1
    functionLinenumber: 10462
    functionLinenumberEnd: 10473
    functionName: roaring::internal::array_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void array_container_printf_as_uint32_array(const array_container_t
      *v,\n                                            uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10487
      start: 10477
    functionDepth: 0
    functionLinenumber: 10477
    functionLinenumberEnd: 10487
    functionName: roaring::internal::array_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_number_of_runs(const array_container_t *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10496,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10498
      start: 10495
    functionDepth: 0
    functionLinenumber: 10495
    functionLinenumberEnd: 10498
    functionName: roaring::internal::array_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_write(const array_container_t *container, char
      *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10521
      start: 10500
    functionDepth: 0
    functionLinenumber: 10500
    functionLinenumberEnd: 10521
    functionName: roaring::internal::array_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset(const array_container_t *container1,\n
      \                              const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10526,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10529,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10532
      start: 10523
    functionDepth: 0
    functionLinenumber: 10523
    functionLinenumberEnd: 10532
    functionName: roaring::internal::array_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_read(int32_t cardinality, array_container_t
      *container,\n                             const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10540
      start: 10534
    functionDepth: 0
    functionLinenumber: 10534
    functionLinenumberEnd: 10540
    functionName: roaring::internal::array_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate(const array_container_t *cont, uint32_t
      base,\n                             roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10550
      start: 10542
    functionDepth: 0
    functionLinenumber: 10542
    functionLinenumberEnd: 10550
    functionName: roaring::internal::array_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate64(const array_container_t *cont, uint32_t
      base,\n                               roaring_iterator64 iterator, uint64_t
      high_bits,\n                               void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10084,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10091,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10101
      start: 10081
    functionDepth: 0
    functionLinenumber: 10081
    functionLinenumberEnd: 10101
    functionName: roaring::internal::array_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_given_capacity(int32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10106
      start: 10104
    functionDepth: 0
    functionLinenumber: 10104
    functionLinenumberEnd: 10106
    functionName: roaring::internal::array_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10118
      start: 10109
    functionDepth: 0
    functionLinenumber: 10109
    functionLinenumberEnd: 10118
    functionName: roaring::internal::array_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t * array_container_create_range(uint32_t min, uint32_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10123,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10132
      start: 10121
    functionDepth: 0
    functionLinenumber: 10121
    functionLinenumberEnd: 10132
    functionName: roaring::internal::array_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_clone(const array_container_t *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10142,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10145,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10147,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10155,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - array_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10161
      start: 10134
    functionDepth: 0
    functionLinenumber: 10134
    functionLinenumberEnd: 10161
    functionName: roaring::internal::array_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_add
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::count_less
    linkageType: ''
    returnType: void
    signature: "void array_container_offset(const array_container_t *c,\n                            container_t
      **loc, container_t **hic,\n                            uint16_t offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10168,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10173,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10177
      start: 10163
    functionDepth: 0
    functionLinenumber: 10163
    functionLinenumberEnd: 10177
    functionName: roaring::internal::array_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_realloc
    - roaring_free
    linkageType: ''
    returnType: int
    signature: int array_container_shrink_to_fit(array_container_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10182,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10186
      start: 10180
    functionDepth: 0
    functionLinenumber: 10180
    functionLinenumberEnd: 10186
    functionName: roaring::internal::array_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void array_container_free(array_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10193
      start: 10188
    functionDepth: 0
    functionLinenumber: 10188
    functionLinenumberEnd: 10193
    functionName: roaring::internal::grow_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t grow_capacity(int32_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - min
    - max
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10197
      start: 10195
    functionDepth: 0
    functionLinenumber: 10195
    functionLinenumberEnd: 10197
    functionName: roaring::internal::clamp
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t clamp(int32_t val, int32_t min, int32_t max)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::clamp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10203,1
    - Dst: roaring::internal::grow_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10203,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10210,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10211,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10215,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10217,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10222,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - container
    - min
    - preserve
    argTypes:
    - array_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (container->array != NULL)
      pos:
        line_end: 10223
        line_start: 10223
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 10225
      start: 10199
    functionDepth: 1
    functionLinenumber: 10199
    functionLinenumberEnd: 10225
    functionName: roaring::internal::array_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 24
    functionsReached:
    - assert
    - roaring::internal::clamp
    - roaring_free
    - roaring::internal::grow_capacity
    - roaring_malloc
    - roaring_realloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void array_container_grow(array_container_t *container, int32_t min,\n
      \                         bool preserve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10232,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10237
      start: 10228
    functionDepth: 0
    functionLinenumber: 10228
    functionLinenumberEnd: 10237
    functionName: roaring::internal::array_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void array_container_copy(const array_container_t *src,\n                          array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - arr
    - min
    - max
    - step
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10245
      start: 10239
    functionDepth: 0
    functionLinenumber: 10239
    functionLinenumberEnd: 10245
    functionName: roaring::internal::array_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_append
    linkageType: ''
    returnType: void
    signature: "void array_container_add_from_range(array_container_t *arr, uint32_t
      min,\n                                    uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10257,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10262
      start: 10250
    functionDepth: 0
    functionLinenumber: 10250
    functionLinenumberEnd: 10262
    functionName: roaring::internal::array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::fast_union_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_union(const array_container_t *array_1,\n                           const
      array_container_t *array_2,\n                           array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10272,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10274,1
    - Dst: roaring::internal::difference_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10276,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10280,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10288
      start: 10268
    functionDepth: 1
    functionLinenumber: 10268
    functionLinenumberEnd: 10288
    functionName: roaring::internal::array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::difference_vector16
    - croaring_avx2
    - roaring::internal::difference_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_andnot(const array_container_t *array_1,\n                            const
      array_container_t *array_2,\n                            array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10301,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10305,1
    - Dst: roaring::internal::xor_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10307,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10311,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10319
      start: 10295
    functionDepth: 1
    functionLinenumber: 10295
    functionLinenumberEnd: 10319
    functionName: roaring::internal::array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::xor_vector16
    - croaring_avx2
    - roaring::internal::xor_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_xor(const array_container_t *array_1,\n                         const
      array_container_t *array_2,\n                         array_container_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10323
      start: 10321
    functionDepth: 0
    functionLinenumber: 10321
    functionLinenumberEnd: 10323
    functionName: roaring::internal::minimum_int32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t minimum_int32(int32_t a, int32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::minimum_int32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10333,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10337,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10342,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10347,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10350,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10354,1
    - Dst: roaring::internal::intersect_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10355,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10358,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - array1
    - array2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10366
      start: 10329
    functionDepth: 1
    functionLinenumber: 10329
    functionLinenumberEnd: 10366
    functionName: roaring::internal::array_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::intersect_vector16
    - roaring::internal::intersect_uint16
    - croaring_avx2
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::minimum_int32
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection(const array_container_t *array1,\n
      \                                 const array_container_t *array2,\n                                  array_container_t
      *out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10375,1
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10378,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10382,1
    - Dst: roaring::internal::intersect_vector16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10383,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10386,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10394
      start: 10370
    functionDepth: 1
    functionLinenumber: 10370
    functionLinenumberEnd: 10394
    functionName: roaring::internal::array_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_uint16_cardinality
    - croaring_avx2
    - roaring::internal::intersect_skewed_uint16_cardinality
    - roaring::internal::intersect_vector16_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_container_intersection_cardinality(const array_container_t
      *array1,\n                                             const array_container_t
      *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10401,1
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10404,1
    - Dst: roaring::internal::intersect_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10411
      start: 10396
    functionDepth: 0
    functionLinenumber: 10396
    functionLinenumberEnd: 10411
    functionName: roaring::internal::array_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_skewed_uint16_nonempty
    - roaring::internal::intersect_uint16_nonempty
    linkageType: ''
    returnType: bool
    signature: "bool array_container_intersect(const array_container_t *array1,\n
      \                                 const array_container_t *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10422,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10425,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10431
      start: 10416
    functionDepth: 0
    functionLinenumber: 10416
    functionLinenumberEnd: 10431
    functionName: roaring::internal::array_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::intersect_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection_inplace(array_container_t *src_1,\n
      \                                         const array_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10445
      start: 10433
    functionDepth: 0
    functionLinenumber: 10433
    functionLinenumberEnd: 10445
    functionName: roaring::internal::array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array(void *vout, const
      array_container_t *cont,\n                                    uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10451,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10454,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10455,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10457,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10460
      start: 10448
    functionDepth: 1
    functionLinenumber: 10448
    functionLinenumberEnd: 10460
    functionName: roaring::internal::array_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void array_container_printf(const array_container_t *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10469,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10473
      start: 10462
    functionDepth: 1
    functionLinenumber: 10462
    functionLinenumberEnd: 10473
    functionName: roaring::internal::array_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void array_container_printf_as_uint32_array(const array_container_t
      *v,\n                                            uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10487
      start: 10477
    functionDepth: 0
    functionLinenumber: 10477
    functionLinenumberEnd: 10487
    functionName: roaring::internal::array_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_number_of_runs(const array_container_t *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10496,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10498
      start: 10495
    functionDepth: 0
    functionLinenumber: 10495
    functionLinenumberEnd: 10498
    functionName: roaring::internal::array_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_write(const array_container_t *container, char
      *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10521
      start: 10500
    functionDepth: 0
    functionLinenumber: 10500
    functionLinenumberEnd: 10521
    functionName: roaring::internal::array_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset(const array_container_t *container1,\n
      \                              const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10526,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10529,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10532
      start: 10523
    functionDepth: 0
    functionLinenumber: 10523
    functionLinenumberEnd: 10532
    functionName: roaring::internal::array_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_read(int32_t cardinality, array_container_t
      *container,\n                             const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10540
      start: 10534
    functionDepth: 0
    functionLinenumber: 10534
    functionLinenumberEnd: 10540
    functionName: roaring::internal::array_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate(const array_container_t *cont, uint32_t
      base,\n                             roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10550
      start: 10542
    functionDepth: 0
    functionLinenumber: 10542
    functionLinenumberEnd: 10550
    functionName: roaring::internal::array_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate64(const array_container_t *cont, uint32_t
      base,\n                               roaring_iterator64 iterator, uint64_t
      high_bits,\n                               void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10084,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10091,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10101
      start: 10081
    functionDepth: 0
    functionLinenumber: 10081
    functionLinenumberEnd: 10101
    functionName: roaring::internal::array_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_given_capacity(int32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10106
      start: 10104
    functionDepth: 0
    functionLinenumber: 10104
    functionLinenumberEnd: 10106
    functionName: roaring::internal::array_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10118
      start: 10109
    functionDepth: 0
    functionLinenumber: 10109
    functionLinenumberEnd: 10118
    functionName: roaring::internal::array_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t * array_container_create_range(uint32_t min, uint32_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10123,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10132
      start: 10121
    functionDepth: 0
    functionLinenumber: 10121
    functionLinenumberEnd: 10132
    functionName: roaring::internal::array_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_clone(const array_container_t *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10142,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10145,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10147,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10155,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - array_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10161
      start: 10134
    functionDepth: 0
    functionLinenumber: 10134
    functionLinenumberEnd: 10161
    functionName: roaring::internal::array_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_add
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::count_less
    linkageType: ''
    returnType: void
    signature: "void array_container_offset(const array_container_t *c,\n                            container_t
      **loc, container_t **hic,\n                            uint16_t offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10168,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10173,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10177
      start: 10163
    functionDepth: 0
    functionLinenumber: 10163
    functionLinenumberEnd: 10177
    functionName: roaring::internal::array_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_realloc
    - roaring_free
    linkageType: ''
    returnType: int
    signature: int array_container_shrink_to_fit(array_container_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10182,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10186
      start: 10180
    functionDepth: 0
    functionLinenumber: 10180
    functionLinenumberEnd: 10186
    functionName: roaring::internal::array_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void array_container_free(array_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10193
      start: 10188
    functionDepth: 0
    functionLinenumber: 10188
    functionLinenumberEnd: 10193
    functionName: roaring::internal::grow_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t grow_capacity(int32_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - min
    - max
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10197
      start: 10195
    functionDepth: 0
    functionLinenumber: 10195
    functionLinenumberEnd: 10197
    functionName: roaring::internal::clamp
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t clamp(int32_t val, int32_t min, int32_t max)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::clamp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10203,1
    - Dst: roaring::internal::grow_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10203,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10210,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10211,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10215,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10217,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10222,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - container
    - min
    - preserve
    argTypes:
    - array_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (container->array != NULL)
      pos:
        line_end: 10223
        line_start: 10223
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 10225
      start: 10199
    functionDepth: 1
    functionLinenumber: 10199
    functionLinenumberEnd: 10225
    functionName: roaring::internal::array_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 30
    functionsReached:
    - assert
    - roaring::internal::clamp
    - roaring_free
    - roaring::internal::grow_capacity
    - roaring_malloc
    - roaring_realloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void array_container_grow(array_container_t *container, int32_t min,\n
      \                         bool preserve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10232,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10237
      start: 10228
    functionDepth: 0
    functionLinenumber: 10228
    functionLinenumberEnd: 10237
    functionName: roaring::internal::array_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void array_container_copy(const array_container_t *src,\n                          array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - arr
    - min
    - max
    - step
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10245
      start: 10239
    functionDepth: 0
    functionLinenumber: 10239
    functionLinenumberEnd: 10245
    functionName: roaring::internal::array_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_append
    linkageType: ''
    returnType: void
    signature: "void array_container_add_from_range(array_container_t *arr, uint32_t
      min,\n                                    uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10257,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10262
      start: 10250
    functionDepth: 0
    functionLinenumber: 10250
    functionLinenumberEnd: 10262
    functionName: roaring::internal::array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::fast_union_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_union(const array_container_t *array_1,\n                           const
      array_container_t *array_2,\n                           array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10272,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10274,1
    - Dst: roaring::internal::difference_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10276,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10280,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10288
      start: 10268
    functionDepth: 1
    functionLinenumber: 10268
    functionLinenumberEnd: 10288
    functionName: roaring::internal::array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::difference_vector16
    - croaring_avx2
    - roaring::internal::difference_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_andnot(const array_container_t *array_1,\n                            const
      array_container_t *array_2,\n                            array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10301,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10305,1
    - Dst: roaring::internal::xor_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10307,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10311,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10319
      start: 10295
    functionDepth: 1
    functionLinenumber: 10295
    functionLinenumberEnd: 10319
    functionName: roaring::internal::array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::xor_vector16
    - croaring_avx2
    - roaring::internal::xor_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_xor(const array_container_t *array_1,\n                         const
      array_container_t *array_2,\n                         array_container_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10323
      start: 10321
    functionDepth: 0
    functionLinenumber: 10321
    functionLinenumberEnd: 10323
    functionName: roaring::internal::minimum_int32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t minimum_int32(int32_t a, int32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::minimum_int32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10333,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10337,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10342,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10347,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10350,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10354,1
    - Dst: roaring::internal::intersect_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10355,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10358,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - array1
    - array2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10366
      start: 10329
    functionDepth: 1
    functionLinenumber: 10329
    functionLinenumberEnd: 10366
    functionName: roaring::internal::array_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::intersect_vector16
    - roaring::internal::intersect_uint16
    - croaring_avx2
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::minimum_int32
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection(const array_container_t *array1,\n
      \                                 const array_container_t *array2,\n                                  array_container_t
      *out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10375,1
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10378,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10382,1
    - Dst: roaring::internal::intersect_vector16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10383,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10386,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10394
      start: 10370
    functionDepth: 1
    functionLinenumber: 10370
    functionLinenumberEnd: 10394
    functionName: roaring::internal::array_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_uint16_cardinality
    - croaring_avx2
    - roaring::internal::intersect_skewed_uint16_cardinality
    - roaring::internal::intersect_vector16_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_container_intersection_cardinality(const array_container_t
      *array1,\n                                             const array_container_t
      *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10401,1
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10404,1
    - Dst: roaring::internal::intersect_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10411
      start: 10396
    functionDepth: 0
    functionLinenumber: 10396
    functionLinenumberEnd: 10411
    functionName: roaring::internal::array_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_skewed_uint16_nonempty
    - roaring::internal::intersect_uint16_nonempty
    linkageType: ''
    returnType: bool
    signature: "bool array_container_intersect(const array_container_t *array1,\n
      \                                 const array_container_t *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10422,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10425,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10431
      start: 10416
    functionDepth: 0
    functionLinenumber: 10416
    functionLinenumberEnd: 10431
    functionName: roaring::internal::array_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::intersect_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection_inplace(array_container_t *src_1,\n
      \                                         const array_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10445
      start: 10433
    functionDepth: 0
    functionLinenumber: 10433
    functionLinenumberEnd: 10445
    functionName: roaring::internal::array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array(void *vout, const
      array_container_t *cont,\n                                    uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10451,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10454,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10455,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10457,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10460
      start: 10448
    functionDepth: 1
    functionLinenumber: 10448
    functionLinenumberEnd: 10460
    functionName: roaring::internal::array_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void array_container_printf(const array_container_t *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10469,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10473
      start: 10462
    functionDepth: 1
    functionLinenumber: 10462
    functionLinenumberEnd: 10473
    functionName: roaring::internal::array_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void array_container_printf_as_uint32_array(const array_container_t
      *v,\n                                            uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10487
      start: 10477
    functionDepth: 0
    functionLinenumber: 10477
    functionLinenumberEnd: 10487
    functionName: roaring::internal::array_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_number_of_runs(const array_container_t *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10496,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10498
      start: 10495
    functionDepth: 0
    functionLinenumber: 10495
    functionLinenumberEnd: 10498
    functionName: roaring::internal::array_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_write(const array_container_t *container, char
      *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10521
      start: 10500
    functionDepth: 0
    functionLinenumber: 10500
    functionLinenumberEnd: 10521
    functionName: roaring::internal::array_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset(const array_container_t *container1,\n
      \                              const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10526,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10529,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10532
      start: 10523
    functionDepth: 0
    functionLinenumber: 10523
    functionLinenumberEnd: 10532
    functionName: roaring::internal::array_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_read(int32_t cardinality, array_container_t
      *container,\n                             const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10540
      start: 10534
    functionDepth: 0
    functionLinenumber: 10534
    functionLinenumberEnd: 10540
    functionName: roaring::internal::array_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate(const array_container_t *cont, uint32_t
      base,\n                             roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10550
      start: 10542
    functionDepth: 0
    functionLinenumber: 10542
    functionLinenumberEnd: 10550
    functionName: roaring::internal::array_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate64(const array_container_t *cont, uint32_t
      base,\n                               roaring_iterator64 iterator, uint64_t
      high_bits,\n                               void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10589
      start: 10586
    functionDepth: 0
    functionLinenumber: 10586
    functionLinenumberEnd: 10589
    functionName: roaring::internal::bitset_container_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_container_clear(bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10592,1
    - Dst: INT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10595
      start: 10591
    functionDepth: 0
    functionLinenumber: 10591
    functionLinenumberEnd: 10595
    functionName: roaring::internal::bitset_container_set_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memset
    - INT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_container_set_all(bitset_container_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10602,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10608,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10611,1
    - Dst: roaring::internal::bitset_container_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10616
      start: 10600
    functionDepth: 0
    functionLinenumber: 10600
    functionLinenumberEnd: 10616
    functionName: roaring::internal::bitset_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 32
    functionsReached:
    - roaring::internal::bitset_container_clear
    - roaring_free
    - roaring_aligned_malloc
    - roaring_malloc
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10624
      start: 10619
    functionDepth: 0
    functionLinenumber: 10619
    functionLinenumberEnd: 10624
    functionName: roaring::internal::bitset_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bitset_container_copy(const bitset_container_t *source,\n                           bitset_container_t
      *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10641,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10642,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10645,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10648,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - bitset
    - min
    - max
    - step
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10655
      start: 10626
    functionDepth: 0
    functionLinenumber: 10626
    functionLinenumberEnd: 10655
    functionName: roaring::internal::bitset_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_add
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_add_from_range(bitset_container_t *bitset, uint32_t
      min,\n                                     uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10660,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10664
      start: 10658
    functionDepth: 0
    functionLinenumber: 10658
    functionLinenumberEnd: 10664
    functionName: roaring::internal::bitset_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_aligned_free
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_container_free(bitset_container_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10669,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10675,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10678,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10685
      start: 10667
    functionDepth: 0
    functionLinenumber: 10667
    functionLinenumberEnd: 10685
    functionName: roaring::internal::bitset_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_free
    - roaring_aligned_malloc
    - roaring_malloc
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10699,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10701,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10712,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10724,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10730,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10734,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10746,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10748,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - bitset_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10752
      start: 10687
    functionDepth: 0
    functionLinenumber: 10687
    functionLinenumberEnd: 10752
    functionName: roaring::internal::bitset_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: "void bitset_container_offset(const bitset_container_t *c,\n                             container_t
      **loc, container_t **hic,\n                             uint16_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10756,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bitset
    - begin
    - end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10759
      start: 10754
    functionDepth: 0
    functionLinenumber: 10754
    functionLinenumberEnd: 10759
    functionName: roaring::internal::bitset_container_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_range
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set_range(bitset_container_t *bitset, uint32_t
      begin,\n                                uint32_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10772
      start: 10762
    functionDepth: 0
    functionLinenumber: 10762
    functionLinenumberEnd: 10772
    functionName: roaring::internal::bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_intersect(const bitset_container_t *src_1,\n
      \                                 const bitset_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10784,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10785,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10786,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10790
      start: 10780
    functionDepth: 2
    functionLinenumber: 10780
    functionLinenumberEnd: 10790
    functionName: roaring::internal::_scalar_bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int _scalar_bitset_container_compute_cardinality(const bitset_container_t
      *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10793,1
    - Dst: roaring::internal::avx2_harley_seal_popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10794,1
    - Dst: roaring::internal::_scalar_bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10801
      start: 10792
    functionDepth: 1
    functionLinenumber: 10792
    functionLinenumberEnd: 10801
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 10
    functionsReached:
    - roaring::internal::avx2_harley_seal_popcount256
    - roaring::internal::_scalar_bitset_container_compute_cardinality
    - croaring_avx2
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10805,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10806,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10807,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10808,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10810,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10812,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10814,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10816,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vdupq_n_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10819,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10824,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10825
      start: 10804
    functionDepth: 0
    functionLinenumber: 10804
    functionLinenumberEnd: 10825
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 10
    functionsReached:
    - vaddq_u16
    - vpaddlq_u32
    - vpaddlq_u16
    - vaddq_u64
    - vdupq_n_u64
    - vreinterpretq_u8_u64
    - vcntq_u8
    - vdupq_n_u16
    - vpaddlq_u8
    - vld1q_u64
    - vgetq_lane_u64
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10834,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10835,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10836,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10840
      start: 10830
    functionDepth: 2
    functionLinenumber: 10830
    functionLinenumberEnd: 10840
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 10
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10864
      start: 10857
    functionDepth: 0
    functionLinenumber: 10857
    functionLinenumberEnd: 10864
    functionName: AVX_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10926
      start: 10911
    functionDepth: 0
    functionLinenumber: 10911
    functionLinenumberEnd: 10926
    functionName: AVX_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10936
      start: 10926
    functionDepth: 0
    functionLinenumber: 10926
    functionLinenumberEnd: 10936
    functionName: AVX_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11053
      start: 11008
    functionDepth: 0
    functionLinenumber: 11008
    functionLinenumberEnd: 11053
    functionName: SCALAR_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SCALAR_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic,            \\\n
      \                                  neon_intrinsic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11094
      start: 11066
    functionDepth: 0
    functionLinenumber: 11066
    functionLinenumberEnd: 11094
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11184
      start: 11099
    functionDepth: 0
    functionLinenumber: 11099
    functionLinenumberEnd: 11184
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11234
      start: 11187
    functionDepth: 0
    functionLinenumber: 11187
    functionLinenumberEnd: 11234
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11257,1
    - Dst: roaring::internal::bitset_extract_setbits_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11258,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11261,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - out
    - bc
    - base
    argTypes:
    - uint32_t*
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11267
      start: 11251
    functionDepth: 2
    functionLinenumber: 11251
    functionLinenumberEnd: 11267
    functionName: roaring::internal::bitset_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_extract_setbits_avx2
    - croaring_avx2
    - roaring::internal::bitset_extract_setbits
    linkageType: ''
    returnType: int
    signature: "int bitset_container_to_uint32_array(\n    uint32_t *out,\n    const
      bitset_container_t *bc,\n    uint32_t base\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11274,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11282,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11284,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11287,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - v
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11294
      start: 11273
    functionDepth: 1
    functionLinenumber: 11273
    functionLinenumberEnd: 11294
    functionName: roaring::internal::bitset_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - __builtin_ctzll
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf(const bitset_container_t * v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11307,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11309,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11318
      start: 11300
    functionDepth: 1
    functionLinenumber: 11300
    functionLinenumberEnd: 11318
    functionName: roaring::internal::bitset_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    - printf
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf_as_uint32_array(const bitset_container_t
      * v, uint32_t base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11330,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bc
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11338
      start: 11323
    functionDepth: 2
    functionLinenumber: 11323
    functionLinenumberEnd: 11338
    functionName: roaring::internal::bitset_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_number_of_runs(bitset_container_t *bc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11343,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11345
      start: 11341
    functionDepth: 0
    functionLinenumber: 11341
    functionLinenumberEnd: 11345
    functionName: roaring::internal::bitset_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_write(const bitset_container_t *container,\n
      \                                 char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11351,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11353
      start: 11348
    functionDepth: 0
    functionLinenumber: 11348
    functionLinenumberEnd: 11353
    functionName: roaring::internal::bitset_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_read(int32_t cardinality, bitset_container_t
      *container,\n\t\tconst char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11361,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11368
      start: 11355
    functionDepth: 1
    functionLinenumber: 11355
    functionLinenumberEnd: 11368
    functionName: roaring::internal::bitset_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate(const bitset_container_t *cont, uint32_t
      base, roaring_iterator iterator, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11376,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11383
      start: 11370
    functionDepth: 1
    functionLinenumber: 11370
    functionLinenumberEnd: 11383
    functionName: roaring::internal::bitset_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate64(const bitset_container_t *cont, uint32_t
      base, roaring_iterator64 iterator, uint64_t high_bits, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11392,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11393,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11394,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11400
      start: 11388
    functionDepth: 0
    functionLinenumber: 11388
    functionLinenumberEnd: 11400
    functionName: roaring::internal::_avx2_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: bool
    signature: bool _avx2_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11410,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11415,1
    - Dst: roaring::internal::_avx2_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11416,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11422
      start: 11404
    functionDepth: 1
    functionLinenumber: 11404
    functionLinenumberEnd: 11422
    functionName: roaring::internal::bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcmp
    - roaring::internal::_avx2_bitset_container_equals
    - croaring_avx2
    - INT32_C
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11438
      start: 11424
    functionDepth: 0
    functionLinenumber: 11424
    functionLinenumberEnd: 11438
    functionName: roaring::internal::bitset_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset(const bitset_container_t *container1,\n
      \                         const bitset_container_t *container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11441,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11450,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11456,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11468,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - bitset_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11467
        line_start: 11467
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11470
      start: 11440
    functionDepth: 2
    functionLinenumber: 11440
    functionLinenumberEnd: 11470
    functionName: roaring::internal::bitset_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_unreachable
    - hamming
    - assert
    - roaring::internal::bitset_container_cardinality
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_select(const bitset_container_t *container, uint32_t
      *start_rank, uint32_t rank, uint32_t *element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11484
      start: 11474
    functionDepth: 1
    functionLinenumber: 11474
    functionLinenumberEnd: 11484
    functionName: roaring::internal::bitset_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_minimum(const bitset_container_t *container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11497
      start: 11487
    functionDepth: 1
    functionLinenumber: 11487
    functionLinenumberEnd: 11497
    functionName: roaring::internal::bitset_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_clzll
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_maximum(const bitset_container_t *container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11505,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11508,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11512
      start: 11500
    functionDepth: 2
    functionLinenumber: 11500
    functionLinenumberEnd: 11512
    functionName: roaring::internal::bitset_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - hamming
    - UINT64_C
    linkageType: ''
    returnType: int
    signature: int bitset_container_rank(const bitset_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11527
      start: 11515
    functionDepth: 1
    functionLinenumber: 11515
    functionLinenumberEnd: 11527
    functionName: roaring::internal::bitset_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: int
    signature: int bitset_container_index_equalorlarger(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10589
      start: 10586
    functionDepth: 0
    functionLinenumber: 10586
    functionLinenumberEnd: 10589
    functionName: roaring::internal::bitset_container_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_container_clear(bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10592,1
    - Dst: INT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10595
      start: 10591
    functionDepth: 0
    functionLinenumber: 10591
    functionLinenumberEnd: 10595
    functionName: roaring::internal::bitset_container_set_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memset
    - INT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_container_set_all(bitset_container_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10602,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10608,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10611,1
    - Dst: roaring::internal::bitset_container_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10616
      start: 10600
    functionDepth: 0
    functionLinenumber: 10600
    functionLinenumberEnd: 10616
    functionName: roaring::internal::bitset_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 33
    functionsReached:
    - roaring::internal::bitset_container_clear
    - roaring_free
    - roaring_aligned_malloc
    - roaring_malloc
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10624
      start: 10619
    functionDepth: 0
    functionLinenumber: 10619
    functionLinenumberEnd: 10624
    functionName: roaring::internal::bitset_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bitset_container_copy(const bitset_container_t *source,\n                           bitset_container_t
      *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10641,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10642,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10645,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10648,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - bitset
    - min
    - max
    - step
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10655
      start: 10626
    functionDepth: 0
    functionLinenumber: 10626
    functionLinenumberEnd: 10655
    functionName: roaring::internal::bitset_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_add
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_add_from_range(bitset_container_t *bitset, uint32_t
      min,\n                                     uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10660,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10664
      start: 10658
    functionDepth: 0
    functionLinenumber: 10658
    functionLinenumberEnd: 10664
    functionName: roaring::internal::bitset_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring_aligned_free
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_container_free(bitset_container_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10669,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10675,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10678,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10685
      start: 10667
    functionDepth: 0
    functionLinenumber: 10667
    functionLinenumberEnd: 10685
    functionName: roaring::internal::bitset_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_free
    - roaring_aligned_malloc
    - roaring_malloc
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10699,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10701,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10712,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10724,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10730,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10734,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10746,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10748,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - bitset_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10752
      start: 10687
    functionDepth: 0
    functionLinenumber: 10687
    functionLinenumberEnd: 10752
    functionName: roaring::internal::bitset_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: "void bitset_container_offset(const bitset_container_t *c,\n                             container_t
      **loc, container_t **hic,\n                             uint16_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10756,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bitset
    - begin
    - end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10759
      start: 10754
    functionDepth: 0
    functionLinenumber: 10754
    functionLinenumberEnd: 10759
    functionName: roaring::internal::bitset_container_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_range
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set_range(bitset_container_t *bitset, uint32_t
      begin,\n                                uint32_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10772
      start: 10762
    functionDepth: 0
    functionLinenumber: 10762
    functionLinenumberEnd: 10772
    functionName: roaring::internal::bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_intersect(const bitset_container_t *src_1,\n
      \                                 const bitset_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10784,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10785,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10786,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10790
      start: 10780
    functionDepth: 2
    functionLinenumber: 10780
    functionLinenumberEnd: 10790
    functionName: roaring::internal::_scalar_bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int _scalar_bitset_container_compute_cardinality(const bitset_container_t
      *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10793,1
    - Dst: roaring::internal::avx2_harley_seal_popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10794,1
    - Dst: roaring::internal::_scalar_bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10801
      start: 10792
    functionDepth: 1
    functionLinenumber: 10792
    functionLinenumberEnd: 10801
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::avx2_harley_seal_popcount256
    - roaring::internal::_scalar_bitset_container_compute_cardinality
    - croaring_avx2
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10805,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10806,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10807,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10808,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10810,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10812,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10814,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10816,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vdupq_n_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10819,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10824,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10825
      start: 10804
    functionDepth: 0
    functionLinenumber: 10804
    functionLinenumberEnd: 10825
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - vaddq_u16
    - vpaddlq_u32
    - vpaddlq_u16
    - vaddq_u64
    - vdupq_n_u64
    - vreinterpretq_u8_u64
    - vcntq_u8
    - vdupq_n_u16
    - vpaddlq_u8
    - vld1q_u64
    - vgetq_lane_u64
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10834,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10835,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10836,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10840
      start: 10830
    functionDepth: 2
    functionLinenumber: 10830
    functionLinenumberEnd: 10840
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10864
      start: 10857
    functionDepth: 0
    functionLinenumber: 10857
    functionLinenumberEnd: 10864
    functionName: AVX_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10926
      start: 10911
    functionDepth: 0
    functionLinenumber: 10911
    functionLinenumberEnd: 10926
    functionName: AVX_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10936
      start: 10926
    functionDepth: 0
    functionLinenumber: 10926
    functionLinenumberEnd: 10936
    functionName: AVX_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11053
      start: 11008
    functionDepth: 0
    functionLinenumber: 11008
    functionLinenumberEnd: 11053
    functionName: SCALAR_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SCALAR_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic,            \\\n
      \                                  neon_intrinsic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11094
      start: 11066
    functionDepth: 0
    functionLinenumber: 11066
    functionLinenumberEnd: 11094
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11184
      start: 11099
    functionDepth: 0
    functionLinenumber: 11099
    functionLinenumberEnd: 11184
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11234
      start: 11187
    functionDepth: 0
    functionLinenumber: 11187
    functionLinenumberEnd: 11234
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11257,1
    - Dst: roaring::internal::bitset_extract_setbits_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11258,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11261,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - out
    - bc
    - base
    argTypes:
    - uint32_t*
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11267
      start: 11251
    functionDepth: 2
    functionLinenumber: 11251
    functionLinenumberEnd: 11267
    functionName: roaring::internal::bitset_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_extract_setbits_avx2
    - croaring_avx2
    - roaring::internal::bitset_extract_setbits
    linkageType: ''
    returnType: int
    signature: "int bitset_container_to_uint32_array(\n    uint32_t *out,\n    const
      bitset_container_t *bc,\n    uint32_t base\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11274,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11282,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11284,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11287,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - v
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11294
      start: 11273
    functionDepth: 1
    functionLinenumber: 11273
    functionLinenumberEnd: 11294
    functionName: roaring::internal::bitset_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - __builtin_ctzll
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf(const bitset_container_t * v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11307,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11309,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11318
      start: 11300
    functionDepth: 1
    functionLinenumber: 11300
    functionLinenumberEnd: 11318
    functionName: roaring::internal::bitset_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    - printf
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf_as_uint32_array(const bitset_container_t
      * v, uint32_t base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11330,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bc
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11338
      start: 11323
    functionDepth: 2
    functionLinenumber: 11323
    functionLinenumberEnd: 11338
    functionName: roaring::internal::bitset_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_number_of_runs(bitset_container_t *bc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11343,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11345
      start: 11341
    functionDepth: 0
    functionLinenumber: 11341
    functionLinenumberEnd: 11345
    functionName: roaring::internal::bitset_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_write(const bitset_container_t *container,\n
      \                                 char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11351,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11353
      start: 11348
    functionDepth: 0
    functionLinenumber: 11348
    functionLinenumberEnd: 11353
    functionName: roaring::internal::bitset_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_read(int32_t cardinality, bitset_container_t
      *container,\n\t\tconst char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11361,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11368
      start: 11355
    functionDepth: 1
    functionLinenumber: 11355
    functionLinenumberEnd: 11368
    functionName: roaring::internal::bitset_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate(const bitset_container_t *cont, uint32_t
      base, roaring_iterator iterator, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11376,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11383
      start: 11370
    functionDepth: 1
    functionLinenumber: 11370
    functionLinenumberEnd: 11383
    functionName: roaring::internal::bitset_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate64(const bitset_container_t *cont, uint32_t
      base, roaring_iterator64 iterator, uint64_t high_bits, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11392,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11393,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11394,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11400
      start: 11388
    functionDepth: 0
    functionLinenumber: 11388
    functionLinenumberEnd: 11400
    functionName: roaring::internal::_avx2_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: bool
    signature: bool _avx2_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11410,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11415,1
    - Dst: roaring::internal::_avx2_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11416,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11422
      start: 11404
    functionDepth: 1
    functionLinenumber: 11404
    functionLinenumberEnd: 11422
    functionName: roaring::internal::bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcmp
    - roaring::internal::_avx2_bitset_container_equals
    - croaring_avx2
    - INT32_C
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11438
      start: 11424
    functionDepth: 0
    functionLinenumber: 11424
    functionLinenumberEnd: 11438
    functionName: roaring::internal::bitset_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset(const bitset_container_t *container1,\n
      \                         const bitset_container_t *container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11441,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11450,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11456,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11468,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - bitset_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11467
        line_start: 11467
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11470
      start: 11440
    functionDepth: 2
    functionLinenumber: 11440
    functionLinenumberEnd: 11470
    functionName: roaring::internal::bitset_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_unreachable
    - hamming
    - assert
    - roaring::internal::bitset_container_cardinality
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_select(const bitset_container_t *container, uint32_t
      *start_rank, uint32_t rank, uint32_t *element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11484
      start: 11474
    functionDepth: 1
    functionLinenumber: 11474
    functionLinenumberEnd: 11484
    functionName: roaring::internal::bitset_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_minimum(const bitset_container_t *container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11497
      start: 11487
    functionDepth: 1
    functionLinenumber: 11487
    functionLinenumberEnd: 11497
    functionName: roaring::internal::bitset_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_clzll
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_maximum(const bitset_container_t *container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11505,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11508,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11512
      start: 11500
    functionDepth: 2
    functionLinenumber: 11500
    functionLinenumberEnd: 11512
    functionName: roaring::internal::bitset_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - hamming
    - UINT64_C
    linkageType: ''
    returnType: int
    signature: int bitset_container_rank(const bitset_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11527
      start: 11515
    functionDepth: 1
    functionLinenumber: 11515
    functionLinenumberEnd: 11527
    functionName: roaring::internal::bitset_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: int
    signature: int bitset_container_index_equalorlarger(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10589
      start: 10586
    functionDepth: 0
    functionLinenumber: 10586
    functionLinenumberEnd: 10589
    functionName: roaring::internal::bitset_container_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_container_clear(bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10592,1
    - Dst: INT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10595
      start: 10591
    functionDepth: 0
    functionLinenumber: 10591
    functionLinenumberEnd: 10595
    functionName: roaring::internal::bitset_container_set_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memset
    - INT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_container_set_all(bitset_container_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10602,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10608,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10611,1
    - Dst: roaring::internal::bitset_container_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10616
      start: 10600
    functionDepth: 0
    functionLinenumber: 10600
    functionLinenumberEnd: 10616
    functionName: roaring::internal::bitset_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 34
    functionsReached:
    - roaring::internal::bitset_container_clear
    - roaring_free
    - roaring_aligned_malloc
    - roaring_malloc
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10624
      start: 10619
    functionDepth: 0
    functionLinenumber: 10619
    functionLinenumberEnd: 10624
    functionName: roaring::internal::bitset_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bitset_container_copy(const bitset_container_t *source,\n                           bitset_container_t
      *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10641,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10642,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10645,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10648,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - bitset
    - min
    - max
    - step
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10655
      start: 10626
    functionDepth: 0
    functionLinenumber: 10626
    functionLinenumberEnd: 10655
    functionName: roaring::internal::bitset_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_add
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_add_from_range(bitset_container_t *bitset, uint32_t
      min,\n                                     uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10660,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10664
      start: 10658
    functionDepth: 0
    functionLinenumber: 10658
    functionLinenumberEnd: 10664
    functionName: roaring::internal::bitset_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring_aligned_free
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_container_free(bitset_container_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10669,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10675,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10678,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10685
      start: 10667
    functionDepth: 0
    functionLinenumber: 10667
    functionLinenumberEnd: 10685
    functionName: roaring::internal::bitset_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_free
    - roaring_aligned_malloc
    - roaring_malloc
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10699,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10701,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10712,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10724,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10730,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10734,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10746,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10748,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - bitset_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10752
      start: 10687
    functionDepth: 0
    functionLinenumber: 10687
    functionLinenumberEnd: 10752
    functionName: roaring::internal::bitset_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: "void bitset_container_offset(const bitset_container_t *c,\n                             container_t
      **loc, container_t **hic,\n                             uint16_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10756,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bitset
    - begin
    - end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10759
      start: 10754
    functionDepth: 0
    functionLinenumber: 10754
    functionLinenumberEnd: 10759
    functionName: roaring::internal::bitset_container_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_range
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set_range(bitset_container_t *bitset, uint32_t
      begin,\n                                uint32_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10772
      start: 10762
    functionDepth: 0
    functionLinenumber: 10762
    functionLinenumberEnd: 10772
    functionName: roaring::internal::bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_intersect(const bitset_container_t *src_1,\n
      \                                 const bitset_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10784,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10785,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10786,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10790
      start: 10780
    functionDepth: 2
    functionLinenumber: 10780
    functionLinenumberEnd: 10790
    functionName: roaring::internal::_scalar_bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int _scalar_bitset_container_compute_cardinality(const bitset_container_t
      *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10793,1
    - Dst: roaring::internal::avx2_harley_seal_popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10794,1
    - Dst: roaring::internal::_scalar_bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10801
      start: 10792
    functionDepth: 1
    functionLinenumber: 10792
    functionLinenumberEnd: 10801
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 14
    functionsReached:
    - roaring::internal::avx2_harley_seal_popcount256
    - roaring::internal::_scalar_bitset_container_compute_cardinality
    - croaring_avx2
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10805,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10806,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10807,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10808,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10810,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10812,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10814,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10816,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vdupq_n_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10819,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10824,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10825
      start: 10804
    functionDepth: 0
    functionLinenumber: 10804
    functionLinenumberEnd: 10825
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 14
    functionsReached:
    - vaddq_u16
    - vpaddlq_u32
    - vpaddlq_u16
    - vaddq_u64
    - vdupq_n_u64
    - vreinterpretq_u8_u64
    - vcntq_u8
    - vdupq_n_u16
    - vpaddlq_u8
    - vld1q_u64
    - vgetq_lane_u64
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10834,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10835,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10836,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10840
      start: 10830
    functionDepth: 2
    functionLinenumber: 10830
    functionLinenumberEnd: 10840
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 14
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10864
      start: 10857
    functionDepth: 0
    functionLinenumber: 10857
    functionLinenumberEnd: 10864
    functionName: AVX_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10926
      start: 10911
    functionDepth: 0
    functionLinenumber: 10911
    functionLinenumberEnd: 10926
    functionName: AVX_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10936
      start: 10926
    functionDepth: 0
    functionLinenumber: 10926
    functionLinenumberEnd: 10936
    functionName: AVX_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11053
      start: 11008
    functionDepth: 0
    functionLinenumber: 11008
    functionLinenumberEnd: 11053
    functionName: SCALAR_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SCALAR_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic,            \\\n
      \                                  neon_intrinsic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11094
      start: 11066
    functionDepth: 0
    functionLinenumber: 11066
    functionLinenumberEnd: 11094
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11184
      start: 11099
    functionDepth: 0
    functionLinenumber: 11099
    functionLinenumberEnd: 11184
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11234
      start: 11187
    functionDepth: 0
    functionLinenumber: 11187
    functionLinenumberEnd: 11234
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11257,1
    - Dst: roaring::internal::bitset_extract_setbits_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11258,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11261,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - out
    - bc
    - base
    argTypes:
    - uint32_t*
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11267
      start: 11251
    functionDepth: 2
    functionLinenumber: 11251
    functionLinenumberEnd: 11267
    functionName: roaring::internal::bitset_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_extract_setbits_avx2
    - croaring_avx2
    - roaring::internal::bitset_extract_setbits
    linkageType: ''
    returnType: int
    signature: "int bitset_container_to_uint32_array(\n    uint32_t *out,\n    const
      bitset_container_t *bc,\n    uint32_t base\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11274,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11282,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11284,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11287,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - v
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11294
      start: 11273
    functionDepth: 1
    functionLinenumber: 11273
    functionLinenumberEnd: 11294
    functionName: roaring::internal::bitset_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - __builtin_ctzll
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf(const bitset_container_t * v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11307,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11309,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11318
      start: 11300
    functionDepth: 1
    functionLinenumber: 11300
    functionLinenumberEnd: 11318
    functionName: roaring::internal::bitset_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    - printf
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf_as_uint32_array(const bitset_container_t
      * v, uint32_t base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11330,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bc
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11338
      start: 11323
    functionDepth: 2
    functionLinenumber: 11323
    functionLinenumberEnd: 11338
    functionName: roaring::internal::bitset_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_number_of_runs(bitset_container_t *bc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11343,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11345
      start: 11341
    functionDepth: 0
    functionLinenumber: 11341
    functionLinenumberEnd: 11345
    functionName: roaring::internal::bitset_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_write(const bitset_container_t *container,\n
      \                                 char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11351,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11353
      start: 11348
    functionDepth: 0
    functionLinenumber: 11348
    functionLinenumberEnd: 11353
    functionName: roaring::internal::bitset_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_read(int32_t cardinality, bitset_container_t
      *container,\n\t\tconst char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11361,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11368
      start: 11355
    functionDepth: 1
    functionLinenumber: 11355
    functionLinenumberEnd: 11368
    functionName: roaring::internal::bitset_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate(const bitset_container_t *cont, uint32_t
      base, roaring_iterator iterator, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11376,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11383
      start: 11370
    functionDepth: 1
    functionLinenumber: 11370
    functionLinenumberEnd: 11383
    functionName: roaring::internal::bitset_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate64(const bitset_container_t *cont, uint32_t
      base, roaring_iterator64 iterator, uint64_t high_bits, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11392,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11393,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11394,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11400
      start: 11388
    functionDepth: 0
    functionLinenumber: 11388
    functionLinenumberEnd: 11400
    functionName: roaring::internal::_avx2_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: bool
    signature: bool _avx2_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11410,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11415,1
    - Dst: roaring::internal::_avx2_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11416,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11422
      start: 11404
    functionDepth: 1
    functionLinenumber: 11404
    functionLinenumberEnd: 11422
    functionName: roaring::internal::bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcmp
    - roaring::internal::_avx2_bitset_container_equals
    - croaring_avx2
    - INT32_C
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11438
      start: 11424
    functionDepth: 0
    functionLinenumber: 11424
    functionLinenumberEnd: 11438
    functionName: roaring::internal::bitset_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset(const bitset_container_t *container1,\n
      \                         const bitset_container_t *container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11441,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11450,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11456,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11468,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - bitset_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11467
        line_start: 11467
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11470
      start: 11440
    functionDepth: 2
    functionLinenumber: 11440
    functionLinenumberEnd: 11470
    functionName: roaring::internal::bitset_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_unreachable
    - hamming
    - assert
    - roaring::internal::bitset_container_cardinality
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_select(const bitset_container_t *container, uint32_t
      *start_rank, uint32_t rank, uint32_t *element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11484
      start: 11474
    functionDepth: 1
    functionLinenumber: 11474
    functionLinenumberEnd: 11484
    functionName: roaring::internal::bitset_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_minimum(const bitset_container_t *container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11497
      start: 11487
    functionDepth: 1
    functionLinenumber: 11487
    functionLinenumberEnd: 11497
    functionName: roaring::internal::bitset_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_clzll
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_maximum(const bitset_container_t *container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11505,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11508,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11512
      start: 11500
    functionDepth: 2
    functionLinenumber: 11500
    functionLinenumberEnd: 11512
    functionName: roaring::internal::bitset_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - hamming
    - UINT64_C
    linkageType: ''
    returnType: int
    signature: int bitset_container_rank(const bitset_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11527
      start: 11515
    functionDepth: 1
    functionLinenumber: 11515
    functionLinenumberEnd: 11527
    functionName: roaring::internal::bitset_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: int
    signature: int bitset_container_index_equalorlarger(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10589
      start: 10586
    functionDepth: 0
    functionLinenumber: 10586
    functionLinenumberEnd: 10589
    functionName: roaring::internal::bitset_container_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_container_clear(bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10592,1
    - Dst: INT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10595
      start: 10591
    functionDepth: 0
    functionLinenumber: 10591
    functionLinenumberEnd: 10595
    functionName: roaring::internal::bitset_container_set_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memset
    - INT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_container_set_all(bitset_container_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10602,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10608,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10611,1
    - Dst: roaring::internal::bitset_container_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10616
      start: 10600
    functionDepth: 0
    functionLinenumber: 10600
    functionLinenumberEnd: 10616
    functionName: roaring::internal::bitset_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 35
    functionsReached:
    - roaring::internal::bitset_container_clear
    - roaring_free
    - roaring_aligned_malloc
    - roaring_malloc
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10624
      start: 10619
    functionDepth: 0
    functionLinenumber: 10619
    functionLinenumberEnd: 10624
    functionName: roaring::internal::bitset_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bitset_container_copy(const bitset_container_t *source,\n                           bitset_container_t
      *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10641,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10642,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10645,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10648,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - bitset
    - min
    - max
    - step
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10655
      start: 10626
    functionDepth: 0
    functionLinenumber: 10626
    functionLinenumberEnd: 10655
    functionName: roaring::internal::bitset_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_add
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_add_from_range(bitset_container_t *bitset, uint32_t
      min,\n                                     uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10660,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10664
      start: 10658
    functionDepth: 0
    functionLinenumber: 10658
    functionLinenumberEnd: 10664
    functionName: roaring::internal::bitset_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring_aligned_free
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_container_free(bitset_container_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10669,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10675,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10678,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10685
      start: 10667
    functionDepth: 0
    functionLinenumber: 10667
    functionLinenumberEnd: 10685
    functionName: roaring::internal::bitset_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_free
    - roaring_aligned_malloc
    - roaring_malloc
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10699,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10701,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10712,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10724,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10730,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10734,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10746,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10748,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - bitset_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10752
      start: 10687
    functionDepth: 0
    functionLinenumber: 10687
    functionLinenumberEnd: 10752
    functionName: roaring::internal::bitset_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: "void bitset_container_offset(const bitset_container_t *c,\n                             container_t
      **loc, container_t **hic,\n                             uint16_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10756,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bitset
    - begin
    - end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10759
      start: 10754
    functionDepth: 0
    functionLinenumber: 10754
    functionLinenumberEnd: 10759
    functionName: roaring::internal::bitset_container_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_range
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set_range(bitset_container_t *bitset, uint32_t
      begin,\n                                uint32_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10772
      start: 10762
    functionDepth: 0
    functionLinenumber: 10762
    functionLinenumberEnd: 10772
    functionName: roaring::internal::bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_intersect(const bitset_container_t *src_1,\n
      \                                 const bitset_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10784,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10785,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10786,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10790
      start: 10780
    functionDepth: 2
    functionLinenumber: 10780
    functionLinenumberEnd: 10790
    functionName: roaring::internal::_scalar_bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int _scalar_bitset_container_compute_cardinality(const bitset_container_t
      *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10793,1
    - Dst: roaring::internal::avx2_harley_seal_popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10794,1
    - Dst: roaring::internal::_scalar_bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10801
      start: 10792
    functionDepth: 1
    functionLinenumber: 10792
    functionLinenumberEnd: 10801
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached:
    - roaring::internal::avx2_harley_seal_popcount256
    - roaring::internal::_scalar_bitset_container_compute_cardinality
    - croaring_avx2
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10805,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10806,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10807,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10808,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10810,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10811,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10812,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10813,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10814,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10815,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10816,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10817,1
    - Dst: vdupq_n_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10819,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10820,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10821,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10822,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10823,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10824,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10825
      start: 10804
    functionDepth: 0
    functionLinenumber: 10804
    functionLinenumberEnd: 10825
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached:
    - vaddq_u16
    - vpaddlq_u32
    - vpaddlq_u16
    - vaddq_u64
    - vdupq_n_u64
    - vreinterpretq_u8_u64
    - vcntq_u8
    - vdupq_n_u16
    - vpaddlq_u8
    - vld1q_u64
    - vgetq_lane_u64
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10834,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10835,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10836,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:10837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10840
      start: 10830
    functionDepth: 2
    functionLinenumber: 10830
    functionLinenumberEnd: 10840
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10864
      start: 10857
    functionDepth: 0
    functionLinenumber: 10857
    functionLinenumberEnd: 10864
    functionName: AVX_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10926
      start: 10911
    functionDepth: 0
    functionLinenumber: 10911
    functionLinenumberEnd: 10926
    functionName: AVX_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10936
      start: 10926
    functionDepth: 0
    functionLinenumber: 10926
    functionLinenumberEnd: 10936
    functionName: AVX_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AVX_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11053
      start: 11008
    functionDepth: 0
    functionLinenumber: 11008
    functionLinenumberEnd: 11053
    functionName: SCALAR_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SCALAR_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic,            \\\n
      \                                  neon_intrinsic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11094
      start: 11066
    functionDepth: 0
    functionLinenumber: 11066
    functionLinenumberEnd: 11094
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11184
      start: 11099
    functionDepth: 0
    functionLinenumber: 11099
    functionLinenumberEnd: 11184
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11234
      start: 11187
    functionDepth: 0
    functionLinenumber: 11187
    functionLinenumberEnd: 11234
    functionName: BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11257,1
    - Dst: roaring::internal::bitset_extract_setbits_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11258,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11261,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - out
    - bc
    - base
    argTypes:
    - uint32_t*
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11267
      start: 11251
    functionDepth: 2
    functionLinenumber: 11251
    functionLinenumberEnd: 11267
    functionName: roaring::internal::bitset_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_extract_setbits_avx2
    - croaring_avx2
    - roaring::internal::bitset_extract_setbits
    linkageType: ''
    returnType: int
    signature: "int bitset_container_to_uint32_array(\n    uint32_t *out,\n    const
      bitset_container_t *bc,\n    uint32_t base\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11274,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11282,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11284,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11287,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - v
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11294
      start: 11273
    functionDepth: 1
    functionLinenumber: 11273
    functionLinenumberEnd: 11294
    functionName: roaring::internal::bitset_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - __builtin_ctzll
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf(const bitset_container_t * v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11307,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11309,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11318
      start: 11300
    functionDepth: 1
    functionLinenumber: 11300
    functionLinenumberEnd: 11318
    functionName: roaring::internal::bitset_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    - printf
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf_as_uint32_array(const bitset_container_t
      * v, uint32_t base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11330,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bc
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11338
      start: 11323
    functionDepth: 2
    functionLinenumber: 11323
    functionLinenumberEnd: 11338
    functionName: roaring::internal::bitset_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_number_of_runs(bitset_container_t *bc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11343,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11345
      start: 11341
    functionDepth: 0
    functionLinenumber: 11341
    functionLinenumberEnd: 11345
    functionName: roaring::internal::bitset_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_write(const bitset_container_t *container,\n
      \                                 char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11351,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11353
      start: 11348
    functionDepth: 0
    functionLinenumber: 11348
    functionLinenumberEnd: 11353
    functionName: roaring::internal::bitset_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_read(int32_t cardinality, bitset_container_t
      *container,\n\t\tconst char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11361,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11368
      start: 11355
    functionDepth: 1
    functionLinenumber: 11355
    functionLinenumberEnd: 11368
    functionName: roaring::internal::bitset_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate(const bitset_container_t *cont, uint32_t
      base, roaring_iterator iterator, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11376,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11383
      start: 11370
    functionDepth: 1
    functionLinenumber: 11370
    functionLinenumberEnd: 11383
    functionName: roaring::internal::bitset_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate64(const bitset_container_t *cont, uint32_t
      base, roaring_iterator64 iterator, uint64_t high_bits, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11392,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11393,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11394,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11400
      start: 11388
    functionDepth: 0
    functionLinenumber: 11388
    functionLinenumberEnd: 11400
    functionName: roaring::internal::_avx2_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: bool
    signature: bool _avx2_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11410,1
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11415,1
    - Dst: roaring::internal::_avx2_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11416,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11422
      start: 11404
    functionDepth: 1
    functionLinenumber: 11404
    functionLinenumberEnd: 11422
    functionName: roaring::internal::bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcmp
    - roaring::internal::_avx2_bitset_container_equals
    - croaring_avx2
    - INT32_C
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11438
      start: 11424
    functionDepth: 0
    functionLinenumber: 11424
    functionLinenumberEnd: 11438
    functionName: roaring::internal::bitset_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset(const bitset_container_t *container1,\n
      \                         const bitset_container_t *container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11441,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11450,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11456,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11468,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - bitset_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11467
        line_start: 11467
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11470
      start: 11440
    functionDepth: 2
    functionLinenumber: 11440
    functionLinenumberEnd: 11470
    functionName: roaring::internal::bitset_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_unreachable
    - hamming
    - assert
    - roaring::internal::bitset_container_cardinality
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_select(const bitset_container_t *container, uint32_t
      *start_rank, uint32_t rank, uint32_t *element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11484
      start: 11474
    functionDepth: 1
    functionLinenumber: 11474
    functionLinenumberEnd: 11484
    functionName: roaring::internal::bitset_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_minimum(const bitset_container_t *container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11497
      start: 11487
    functionDepth: 1
    functionLinenumber: 11487
    functionLinenumberEnd: 11497
    functionName: roaring::internal::bitset_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_clzll
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_maximum(const bitset_container_t *container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11505,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11508,1
    - Dst: hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11512
      start: 11500
    functionDepth: 2
    functionLinenumber: 11500
    functionLinenumberEnd: 11512
    functionName: roaring::internal::bitset_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - hamming
    - UINT64_C
    linkageType: ''
    returnType: int
    signature: int bitset_container_rank(const bitset_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11527
      start: 11515
    functionDepth: 1
    functionLinenumber: 11515
    functionLinenumberEnd: 11527
    functionName: roaring::internal::bitset_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: int
    signature: int bitset_container_index_equalorlarger(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11572,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11572,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11575,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11575,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11578,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11578,1
    - Dst: roaring::internal::shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11581,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11581,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11584,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11583
        line_start: 11583
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11587
      start: 11569
    functionDepth: 1
    functionLinenumber: 11569
    functionLinenumberEnd: 11587
    functionName: roaring::internal::container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - CAST_shared
    - CAST_bitset
    - assert
    - roaring::internal::run_container_free
    - roaring::internal::array_container_free
    - roaring::internal::shared_container_free
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: void container_free(container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11595,1
    - Dst: roaring::internal::bitset_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11598,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11598,1
    - Dst: roaring::internal::array_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11601,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11601,1
    - Dst: roaring::internal::run_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11604,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11604,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11609
      start: 11594
    functionDepth: 1
    functionLinenumber: 11594
    functionLinenumberEnd: 11609
    functionName: roaring::internal::container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf
    - roaring::internal::array_container_printf
    - roaring::internal::bitset_container_printf
    linkageType: ''
    returnType: void
    signature: void container_printf(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11615,1
    - Dst: roaring::internal::bitset_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11618,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11619,1
    - Dst: roaring::internal::array_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11622,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11623,1
    - Dst: roaring::internal::run_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11626,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11627,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - c
    - typecode
    - base
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11632
      start: 11611
    functionDepth: 1
    functionLinenumber: 11611
    functionLinenumberEnd: 11632
    functionName: roaring::internal::container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::bitset_container_printf_as_uint32_array
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf_as_uint32_array
    - roaring::internal::array_container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: "void container_printf_as_uint32_array(\n    const container_t *c,
      uint8_t typecode,\n    uint32_t base\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11676,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11680,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11682,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11696,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11697,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - c
    - typecode
    - copy_on_write
    argTypes:
    - container_t*
    - uint8_t*
    - bool
    assertStmts:
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11696
        line_start: 11696
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11679
        line_start: 11679
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11699
      start: 11669
    functionDepth: 0
    functionLinenumber: 11669
    functionLinenumberEnd: 11699
    functionName: roaring::internal::get_copy_of_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::container_unwrap_shared
    - CAST_shared
    - assert
    - roaring_malloc
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_copy_of_container(\n    container_t *c, uint8_t *typecode,\n
      \   bool copy_on_write\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11710,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11710,1
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11712,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11712,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11714,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11714,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11719,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11718
        line_start: 11718
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11723
      start: 11705
    functionDepth: 1
    functionLinenumber: 11705
    functionLinenumberEnd: 11723
    functionName: roaring::internal::container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::run_container_clone
    - const_CAST_run
    - assert
    - roaring::internal::array_container_clone
    - roaring::internal::bitset_container_clone
    linkageType: ''
    returnType: container_t
    signature: container_t *container_clone(const container_t *c, uint8_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11728,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11729,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11736,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11738,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - typecode
    argTypes:
    - shared_container_t*
    - uint8_t*
    assertStmts:
    - condition: (sc->counter > 0)
      pos:
        line_end: 11727
        line_start: 11727
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11739
        line_start: 11739
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (sc->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11728
        line_start: 11728
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11742
      start: 11725
    functionDepth: 0
    functionLinenumber: 11725
    functionLinenumberEnd: 11742
    functionName: roaring::internal::shared_container_extract_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - assert
    - roaring::internal::container_clone
    - roaring_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *shared_container_extract_copy(\n    shared_container_t
      *sc, uint8_t *typecode\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11745,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11748,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11749,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - container
    argTypes:
    - shared_container_t*
    assertStmts:
    - condition: (container->counter > 0)
      pos:
        line_end: 11744
        line_start: 11744
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (container->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11747
        line_start: 11747
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11753
      start: 11744
    functionDepth: 0
    functionLinenumber: 11744
    functionLinenumberEnd: 11753
    functionName: roaring::internal::shared_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::container_free
    - assert
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void shared_container_free(shared_container_t *container)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11572,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11572,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11575,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11575,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11578,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11578,1
    - Dst: roaring::internal::shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11581,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11581,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11584,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11583
        line_start: 11583
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11587
      start: 11569
    functionDepth: 1
    functionLinenumber: 11569
    functionLinenumberEnd: 11587
    functionName: roaring::internal::container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - CAST_shared
    - CAST_bitset
    - assert
    - roaring::internal::run_container_free
    - roaring::internal::array_container_free
    - roaring::internal::shared_container_free
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: void container_free(container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11595,1
    - Dst: roaring::internal::bitset_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11598,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11598,1
    - Dst: roaring::internal::array_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11601,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11601,1
    - Dst: roaring::internal::run_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11604,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11604,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11609
      start: 11594
    functionDepth: 1
    functionLinenumber: 11594
    functionLinenumberEnd: 11609
    functionName: roaring::internal::container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf
    - roaring::internal::array_container_printf
    - roaring::internal::bitset_container_printf
    linkageType: ''
    returnType: void
    signature: void container_printf(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11615,1
    - Dst: roaring::internal::bitset_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11618,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11619,1
    - Dst: roaring::internal::array_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11622,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11623,1
    - Dst: roaring::internal::run_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11626,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11627,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - c
    - typecode
    - base
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11632
      start: 11611
    functionDepth: 1
    functionLinenumber: 11611
    functionLinenumberEnd: 11632
    functionName: roaring::internal::container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::bitset_container_printf_as_uint32_array
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf_as_uint32_array
    - roaring::internal::array_container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: "void container_printf_as_uint32_array(\n    const container_t *c,
      uint8_t typecode,\n    uint32_t base\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11676,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11680,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11682,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11696,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11697,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - c
    - typecode
    - copy_on_write
    argTypes:
    - container_t*
    - uint8_t*
    - bool
    assertStmts:
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11696
        line_start: 11696
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11679
        line_start: 11679
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11699
      start: 11669
    functionDepth: 0
    functionLinenumber: 11669
    functionLinenumberEnd: 11699
    functionName: roaring::internal::get_copy_of_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::container_unwrap_shared
    - CAST_shared
    - assert
    - roaring_malloc
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_copy_of_container(\n    container_t *c, uint8_t *typecode,\n
      \   bool copy_on_write\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11710,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11710,1
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11712,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11712,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11714,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11714,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11719,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11718
        line_start: 11718
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11723
      start: 11705
    functionDepth: 1
    functionLinenumber: 11705
    functionLinenumberEnd: 11723
    functionName: roaring::internal::container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::run_container_clone
    - const_CAST_run
    - assert
    - roaring::internal::array_container_clone
    - roaring::internal::bitset_container_clone
    linkageType: ''
    returnType: container_t
    signature: container_t *container_clone(const container_t *c, uint8_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11728,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11729,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11736,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11738,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - typecode
    argTypes:
    - shared_container_t*
    - uint8_t*
    assertStmts:
    - condition: (sc->counter > 0)
      pos:
        line_end: 11727
        line_start: 11727
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11739
        line_start: 11739
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (sc->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11728
        line_start: 11728
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11742
      start: 11725
    functionDepth: 0
    functionLinenumber: 11725
    functionLinenumberEnd: 11742
    functionName: roaring::internal::shared_container_extract_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - assert
    - roaring::internal::container_clone
    - roaring_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *shared_container_extract_copy(\n    shared_container_t
      *sc, uint8_t *typecode\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11745,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11748,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11749,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - container
    argTypes:
    - shared_container_t*
    assertStmts:
    - condition: (container->counter > 0)
      pos:
        line_end: 11744
        line_start: 11744
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (container->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11747
        line_start: 11747
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11753
      start: 11744
    functionDepth: 0
    functionLinenumber: 11744
    functionLinenumberEnd: 11753
    functionName: roaring::internal::shared_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::container_free
    - assert
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void shared_container_free(shared_container_t *container)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11572,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11572,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11575,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11575,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11578,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11578,1
    - Dst: roaring::internal::shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11581,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11581,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11584,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11583
        line_start: 11583
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11587
      start: 11569
    functionDepth: 1
    functionLinenumber: 11569
    functionLinenumberEnd: 11587
    functionName: roaring::internal::container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - CAST_shared
    - CAST_bitset
    - assert
    - roaring::internal::run_container_free
    - roaring::internal::array_container_free
    - roaring::internal::shared_container_free
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: void container_free(container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11595,1
    - Dst: roaring::internal::bitset_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11598,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11598,1
    - Dst: roaring::internal::array_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11601,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11601,1
    - Dst: roaring::internal::run_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11604,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11604,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11609
      start: 11594
    functionDepth: 1
    functionLinenumber: 11594
    functionLinenumberEnd: 11609
    functionName: roaring::internal::container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf
    - roaring::internal::array_container_printf
    - roaring::internal::bitset_container_printf
    linkageType: ''
    returnType: void
    signature: void container_printf(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11615,1
    - Dst: roaring::internal::bitset_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11618,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11619,1
    - Dst: roaring::internal::array_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11622,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11623,1
    - Dst: roaring::internal::run_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11626,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11627,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - c
    - typecode
    - base
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11632
      start: 11611
    functionDepth: 1
    functionLinenumber: 11611
    functionLinenumberEnd: 11632
    functionName: roaring::internal::container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::bitset_container_printf_as_uint32_array
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf_as_uint32_array
    - roaring::internal::array_container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: "void container_printf_as_uint32_array(\n    const container_t *c,
      uint8_t typecode,\n    uint32_t base\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11676,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11680,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11682,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11696,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11697,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - c
    - typecode
    - copy_on_write
    argTypes:
    - container_t*
    - uint8_t*
    - bool
    assertStmts:
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11696
        line_start: 11696
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11679
        line_start: 11679
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11699
      start: 11669
    functionDepth: 0
    functionLinenumber: 11669
    functionLinenumberEnd: 11699
    functionName: roaring::internal::get_copy_of_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::container_unwrap_shared
    - CAST_shared
    - assert
    - roaring_malloc
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_copy_of_container(\n    container_t *c, uint8_t *typecode,\n
      \   bool copy_on_write\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11710,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11710,1
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11712,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11712,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11714,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11714,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11719,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11718
        line_start: 11718
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11723
      start: 11705
    functionDepth: 1
    functionLinenumber: 11705
    functionLinenumberEnd: 11723
    functionName: roaring::internal::container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::run_container_clone
    - const_CAST_run
    - assert
    - roaring::internal::array_container_clone
    - roaring::internal::bitset_container_clone
    linkageType: ''
    returnType: container_t
    signature: container_t *container_clone(const container_t *c, uint8_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11728,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11729,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11736,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11738,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - typecode
    argTypes:
    - shared_container_t*
    - uint8_t*
    assertStmts:
    - condition: (sc->counter > 0)
      pos:
        line_end: 11727
        line_start: 11727
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11739
        line_start: 11739
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (sc->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11728
        line_start: 11728
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11742
      start: 11725
    functionDepth: 0
    functionLinenumber: 11725
    functionLinenumberEnd: 11742
    functionName: roaring::internal::shared_container_extract_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - assert
    - roaring::internal::container_clone
    - roaring_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *shared_container_extract_copy(\n    shared_container_t
      *sc, uint8_t *typecode\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11745,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11748,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11749,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - container
    argTypes:
    - shared_container_t*
    assertStmts:
    - condition: (container->counter > 0)
      pos:
        line_end: 11744
        line_start: 11744
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (container->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11747
        line_start: 11747
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11753
      start: 11744
    functionDepth: 0
    functionLinenumber: 11744
    functionLinenumberEnd: 11753
    functionName: roaring::internal::shared_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::internal::container_free
    - assert
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void shared_container_free(shared_container_t *container)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11572,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11572,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11575,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11575,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11578,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11578,1
    - Dst: roaring::internal::shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11581,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11581,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11584,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11583
        line_start: 11583
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11587
      start: 11569
    functionDepth: 1
    functionLinenumber: 11569
    functionLinenumberEnd: 11587
    functionName: roaring::internal::container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - __builtin_unreachable
    - CAST_array
    - CAST_shared
    - CAST_bitset
    - assert
    - roaring::internal::run_container_free
    - roaring::internal::array_container_free
    - roaring::internal::shared_container_free
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: void container_free(container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11595,1
    - Dst: roaring::internal::bitset_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11598,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11598,1
    - Dst: roaring::internal::array_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11601,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11601,1
    - Dst: roaring::internal::run_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11604,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11604,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11609
      start: 11594
    functionDepth: 1
    functionLinenumber: 11594
    functionLinenumberEnd: 11609
    functionName: roaring::internal::container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf
    - roaring::internal::array_container_printf
    - roaring::internal::bitset_container_printf
    linkageType: ''
    returnType: void
    signature: void container_printf(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11615,1
    - Dst: roaring::internal::bitset_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11618,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11619,1
    - Dst: roaring::internal::array_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11622,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11623,1
    - Dst: roaring::internal::run_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11626,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11627,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - c
    - typecode
    - base
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11632
      start: 11611
    functionDepth: 1
    functionLinenumber: 11611
    functionLinenumberEnd: 11632
    functionName: roaring::internal::container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::bitset_container_printf_as_uint32_array
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf_as_uint32_array
    - roaring::internal::array_container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: "void container_printf_as_uint32_array(\n    const container_t *c,
      uint8_t typecode,\n    uint32_t base\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11676,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11680,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11682,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11696,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11697,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - c
    - typecode
    - copy_on_write
    argTypes:
    - container_t*
    - uint8_t*
    - bool
    assertStmts:
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11696
        line_start: 11696
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11679
        line_start: 11679
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11699
      start: 11669
    functionDepth: 0
    functionLinenumber: 11669
    functionLinenumberEnd: 11699
    functionName: roaring::internal::get_copy_of_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::container_unwrap_shared
    - CAST_shared
    - assert
    - roaring_malloc
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_copy_of_container(\n    container_t *c, uint8_t *typecode,\n
      \   bool copy_on_write\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11710,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11710,1
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11712,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11712,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11714,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11714,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11719,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 11718
        line_start: 11718
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11723
      start: 11705
    functionDepth: 1
    functionLinenumber: 11705
    functionLinenumberEnd: 11723
    functionName: roaring::internal::container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - roaring::internal::run_container_clone
    - const_CAST_run
    - assert
    - roaring::internal::array_container_clone
    - roaring::internal::bitset_container_clone
    linkageType: ''
    returnType: container_t
    signature: container_t *container_clone(const container_t *c, uint8_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11728,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11729,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11736,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11738,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - typecode
    argTypes:
    - shared_container_t*
    - uint8_t*
    assertStmts:
    - condition: (sc->counter > 0)
      pos:
        line_end: 11727
        line_start: 11727
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11739
        line_start: 11739
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (sc->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11728
        line_start: 11728
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11742
      start: 11725
    functionDepth: 0
    functionLinenumber: 11725
    functionLinenumberEnd: 11742
    functionName: roaring::internal::shared_container_extract_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - assert
    - roaring::internal::container_clone
    - roaring_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *shared_container_extract_copy(\n    shared_container_t
      *sc, uint8_t *typecode\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11745,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11748,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11749,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - container
    argTypes:
    - shared_container_t*
    assertStmts:
    - condition: (container->counter > 0)
      pos:
        line_end: 11744
        line_start: 11744
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (container->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 11747
        line_start: 11747
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11753
      start: 11744
    functionDepth: 0
    functionLinenumber: 11744
    functionLinenumberEnd: 11753
    functionName: roaring::internal::shared_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::container_free
    - assert
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void shared_container_free(shared_container_t *container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11808,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11809,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11812
      start: 11807
    functionDepth: 0
    functionLinenumber: 11807
    functionLinenumberEnd: 11812
    functionName: roaring::internal::bitset_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::bitset_container_set
    - roaring::internal::array_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_array(const array_container_t
      *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11815,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11816,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11824
      start: 11814
    functionDepth: 0
    functionLinenumber: 11814
    functionLinenumberEnd: 11824
    functionName: roaring::internal::bitset_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_run(const run_container_t
      *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11828,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11840
      start: 11826
    functionDepth: 0
    functionLinenumber: 11826
    functionLinenumberEnd: 11840
    functionName: roaring::internal::array_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_run(const run_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11844,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bits
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11852
      start: 11842
    functionDepth: 2
    functionLinenumber: 11842
    functionLinenumberEnd: 11852
    functionName: roaring::internal::array_container_from_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_bitset(const bitset_container_t
      *bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - s
    - e
    argTypes:
    - run_container_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11859
      start: 11855
    functionDepth: 0
    functionLinenumber: 11855
    functionLinenumberEnd: 11859
    functionName: roaring::internal::add_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_run(run_container_t *rc, int s, int e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11862,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11863,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11872,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11881
      start: 11861
    functionDepth: 0
    functionLinenumber: 11861
    functionLinenumberEnd: 11881
    functionName: roaring::internal::run_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::add_run
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_from_array(const array_container_t *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11894,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11907,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11912,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - rc
    - card
    - resulttype
    argTypes:
    - run_container_t*
    - int32_t
    - uint8_t*
    assertStmts:
    - condition: (card == answer->cardinality)
      pos:
        line_end: 11906
        line_start: 11906
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11922
      start: 11889
    functionDepth: 0
    functionLinenumber: 11889
    functionLinenumberEnd: 11922
    functionName: roaring::internal::convert_to_bitset_or_array_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_to_bitset_or_array_container(\n    run_container_t
      *rc, int32_t card,\n    uint8_t *resulttype\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11934,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11937,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11938,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11940,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11952,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11968,1
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11978
      start: 11929
    functionDepth: 0
    functionLinenumber: 11929
    functionLinenumberEnd: 11978
    functionName: roaring::internal::convert_run_to_efficient_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    - roaring::internal::array_container_serialized_size_in_bytes
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container(\n    run_container_t
      *c,\n    uint8_t *typecode_after\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11985,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11988
      start: 11981
    functionDepth: 0
    functionLinenumber: 11981
    functionLinenumberEnd: 11988
    functionName: roaring::internal::convert_run_to_efficient_container_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 24
    functionsReached:
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container_and_free(\n    run_container_t
      *c,\n    uint8_t *typecode_after\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12002,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12003,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12005,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12010,1
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12011,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12013,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12014,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12016,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12023,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12028,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12034,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12039,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12041,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12043,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12048,1
    - Dst: roaring::internal::bitset_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12049,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12051,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12053,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12062,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12063,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12068,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12072,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12073,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12078,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12083,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12087,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12089,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12090,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12094,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12096,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12101,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12102,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 3
    argNames:
    - c
    - typecode_original
    - typecode_after
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (card > 0)
      pos:
        line_end: 12027
        line_start: 12027
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (n_runs > 0)
      pos:
        line_end: 12061
        line_start: 12061
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 12100
        line_start: 12100
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (run_start >= 0)
      pos:
        line_end: 12038
        line_start: 12038
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 12105
      start: 11997
    functionDepth: 1
    functionLinenumber: 11997
    functionLinenumberEnd: 12105
    functionName: roaring::internal::convert_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_number_of_runs
    - CAST_bitset
    - __builtin_ctzll
    - CAST_run
    - roaring::internal::run_container_create_given_capacity
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::container_free
    - roaring::internal::bitset_container_free
    - __builtin_unreachable
    - roaring::internal::run_container_serialized_size_in_bytes
    - CAST_array
    - roaring::internal::bitset_container_number_of_runs
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::array_container_serialized_size_in_bytes
    - assert
    - UINT64_C
    - roaring::internal::add_run
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_optimize(\n    container_t *c, uint8_t typecode_original,\n
      \   uint8_t *typecode_after\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12112,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12119,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12123,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12124,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12128,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - run
    - min
    - max
    - typecode_after
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12134
      start: 12107
    functionDepth: 0
    functionLinenumber: 12107
    functionLinenumberEnd: 12134
    functionName: roaring::internal::container_from_run_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_run_range(\n    const run_container_t
      *run,\n    uint32_t min, uint32_t max, uint8_t *typecode_after\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11808,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11809,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11812
      start: 11807
    functionDepth: 0
    functionLinenumber: 11807
    functionLinenumberEnd: 11812
    functionName: roaring::internal::bitset_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::bitset_container_set
    - roaring::internal::array_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_array(const array_container_t
      *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11815,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11816,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11824
      start: 11814
    functionDepth: 0
    functionLinenumber: 11814
    functionLinenumberEnd: 11824
    functionName: roaring::internal::bitset_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_run(const run_container_t
      *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11828,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11840
      start: 11826
    functionDepth: 0
    functionLinenumber: 11826
    functionLinenumberEnd: 11840
    functionName: roaring::internal::array_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_run(const run_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11844,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bits
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11852
      start: 11842
    functionDepth: 2
    functionLinenumber: 11842
    functionLinenumberEnd: 11852
    functionName: roaring::internal::array_container_from_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 13
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_bitset(const bitset_container_t
      *bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - s
    - e
    argTypes:
    - run_container_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11859
      start: 11855
    functionDepth: 0
    functionLinenumber: 11855
    functionLinenumberEnd: 11859
    functionName: roaring::internal::add_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_run(run_container_t *rc, int s, int e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11862,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11863,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11872,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11881
      start: 11861
    functionDepth: 0
    functionLinenumber: 11861
    functionLinenumberEnd: 11881
    functionName: roaring::internal::run_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::add_run
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_from_array(const array_container_t *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11894,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11907,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11912,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - rc
    - card
    - resulttype
    argTypes:
    - run_container_t*
    - int32_t
    - uint8_t*
    assertStmts:
    - condition: (card == answer->cardinality)
      pos:
        line_end: 11906
        line_start: 11906
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11922
      start: 11889
    functionDepth: 0
    functionLinenumber: 11889
    functionLinenumberEnd: 11922
    functionName: roaring::internal::convert_to_bitset_or_array_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_to_bitset_or_array_container(\n    run_container_t
      *rc, int32_t card,\n    uint8_t *resulttype\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11934,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11937,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11938,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11940,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11952,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11968,1
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11978
      start: 11929
    functionDepth: 0
    functionLinenumber: 11929
    functionLinenumberEnd: 11978
    functionName: roaring::internal::convert_run_to_efficient_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 14
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    - roaring::internal::array_container_serialized_size_in_bytes
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container(\n    run_container_t
      *c,\n    uint8_t *typecode_after\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11985,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11988
      start: 11981
    functionDepth: 0
    functionLinenumber: 11981
    functionLinenumberEnd: 11988
    functionName: roaring::internal::convert_run_to_efficient_container_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 24
    functionsReached:
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container_and_free(\n    run_container_t
      *c,\n    uint8_t *typecode_after\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12002,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12003,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12005,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12010,1
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12011,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12013,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12014,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12016,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12023,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12028,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12034,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12039,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12041,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12043,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12048,1
    - Dst: roaring::internal::bitset_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12049,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12051,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12053,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12062,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12063,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12068,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12072,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12073,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12078,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12083,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12087,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12089,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12090,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12094,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12096,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12101,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12102,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 3
    argNames:
    - c
    - typecode_original
    - typecode_after
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (card > 0)
      pos:
        line_end: 12027
        line_start: 12027
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (n_runs > 0)
      pos:
        line_end: 12061
        line_start: 12061
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 12100
        line_start: 12100
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (run_start >= 0)
      pos:
        line_end: 12038
        line_start: 12038
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 12105
      start: 11997
    functionDepth: 1
    functionLinenumber: 11997
    functionLinenumberEnd: 12105
    functionName: roaring::internal::convert_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_number_of_runs
    - CAST_bitset
    - __builtin_ctzll
    - CAST_run
    - roaring::internal::run_container_create_given_capacity
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::container_free
    - roaring::internal::bitset_container_free
    - __builtin_unreachable
    - roaring::internal::run_container_serialized_size_in_bytes
    - CAST_array
    - roaring::internal::bitset_container_number_of_runs
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::array_container_serialized_size_in_bytes
    - assert
    - UINT64_C
    - roaring::internal::add_run
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_optimize(\n    container_t *c, uint8_t typecode_original,\n
      \   uint8_t *typecode_after\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12112,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12119,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12123,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12124,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12128,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - run
    - min
    - max
    - typecode_after
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12134
      start: 12107
    functionDepth: 0
    functionLinenumber: 12107
    functionLinenumberEnd: 12134
    functionName: roaring::internal::container_from_run_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_run_range(\n    const run_container_t
      *run,\n    uint32_t min, uint32_t max, uint8_t *typecode_after\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11808,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11809,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11812
      start: 11807
    functionDepth: 0
    functionLinenumber: 11807
    functionLinenumberEnd: 11812
    functionName: roaring::internal::bitset_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::bitset_container_set
    - roaring::internal::array_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_array(const array_container_t
      *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11815,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11816,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11824
      start: 11814
    functionDepth: 0
    functionLinenumber: 11814
    functionLinenumberEnd: 11824
    functionName: roaring::internal::bitset_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_run(const run_container_t
      *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11828,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11840
      start: 11826
    functionDepth: 0
    functionLinenumber: 11826
    functionLinenumberEnd: 11840
    functionName: roaring::internal::array_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_run(const run_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11844,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bits
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11852
      start: 11842
    functionDepth: 2
    functionLinenumber: 11842
    functionLinenumberEnd: 11852
    functionName: roaring::internal::array_container_from_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 14
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_bitset(const bitset_container_t
      *bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - s
    - e
    argTypes:
    - run_container_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11859
      start: 11855
    functionDepth: 0
    functionLinenumber: 11855
    functionLinenumberEnd: 11859
    functionName: roaring::internal::add_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_run(run_container_t *rc, int s, int e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11862,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11863,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11872,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11881
      start: 11861
    functionDepth: 0
    functionLinenumber: 11861
    functionLinenumberEnd: 11881
    functionName: roaring::internal::run_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::add_run
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_from_array(const array_container_t *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11894,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11907,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11912,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - rc
    - card
    - resulttype
    argTypes:
    - run_container_t*
    - int32_t
    - uint8_t*
    assertStmts:
    - condition: (card == answer->cardinality)
      pos:
        line_end: 11906
        line_start: 11906
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11922
      start: 11889
    functionDepth: 0
    functionLinenumber: 11889
    functionLinenumberEnd: 11922
    functionName: roaring::internal::convert_to_bitset_or_array_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_to_bitset_or_array_container(\n    run_container_t
      *rc, int32_t card,\n    uint8_t *resulttype\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11934,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11937,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11938,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11940,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11952,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11968,1
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11978
      start: 11929
    functionDepth: 0
    functionLinenumber: 11929
    functionLinenumberEnd: 11978
    functionName: roaring::internal::convert_run_to_efficient_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    - roaring::internal::array_container_serialized_size_in_bytes
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container(\n    run_container_t
      *c,\n    uint8_t *typecode_after\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11985,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11988
      start: 11981
    functionDepth: 0
    functionLinenumber: 11981
    functionLinenumberEnd: 11988
    functionName: roaring::internal::convert_run_to_efficient_container_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 24
    functionsReached:
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container_and_free(\n    run_container_t
      *c,\n    uint8_t *typecode_after\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12002,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12003,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12005,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12010,1
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12011,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12013,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12014,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12016,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12023,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12028,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12034,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12039,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12041,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12043,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12048,1
    - Dst: roaring::internal::bitset_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12049,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12051,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12053,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12062,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12063,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12068,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12072,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12073,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12078,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12083,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12087,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12089,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12090,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12094,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12096,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12101,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12102,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 3
    argNames:
    - c
    - typecode_original
    - typecode_after
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (card > 0)
      pos:
        line_end: 12027
        line_start: 12027
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (n_runs > 0)
      pos:
        line_end: 12061
        line_start: 12061
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 12100
        line_start: 12100
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (run_start >= 0)
      pos:
        line_end: 12038
        line_start: 12038
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 12105
      start: 11997
    functionDepth: 1
    functionLinenumber: 11997
    functionLinenumberEnd: 12105
    functionName: roaring::internal::convert_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_number_of_runs
    - CAST_bitset
    - __builtin_ctzll
    - CAST_run
    - roaring::internal::run_container_create_given_capacity
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::container_free
    - roaring::internal::bitset_container_free
    - __builtin_unreachable
    - roaring::internal::run_container_serialized_size_in_bytes
    - CAST_array
    - roaring::internal::bitset_container_number_of_runs
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::array_container_serialized_size_in_bytes
    - assert
    - UINT64_C
    - roaring::internal::add_run
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_optimize(\n    container_t *c, uint8_t typecode_original,\n
      \   uint8_t *typecode_after\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12112,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12119,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12123,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12124,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12128,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - run
    - min
    - max
    - typecode_after
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12134
      start: 12107
    functionDepth: 0
    functionLinenumber: 12107
    functionLinenumberEnd: 12134
    functionName: roaring::internal::container_from_run_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_run_range(\n    const run_container_t
      *run,\n    uint32_t min, uint32_t max, uint8_t *typecode_after\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11808,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11809,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11812
      start: 11807
    functionDepth: 0
    functionLinenumber: 11807
    functionLinenumberEnd: 11812
    functionName: roaring::internal::bitset_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::bitset_container_set
    - roaring::internal::array_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_array(const array_container_t
      *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11815,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11816,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11824
      start: 11814
    functionDepth: 0
    functionLinenumber: 11814
    functionLinenumberEnd: 11824
    functionName: roaring::internal::bitset_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_run(const run_container_t
      *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11828,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11840
      start: 11826
    functionDepth: 0
    functionLinenumber: 11826
    functionLinenumberEnd: 11840
    functionName: roaring::internal::array_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_run(const run_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11844,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bits
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11852
      start: 11842
    functionDepth: 2
    functionLinenumber: 11842
    functionLinenumberEnd: 11852
    functionName: roaring::internal::array_container_from_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 15
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_bitset(const bitset_container_t
      *bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - s
    - e
    argTypes:
    - run_container_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11859
      start: 11855
    functionDepth: 0
    functionLinenumber: 11855
    functionLinenumberEnd: 11859
    functionName: roaring::internal::add_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_run(run_container_t *rc, int s, int e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11862,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11863,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11872,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11881
      start: 11861
    functionDepth: 0
    functionLinenumber: 11861
    functionLinenumberEnd: 11881
    functionName: roaring::internal::run_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::add_run
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_from_array(const array_container_t *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11894,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11907,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11912,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - rc
    - card
    - resulttype
    argTypes:
    - run_container_t*
    - int32_t
    - uint8_t*
    assertStmts:
    - condition: (card == answer->cardinality)
      pos:
        line_end: 11906
        line_start: 11906
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 11922
      start: 11889
    functionDepth: 0
    functionLinenumber: 11889
    functionLinenumberEnd: 11922
    functionName: roaring::internal::convert_to_bitset_or_array_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_to_bitset_or_array_container(\n    run_container_t
      *rc, int32_t card,\n    uint8_t *resulttype\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11934,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11937,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11938,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11940,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11952,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11968,1
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11978
      start: 11929
    functionDepth: 0
    functionLinenumber: 11929
    functionLinenumberEnd: 11978
    functionName: roaring::internal::convert_run_to_efficient_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 18
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    - roaring::internal::array_container_serialized_size_in_bytes
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container(\n    run_container_t
      *c,\n    uint8_t *typecode_after\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11985,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:11986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11988
      start: 11981
    functionDepth: 0
    functionLinenumber: 11981
    functionLinenumberEnd: 11988
    functionName: roaring::internal::convert_run_to_efficient_container_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 24
    functionsReached:
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container_and_free(\n    run_container_t
      *c,\n    uint8_t *typecode_after\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12002,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12003,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12005,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12010,1
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12011,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12013,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12014,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12016,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12023,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12028,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12034,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12039,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12041,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12043,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12048,1
    - Dst: roaring::internal::bitset_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12049,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12051,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12053,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12062,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12063,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12068,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12072,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12073,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12078,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12083,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12087,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12089,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12090,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12094,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12096,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12101,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12102,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 3
    argNames:
    - c
    - typecode_original
    - typecode_after
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (card > 0)
      pos:
        line_end: 12027
        line_start: 12027
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (n_runs > 0)
      pos:
        line_end: 12061
        line_start: 12061
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (false)
      pos:
        line_end: 12100
        line_start: 12100
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (run_start >= 0)
      pos:
        line_end: 12038
        line_start: 12038
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 12105
      start: 11997
    functionDepth: 1
    functionLinenumber: 11997
    functionLinenumberEnd: 12105
    functionName: roaring::internal::convert_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_number_of_runs
    - CAST_bitset
    - __builtin_ctzll
    - CAST_run
    - roaring::internal::run_container_create_given_capacity
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::container_free
    - roaring::internal::bitset_container_free
    - __builtin_unreachable
    - roaring::internal::run_container_serialized_size_in_bytes
    - CAST_array
    - roaring::internal::bitset_container_number_of_runs
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::array_container_serialized_size_in_bytes
    - assert
    - UINT64_C
    - roaring::internal::add_run
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_optimize(\n    container_t *c, uint8_t typecode_original,\n
      \   uint8_t *typecode_after\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12112,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12119,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12123,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12124,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12128,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - run
    - min
    - max
    - typecode_after
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12134
      start: 12107
    functionDepth: 0
    functionLinenumber: 12107
    functionLinenumberEnd: 12134
    functionName: roaring::internal::container_from_run_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_run_range(\n    const run_container_t
      *run,\n    uint32_t min, uint32_t max, uint8_t *typecode_after\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12161,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12172
      start: 12156
    functionDepth: 0
    functionLinenumber: 12156
    functionLinenumberEnd: 12172
    functionName: roaring::internal::array_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_andnot(const array_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12180
      start: 12177
    functionDepth: 0
    functionLinenumber: 12177
    functionLinenumberEnd: 12180
    functionName: roaring::internal::array_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_bitset_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_iandnot(array_container_t *src_1,\n                                    const
      bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12192,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12193,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12195,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12200,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12206
      start: 12187
    functionDepth: 2
    functionLinenumber: 12187
    functionLinenumberEnd: 12206
    functionName: roaring::internal::bitset_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_andnot(\n    const bitset_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12221,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12225,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12230
      start: 12215
    functionDepth: 2
    functionLinenumber: 12215
    functionLinenumberEnd: 12230
    functionName: roaring::internal::bitset_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_iandnot(\n    bitset_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12244,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12247,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12255,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12264,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12273,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12274,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12277,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12279,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12282,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12289
      start: 12239
    functionDepth: 1
    functionLinenumber: 12239
    functionLinenumberEnd: 12289
    functionName: roaring::internal::run_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_get
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_andnot(\n    const run_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12303,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12306
      start: 12298
    functionDepth: 0
    functionLinenumber: 12298
    functionLinenumberEnd: 12306
    functionName: roaring::internal::run_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_iandnot(\n    run_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12320,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12322,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12326,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12327,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12329,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12332,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12338
      start: 12315
    functionDepth: 0
    functionLinenumber: 12315
    functionLinenumberEnd: 12338
    functionName: roaring::internal::bitset_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_andnot(\n    const bitset_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12355,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12356,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12358,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12361,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12366
      start: 12347
    functionDepth: 0
    functionLinenumber: 12347
    functionLinenumberEnd: 12366
    functionName: roaring::internal::bitset_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - UINT32_C
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_iandnot(\n    bitset_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - rc
    - a_in
    - a_out
    argTypes:
    - run_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12414
      start: 12376
    functionDepth: 0
    functionLinenumber: 12376
    functionLinenumberEnd: 12414
    functionName: roaring::internal::run_array_array_subtract
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int run_array_array_subtract(const run_container_t *rc,\n                                    const
      array_container_t *a_in,\n                                    array_container_t
      *a_out)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12426,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12431,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12435,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12436,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12449,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12464,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12478,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12481,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12487,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12488,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12494,1
    - Dst: roaring::internal::run_array_array_subtract
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12497,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12501,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12502,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12505
      start: 12420
    functionDepth: 1
    functionLinenumber: 12420
    functionLinenumberEnd: 12505
    functionName: roaring::internal::run_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - MAKE_RLE16
    - roaring::internal::run_container_clone
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_array_container_iandnot
    - roaring::internal::bitset_container_from_run
    - roaring::internal::run_container_cardinality
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    - roaring::internal::run_array_array_subtract
    linkageType: ''
    returnType: int
    signature: "int run_array_container_andnot(\n    const run_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12519,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12522
      start: 12514
    functionDepth: 0
    functionLinenumber: 12514
    functionLinenumberEnd: 12522
    functionName: roaring::internal::run_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_array_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_iandnot(\n    run_container_t *src_1, const
      array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12531,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12566
      start: 12526
    functionDepth: 0
    functionLinenumber: 12526
    functionLinenumberEnd: 12566
    functionName: roaring::internal::array_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_run_container_andnot(const array_container_t *src_1,\n
      \                               const run_container_t *src_2,\n                                array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12575
      start: 12572
    functionDepth: 0
    functionLinenumber: 12572
    functionLinenumberEnd: 12575
    functionName: roaring::internal::array_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_run_container_iandnot(array_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12585,1
    - Dst: roaring::internal::run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12586,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12590
      start: 12581
    functionDepth: 0
    functionLinenumber: 12581
    functionLinenumberEnd: 12590
    functionName: roaring::internal::run_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_create
    - roaring::internal::run_container_andnot
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_andnot(\n    const run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12604,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12607
      start: 12599
    functionDepth: 0
    functionLinenumber: 12599
    functionLinenumberEnd: 12607
    functionName: roaring::internal::run_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_run_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_iandnot(\n    run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12617
      start: 12613
    functionDepth: 0
    functionLinenumber: 12613
    functionLinenumberEnd: 12617
    functionName: roaring::internal::array_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_andnot(const array_container_t *src_1,\n
      \                                 const array_container_t *src_2,\n                                  array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12624
      start: 12621
    functionDepth: 0
    functionLinenumber: 12621
    functionLinenumberEnd: 12624
    functionName: roaring::internal::array_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_iandnot(array_container_t *src_1,\n                                   const
      array_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12635,1
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12636,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12638,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12645
      start: 12631
    functionDepth: 0
    functionLinenumber: 12631
    functionLinenumberEnd: 12645
    functionName: roaring::internal::bitset_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_create
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_andnot(\n    const bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12658,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12660,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12667
      start: 12654
    functionDepth: 0
    functionLinenumber: 12654
    functionLinenumberEnd: 12667
    functionName: roaring::internal::bitset_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_iandnot(\n    bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12161,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12172
      start: 12156
    functionDepth: 0
    functionLinenumber: 12156
    functionLinenumberEnd: 12172
    functionName: roaring::internal::array_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_andnot(const array_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12180
      start: 12177
    functionDepth: 0
    functionLinenumber: 12177
    functionLinenumberEnd: 12180
    functionName: roaring::internal::array_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_bitset_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_iandnot(array_container_t *src_1,\n                                    const
      bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12192,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12193,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12195,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12200,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12206
      start: 12187
    functionDepth: 2
    functionLinenumber: 12187
    functionLinenumberEnd: 12206
    functionName: roaring::internal::bitset_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_andnot(\n    const bitset_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12221,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12225,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12230
      start: 12215
    functionDepth: 2
    functionLinenumber: 12215
    functionLinenumberEnd: 12230
    functionName: roaring::internal::bitset_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_iandnot(\n    bitset_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12244,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12247,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12255,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12264,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12273,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12274,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12277,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12279,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12282,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12289
      start: 12239
    functionDepth: 1
    functionLinenumber: 12239
    functionLinenumberEnd: 12289
    functionName: roaring::internal::run_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::bitset_container_get
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_andnot(\n    const run_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12303,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12306
      start: 12298
    functionDepth: 0
    functionLinenumber: 12298
    functionLinenumberEnd: 12306
    functionName: roaring::internal::run_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_iandnot(\n    run_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12320,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12322,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12326,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12327,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12329,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12332,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12338
      start: 12315
    functionDepth: 0
    functionLinenumber: 12315
    functionLinenumberEnd: 12338
    functionName: roaring::internal::bitset_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_andnot(\n    const bitset_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12355,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12356,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12358,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12361,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12366
      start: 12347
    functionDepth: 0
    functionLinenumber: 12347
    functionLinenumberEnd: 12366
    functionName: roaring::internal::bitset_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - UINT32_C
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_iandnot(\n    bitset_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - rc
    - a_in
    - a_out
    argTypes:
    - run_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12414
      start: 12376
    functionDepth: 0
    functionLinenumber: 12376
    functionLinenumberEnd: 12414
    functionName: roaring::internal::run_array_array_subtract
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int run_array_array_subtract(const run_container_t *rc,\n                                    const
      array_container_t *a_in,\n                                    array_container_t
      *a_out)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12426,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12431,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12435,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12436,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12449,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12464,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12478,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12481,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12487,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12488,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12494,1
    - Dst: roaring::internal::run_array_array_subtract
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12497,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12501,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12502,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12505
      start: 12420
    functionDepth: 1
    functionLinenumber: 12420
    functionLinenumberEnd: 12505
    functionName: roaring::internal::run_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - MAKE_RLE16
    - roaring::internal::run_container_clone
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_array_container_iandnot
    - roaring::internal::bitset_container_from_run
    - roaring::internal::run_container_cardinality
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    - roaring::internal::run_array_array_subtract
    linkageType: ''
    returnType: int
    signature: "int run_array_container_andnot(\n    const run_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12519,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12522
      start: 12514
    functionDepth: 0
    functionLinenumber: 12514
    functionLinenumberEnd: 12522
    functionName: roaring::internal::run_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_array_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_iandnot(\n    run_container_t *src_1, const
      array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12531,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12566
      start: 12526
    functionDepth: 0
    functionLinenumber: 12526
    functionLinenumberEnd: 12566
    functionName: roaring::internal::array_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_run_container_andnot(const array_container_t *src_1,\n
      \                               const run_container_t *src_2,\n                                array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12575
      start: 12572
    functionDepth: 0
    functionLinenumber: 12572
    functionLinenumberEnd: 12575
    functionName: roaring::internal::array_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_run_container_iandnot(array_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12585,1
    - Dst: roaring::internal::run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12586,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12590
      start: 12581
    functionDepth: 0
    functionLinenumber: 12581
    functionLinenumberEnd: 12590
    functionName: roaring::internal::run_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::run_container_create
    - roaring::internal::run_container_andnot
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_andnot(\n    const run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12604,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12607
      start: 12599
    functionDepth: 0
    functionLinenumber: 12599
    functionLinenumberEnd: 12607
    functionName: roaring::internal::run_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_run_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_iandnot(\n    run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12617
      start: 12613
    functionDepth: 0
    functionLinenumber: 12613
    functionLinenumberEnd: 12617
    functionName: roaring::internal::array_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_andnot(const array_container_t *src_1,\n
      \                                 const array_container_t *src_2,\n                                  array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12624
      start: 12621
    functionDepth: 0
    functionLinenumber: 12621
    functionLinenumberEnd: 12624
    functionName: roaring::internal::array_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_iandnot(array_container_t *src_1,\n                                   const
      array_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12635,1
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12636,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12638,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12645
      start: 12631
    functionDepth: 0
    functionLinenumber: 12631
    functionLinenumberEnd: 12645
    functionName: roaring::internal::bitset_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_create
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_andnot(\n    const bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12658,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12660,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12667
      start: 12654
    functionDepth: 0
    functionLinenumber: 12654
    functionLinenumberEnd: 12667
    functionName: roaring::internal::bitset_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_iandnot(\n    bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12161,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12172
      start: 12156
    functionDepth: 0
    functionLinenumber: 12156
    functionLinenumberEnd: 12172
    functionName: roaring::internal::array_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_andnot(const array_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12180
      start: 12177
    functionDepth: 0
    functionLinenumber: 12177
    functionLinenumberEnd: 12180
    functionName: roaring::internal::array_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_bitset_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_iandnot(array_container_t *src_1,\n                                    const
      bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12192,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12193,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12195,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12200,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12206
      start: 12187
    functionDepth: 2
    functionLinenumber: 12187
    functionLinenumberEnd: 12206
    functionName: roaring::internal::bitset_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_andnot(\n    const bitset_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12221,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12225,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12230
      start: 12215
    functionDepth: 2
    functionLinenumber: 12215
    functionLinenumberEnd: 12230
    functionName: roaring::internal::bitset_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_iandnot(\n    bitset_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12244,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12247,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12255,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12264,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12273,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12274,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12277,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12279,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12282,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12289
      start: 12239
    functionDepth: 1
    functionLinenumber: 12239
    functionLinenumberEnd: 12289
    functionName: roaring::internal::run_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::bitset_container_get
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_andnot(\n    const run_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12303,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12306
      start: 12298
    functionDepth: 0
    functionLinenumber: 12298
    functionLinenumberEnd: 12306
    functionName: roaring::internal::run_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_iandnot(\n    run_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12320,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12322,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12326,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12327,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12329,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12332,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12338
      start: 12315
    functionDepth: 0
    functionLinenumber: 12315
    functionLinenumberEnd: 12338
    functionName: roaring::internal::bitset_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_andnot(\n    const bitset_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12355,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12356,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12358,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12361,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12366
      start: 12347
    functionDepth: 0
    functionLinenumber: 12347
    functionLinenumberEnd: 12366
    functionName: roaring::internal::bitset_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - UINT32_C
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_iandnot(\n    bitset_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - rc
    - a_in
    - a_out
    argTypes:
    - run_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12414
      start: 12376
    functionDepth: 0
    functionLinenumber: 12376
    functionLinenumberEnd: 12414
    functionName: roaring::internal::run_array_array_subtract
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int run_array_array_subtract(const run_container_t *rc,\n                                    const
      array_container_t *a_in,\n                                    array_container_t
      *a_out)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12426,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12431,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12435,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12436,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12449,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12464,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12478,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12481,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12487,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12488,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12494,1
    - Dst: roaring::internal::run_array_array_subtract
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12497,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12501,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12502,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12505
      start: 12420
    functionDepth: 1
    functionLinenumber: 12420
    functionLinenumberEnd: 12505
    functionName: roaring::internal::run_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - MAKE_RLE16
    - roaring::internal::run_container_clone
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_array_container_iandnot
    - roaring::internal::bitset_container_from_run
    - roaring::internal::run_container_cardinality
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    - roaring::internal::run_array_array_subtract
    linkageType: ''
    returnType: int
    signature: "int run_array_container_andnot(\n    const run_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12519,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12522
      start: 12514
    functionDepth: 0
    functionLinenumber: 12514
    functionLinenumberEnd: 12522
    functionName: roaring::internal::run_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_array_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_iandnot(\n    run_container_t *src_1, const
      array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12531,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12566
      start: 12526
    functionDepth: 0
    functionLinenumber: 12526
    functionLinenumberEnd: 12566
    functionName: roaring::internal::array_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_run_container_andnot(const array_container_t *src_1,\n
      \                               const run_container_t *src_2,\n                                array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12575
      start: 12572
    functionDepth: 0
    functionLinenumber: 12572
    functionLinenumberEnd: 12575
    functionName: roaring::internal::array_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_run_container_iandnot(array_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12585,1
    - Dst: roaring::internal::run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12586,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12590
      start: 12581
    functionDepth: 0
    functionLinenumber: 12581
    functionLinenumberEnd: 12590
    functionName: roaring::internal::run_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::run_container_create
    - roaring::internal::run_container_andnot
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_andnot(\n    const run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12604,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12607
      start: 12599
    functionDepth: 0
    functionLinenumber: 12599
    functionLinenumberEnd: 12607
    functionName: roaring::internal::run_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_run_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_iandnot(\n    run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12617
      start: 12613
    functionDepth: 0
    functionLinenumber: 12613
    functionLinenumberEnd: 12617
    functionName: roaring::internal::array_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_andnot(const array_container_t *src_1,\n
      \                                 const array_container_t *src_2,\n                                  array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12624
      start: 12621
    functionDepth: 0
    functionLinenumber: 12621
    functionLinenumberEnd: 12624
    functionName: roaring::internal::array_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_iandnot(array_container_t *src_1,\n                                   const
      array_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12635,1
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12636,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12638,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12645
      start: 12631
    functionDepth: 0
    functionLinenumber: 12631
    functionLinenumberEnd: 12645
    functionName: roaring::internal::bitset_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_create
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_andnot(\n    const bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12658,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12660,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12667
      start: 12654
    functionDepth: 0
    functionLinenumber: 12654
    functionLinenumberEnd: 12667
    functionName: roaring::internal::bitset_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_iandnot(\n    bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12161,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12172
      start: 12156
    functionDepth: 0
    functionLinenumber: 12156
    functionLinenumberEnd: 12172
    functionName: roaring::internal::array_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_andnot(const array_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12180
      start: 12177
    functionDepth: 0
    functionLinenumber: 12177
    functionLinenumberEnd: 12180
    functionName: roaring::internal::array_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_bitset_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_iandnot(array_container_t *src_1,\n                                    const
      bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12192,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12193,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12195,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12200,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12206
      start: 12187
    functionDepth: 2
    functionLinenumber: 12187
    functionLinenumberEnd: 12206
    functionName: roaring::internal::bitset_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_andnot(\n    const bitset_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12221,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12225,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12230
      start: 12215
    functionDepth: 2
    functionLinenumber: 12215
    functionLinenumberEnd: 12230
    functionName: roaring::internal::bitset_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_iandnot(\n    bitset_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12244,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12247,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12255,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12264,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12273,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12274,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12277,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12279,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12282,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12289
      start: 12239
    functionDepth: 1
    functionLinenumber: 12239
    functionLinenumberEnd: 12289
    functionName: roaring::internal::run_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::bitset_container_get
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_andnot(\n    const run_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12303,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12306
      start: 12298
    functionDepth: 0
    functionLinenumber: 12298
    functionLinenumberEnd: 12306
    functionName: roaring::internal::run_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_iandnot(\n    run_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12320,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12322,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12326,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12327,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12329,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12332,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12338
      start: 12315
    functionDepth: 0
    functionLinenumber: 12315
    functionLinenumberEnd: 12338
    functionName: roaring::internal::bitset_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_andnot(\n    const bitset_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12355,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12356,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12358,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12361,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12366
      start: 12347
    functionDepth: 0
    functionLinenumber: 12347
    functionLinenumberEnd: 12366
    functionName: roaring::internal::bitset_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - UINT32_C
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_iandnot(\n    bitset_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - rc
    - a_in
    - a_out
    argTypes:
    - run_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12414
      start: 12376
    functionDepth: 0
    functionLinenumber: 12376
    functionLinenumberEnd: 12414
    functionName: roaring::internal::run_array_array_subtract
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int run_array_array_subtract(const run_container_t *rc,\n                                    const
      array_container_t *a_in,\n                                    array_container_t
      *a_out)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12426,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12431,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12435,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12436,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12449,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12464,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12478,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12481,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12487,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12488,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12494,1
    - Dst: roaring::internal::run_array_array_subtract
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12497,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12501,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12502,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12505
      start: 12420
    functionDepth: 1
    functionLinenumber: 12420
    functionLinenumberEnd: 12505
    functionName: roaring::internal::run_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - MAKE_RLE16
    - roaring::internal::run_container_clone
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_array_container_iandnot
    - roaring::internal::bitset_container_from_run
    - roaring::internal::run_container_cardinality
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    - roaring::internal::run_array_array_subtract
    linkageType: ''
    returnType: int
    signature: "int run_array_container_andnot(\n    const run_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12519,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12522
      start: 12514
    functionDepth: 0
    functionLinenumber: 12514
    functionLinenumberEnd: 12522
    functionName: roaring::internal::run_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_array_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_iandnot(\n    run_container_t *src_1, const
      array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12531,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12566
      start: 12526
    functionDepth: 0
    functionLinenumber: 12526
    functionLinenumberEnd: 12566
    functionName: roaring::internal::array_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_run_container_andnot(const array_container_t *src_1,\n
      \                               const run_container_t *src_2,\n                                array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12575
      start: 12572
    functionDepth: 0
    functionLinenumber: 12572
    functionLinenumberEnd: 12575
    functionName: roaring::internal::array_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_run_container_iandnot(array_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12585,1
    - Dst: roaring::internal::run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12586,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12590
      start: 12581
    functionDepth: 0
    functionLinenumber: 12581
    functionLinenumberEnd: 12590
    functionName: roaring::internal::run_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::run_container_create
    - roaring::internal::run_container_andnot
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_andnot(\n    const run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12604,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12607
      start: 12599
    functionDepth: 0
    functionLinenumber: 12599
    functionLinenumberEnd: 12607
    functionName: roaring::internal::run_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_run_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_iandnot(\n    run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12617
      start: 12613
    functionDepth: 0
    functionLinenumber: 12613
    functionLinenumberEnd: 12617
    functionName: roaring::internal::array_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_andnot(const array_container_t *src_1,\n
      \                                 const array_container_t *src_2,\n                                  array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12624
      start: 12621
    functionDepth: 0
    functionLinenumber: 12621
    functionLinenumberEnd: 12624
    functionName: roaring::internal::array_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_iandnot(array_container_t *src_1,\n                                   const
      array_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12635,1
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12636,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12638,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12645
      start: 12631
    functionDepth: 0
    functionLinenumber: 12631
    functionLinenumberEnd: 12645
    functionName: roaring::internal::bitset_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_create
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_andnot(\n    const bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12658,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12660,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12667
      start: 12654
    functionDepth: 0
    functionLinenumber: 12654
    functionLinenumberEnd: 12667
    functionName: roaring::internal::bitset_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_iandnot(\n    bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12703
      start: 12679
    functionDepth: 1
    functionLinenumber: 12679
    functionLinenumberEnd: 12703
    functionName: roaring::internal::array_container_equal_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: "bool array_container_equal_bitset(const array_container_t* container1,\n
      \                                 const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12725
      start: 12705
    functionDepth: 0
    functionLinenumber: 12705
    functionLinenumberEnd: 12725
    functionName: roaring::internal::run_container_equals_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_array(const run_container_t* container1,\n
      \                               const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12730,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12733,1
    - Dst: roaring::internal::bitset_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12742,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12746,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12753
      start: 12727
    functionDepth: 0
    functionLinenumber: 12727
    functionLinenumberEnd: 12753
    functionName: roaring::internal::run_container_equals_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_bitset(const run_container_t* container1,\n
      \                                const bitset_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12703
      start: 12679
    functionDepth: 1
    functionLinenumber: 12679
    functionLinenumberEnd: 12703
    functionName: roaring::internal::array_container_equal_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: "bool array_container_equal_bitset(const array_container_t* container1,\n
      \                                 const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12725
      start: 12705
    functionDepth: 0
    functionLinenumber: 12705
    functionLinenumberEnd: 12725
    functionName: roaring::internal::run_container_equals_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_array(const run_container_t* container1,\n
      \                               const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12730,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12733,1
    - Dst: roaring::internal::bitset_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12742,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12746,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12753
      start: 12727
    functionDepth: 0
    functionLinenumber: 12727
    functionLinenumberEnd: 12753
    functionName: roaring::internal::run_container_equals_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_bitset(const run_container_t* container1,\n
      \                                const bitset_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12703
      start: 12679
    functionDepth: 1
    functionLinenumber: 12679
    functionLinenumberEnd: 12703
    functionName: roaring::internal::array_container_equal_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: "bool array_container_equal_bitset(const array_container_t* container1,\n
      \                                 const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12725
      start: 12705
    functionDepth: 0
    functionLinenumber: 12705
    functionLinenumberEnd: 12725
    functionName: roaring::internal::run_container_equals_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_array(const run_container_t* container1,\n
      \                               const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12730,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12733,1
    - Dst: roaring::internal::bitset_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12742,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12746,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12753
      start: 12727
    functionDepth: 0
    functionLinenumber: 12727
    functionLinenumberEnd: 12753
    functionName: roaring::internal::run_container_equals_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_bitset(const run_container_t* container1,\n
      \                                const bitset_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12703
      start: 12679
    functionDepth: 1
    functionLinenumber: 12679
    functionLinenumberEnd: 12703
    functionName: roaring::internal::array_container_equal_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: "bool array_container_equal_bitset(const array_container_t* container1,\n
      \                                 const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12725
      start: 12705
    functionDepth: 0
    functionLinenumber: 12705
    functionLinenumberEnd: 12725
    functionName: roaring::internal::run_container_equals_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_array(const run_container_t* container1,\n
      \                               const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12730,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12733,1
    - Dst: roaring::internal::bitset_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12742,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12746,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12753
      start: 12727
    functionDepth: 0
    functionLinenumber: 12727
    functionLinenumberEnd: 12753
    functionName: roaring::internal::run_container_equals_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_bitset(const run_container_t* container1,\n
      \                                const bitset_container_t* container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12776,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12799
      start: 12772
    functionDepth: 0
    functionLinenumber: 12772
    functionLinenumberEnd: 12799
    functionName: roaring::internal::array_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_intersection(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2,\n
      \                                        array_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12811
      start: 12802
    functionDepth: 0
    functionLinenumber: 12802
    functionLinenumberEnd: 12811
    functionName: roaring::internal::array_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: int
    signature: "int array_bitset_container_intersection_cardinality(\n    const array_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12822
      start: 12814
    functionDepth: 0
    functionLinenumber: 12814
    functionLinenumberEnd: 12822
    functionName: roaring::internal::array_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_intersect(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12830,1
    - Dst: roaring::internal::array_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12831,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12835,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12856,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12865
      start: 12827
    functionDepth: 0
    functionLinenumber: 12827
    functionLinenumberEnd: 12865
    functionName: roaring::internal::array_run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_copy
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: void
    signature: "void array_run_container_intersection(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2,\n                                      array_container_t
      *dst)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12875,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12876,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12879,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12886,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12898,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12904,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12909,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12913,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12913,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12914,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12918,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12928,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12938,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12941,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12941,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12942,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12947,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12948,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12948,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12957
      start: 12871
    functionDepth: 1
    functionLinenumber: 12871
    functionLinenumberEnd: 12957
    functionName: roaring::internal::run_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_contains
    - CAST_bitset
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersection(\n    const run_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12962,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12983,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12991
      start: 12960
    functionDepth: 0
    functionLinenumber: 12960
    functionLinenumberEnd: 12991
    functionName: roaring::internal::array_run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int array_run_container_intersection_cardinality(const array_container_t
      *src_1,\n                                                 const run_container_t
      *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12997,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12998,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13007
      start: 12995
    functionDepth: 0
    functionLinenumber: 12995
    functionLinenumberEnd: 13007
    functionName: roaring::internal::run_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_bitset_container_intersection_cardinality(\n    const run_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13012,1
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13013,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13032,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13039
      start: 13010
    functionDepth: 0
    functionLinenumber: 13010
    functionLinenumberEnd: 13039
    functionName: roaring::internal::array_run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_empty
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool array_run_container_intersect(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13045,1
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13046,1
    - Dst: roaring::internal::bitset_lenrange_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13053
      start: 13043
    functionDepth: 0
    functionLinenumber: 13043
    functionLinenumberEnd: 13053
    functionName: roaring::internal::run_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_empty
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_empty
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersect(const run_container_t *src_1,\n
      \                                      const bitset_container_t *src_2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13064,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13066,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13068,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13068,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13069,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13073,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13075,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13076,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13081
      start: 13060
    functionDepth: 2
    functionLinenumber: 13060
    functionLinenumberEnd: 13081
    functionName: roaring::internal::bitset_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection(\n    const bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13087,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13090,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13091,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13094,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13096,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13097,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13102
      start: 13083
    functionDepth: 2
    functionLinenumber: 13083
    functionLinenumberEnd: 13102
    functionName: roaring::internal::bitset_bitset_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection_inplace(\n    bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12776,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12799
      start: 12772
    functionDepth: 0
    functionLinenumber: 12772
    functionLinenumberEnd: 12799
    functionName: roaring::internal::array_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_intersection(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2,\n
      \                                        array_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12811
      start: 12802
    functionDepth: 0
    functionLinenumber: 12802
    functionLinenumberEnd: 12811
    functionName: roaring::internal::array_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: int
    signature: "int array_bitset_container_intersection_cardinality(\n    const array_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12822
      start: 12814
    functionDepth: 0
    functionLinenumber: 12814
    functionLinenumberEnd: 12822
    functionName: roaring::internal::array_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_intersect(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12830,1
    - Dst: roaring::internal::array_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12831,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12835,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12856,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12865
      start: 12827
    functionDepth: 0
    functionLinenumber: 12827
    functionLinenumberEnd: 12865
    functionName: roaring::internal::array_run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_copy
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: void
    signature: "void array_run_container_intersection(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2,\n                                      array_container_t
      *dst)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12875,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12876,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12879,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12886,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12898,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12904,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12909,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12913,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12913,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12914,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12918,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12928,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12938,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12941,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12941,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12942,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12947,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12948,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12948,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12957
      start: 12871
    functionDepth: 1
    functionLinenumber: 12871
    functionLinenumberEnd: 12957
    functionName: roaring::internal::run_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_contains
    - CAST_bitset
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersection(\n    const run_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12962,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12983,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12991
      start: 12960
    functionDepth: 0
    functionLinenumber: 12960
    functionLinenumberEnd: 12991
    functionName: roaring::internal::array_run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int array_run_container_intersection_cardinality(const array_container_t
      *src_1,\n                                                 const run_container_t
      *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12997,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12998,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13007
      start: 12995
    functionDepth: 0
    functionLinenumber: 12995
    functionLinenumberEnd: 13007
    functionName: roaring::internal::run_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_bitset_container_intersection_cardinality(\n    const run_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13012,1
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13013,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13032,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13039
      start: 13010
    functionDepth: 0
    functionLinenumber: 13010
    functionLinenumberEnd: 13039
    functionName: roaring::internal::array_run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_empty
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool array_run_container_intersect(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13045,1
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13046,1
    - Dst: roaring::internal::bitset_lenrange_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13053
      start: 13043
    functionDepth: 0
    functionLinenumber: 13043
    functionLinenumberEnd: 13053
    functionName: roaring::internal::run_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_empty
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_empty
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersect(const run_container_t *src_1,\n
      \                                      const bitset_container_t *src_2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13064,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13066,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13068,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13068,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13069,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13073,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13075,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13076,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13081
      start: 13060
    functionDepth: 2
    functionLinenumber: 13060
    functionLinenumberEnd: 13081
    functionName: roaring::internal::bitset_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection(\n    const bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13087,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13090,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13091,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13094,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13096,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13097,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13102
      start: 13083
    functionDepth: 2
    functionLinenumber: 13083
    functionLinenumberEnd: 13102
    functionName: roaring::internal::bitset_bitset_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection_inplace(\n    bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12776,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12799
      start: 12772
    functionDepth: 0
    functionLinenumber: 12772
    functionLinenumberEnd: 12799
    functionName: roaring::internal::array_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_intersection(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2,\n
      \                                        array_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12811
      start: 12802
    functionDepth: 0
    functionLinenumber: 12802
    functionLinenumberEnd: 12811
    functionName: roaring::internal::array_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: int
    signature: "int array_bitset_container_intersection_cardinality(\n    const array_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12822
      start: 12814
    functionDepth: 0
    functionLinenumber: 12814
    functionLinenumberEnd: 12822
    functionName: roaring::internal::array_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_intersect(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12830,1
    - Dst: roaring::internal::array_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12831,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12835,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12856,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12865
      start: 12827
    functionDepth: 0
    functionLinenumber: 12827
    functionLinenumberEnd: 12865
    functionName: roaring::internal::array_run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_copy
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: void
    signature: "void array_run_container_intersection(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2,\n                                      array_container_t
      *dst)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12875,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12876,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12879,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12886,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12898,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12904,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12909,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12913,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12913,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12914,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12918,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12928,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12938,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12941,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12941,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12942,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12947,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12948,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12948,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12957
      start: 12871
    functionDepth: 1
    functionLinenumber: 12871
    functionLinenumberEnd: 12957
    functionName: roaring::internal::run_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_contains
    - CAST_bitset
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersection(\n    const run_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12962,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12983,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12991
      start: 12960
    functionDepth: 0
    functionLinenumber: 12960
    functionLinenumberEnd: 12991
    functionName: roaring::internal::array_run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int array_run_container_intersection_cardinality(const array_container_t
      *src_1,\n                                                 const run_container_t
      *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12997,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12998,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13007
      start: 12995
    functionDepth: 0
    functionLinenumber: 12995
    functionLinenumberEnd: 13007
    functionName: roaring::internal::run_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_bitset_container_intersection_cardinality(\n    const run_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13012,1
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13013,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13032,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13039
      start: 13010
    functionDepth: 0
    functionLinenumber: 13010
    functionLinenumberEnd: 13039
    functionName: roaring::internal::array_run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_empty
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool array_run_container_intersect(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13045,1
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13046,1
    - Dst: roaring::internal::bitset_lenrange_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13053
      start: 13043
    functionDepth: 0
    functionLinenumber: 13043
    functionLinenumberEnd: 13053
    functionName: roaring::internal::run_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_empty
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_empty
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersect(const run_container_t *src_1,\n
      \                                      const bitset_container_t *src_2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13064,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13066,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13068,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13068,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13069,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13073,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13075,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13076,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13081
      start: 13060
    functionDepth: 2
    functionLinenumber: 13060
    functionLinenumberEnd: 13081
    functionName: roaring::internal::bitset_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection(\n    const bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13087,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13090,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13091,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13094,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13096,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13097,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13102
      start: 13083
    functionDepth: 2
    functionLinenumber: 13083
    functionLinenumberEnd: 13102
    functionName: roaring::internal::bitset_bitset_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection_inplace(\n    bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12776,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12799
      start: 12772
    functionDepth: 0
    functionLinenumber: 12772
    functionLinenumberEnd: 12799
    functionName: roaring::internal::array_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_intersection(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2,\n
      \                                        array_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12811
      start: 12802
    functionDepth: 0
    functionLinenumber: 12802
    functionLinenumberEnd: 12811
    functionName: roaring::internal::array_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: int
    signature: "int array_bitset_container_intersection_cardinality(\n    const array_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12822
      start: 12814
    functionDepth: 0
    functionLinenumber: 12814
    functionLinenumberEnd: 12822
    functionName: roaring::internal::array_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_intersect(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12830,1
    - Dst: roaring::internal::array_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12831,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12835,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12856,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12865
      start: 12827
    functionDepth: 0
    functionLinenumber: 12827
    functionLinenumberEnd: 12865
    functionName: roaring::internal::array_run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_copy
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: void
    signature: "void array_run_container_intersection(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2,\n                                      array_container_t
      *dst)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12875,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12876,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12879,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12886,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12898,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12904,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12909,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12913,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12913,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12914,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12918,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12928,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12938,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12941,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12941,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12942,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12947,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12948,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12948,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12957
      start: 12871
    functionDepth: 1
    functionLinenumber: 12871
    functionLinenumberEnd: 12957
    functionName: roaring::internal::run_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_contains
    - CAST_bitset
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersection(\n    const run_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12962,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12983,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12991
      start: 12960
    functionDepth: 0
    functionLinenumber: 12960
    functionLinenumberEnd: 12991
    functionName: roaring::internal::array_run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int array_run_container_intersection_cardinality(const array_container_t
      *src_1,\n                                                 const run_container_t
      *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12997,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:12998,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13007
      start: 12995
    functionDepth: 0
    functionLinenumber: 12995
    functionLinenumberEnd: 13007
    functionName: roaring::internal::run_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_bitset_container_intersection_cardinality(\n    const run_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13012,1
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13013,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13032,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13039
      start: 13010
    functionDepth: 0
    functionLinenumber: 13010
    functionLinenumberEnd: 13039
    functionName: roaring::internal::array_run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_empty
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool array_run_container_intersect(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13045,1
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13046,1
    - Dst: roaring::internal::bitset_lenrange_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13053
      start: 13043
    functionDepth: 0
    functionLinenumber: 13043
    functionLinenumberEnd: 13053
    functionName: roaring::internal::run_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_empty
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_empty
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersect(const run_container_t *src_1,\n
      \                                      const bitset_container_t *src_2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13064,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13066,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13068,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13068,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13069,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13073,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13075,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13076,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13081
      start: 13060
    functionDepth: 2
    functionLinenumber: 13060
    functionLinenumberEnd: 13081
    functionName: roaring::internal::bitset_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection(\n    const bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13087,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13090,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13091,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13094,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13096,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13097,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13102
      start: 13083
    functionDepth: 2
    functionLinenumber: 13083
    functionLinenumberEnd: 13102
    functionName: roaring::internal::bitset_bitset_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection_inplace(\n    bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13134,1
    - Dst: roaring::internal::bitset_container_set_all
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13135,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13143
      start: 13132
    functionDepth: 2
    functionLinenumber: 13132
    functionLinenumberEnd: 13143
    functionName: roaring::internal::array_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_set_all
    linkageType: ''
    returnType: void
    signature: "void array_container_negation(const array_container_t *src,\n                              bitset_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13156
      start: 13152
    functionDepth: 0
    functionLinenumber: 13152
    functionLinenumberEnd: 13156
    functionName: roaring::internal::bitset_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation(\n    const bitset_container_t *src,
      container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13171
      start: 13167
    functionDepth: 0
    functionLinenumber: 13167
    functionLinenumberEnd: 13171
    functionName: roaring::internal::bitset_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_negation_range_inplace
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_inplace(\n    bitset_container_t *src,
      container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13181
      start: 13179
    functionDepth: 0
    functionLinenumber: 13179
    functionLinenumberEnd: 13181
    functionName: roaring::internal::run_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: int run_container_negation(const run_container_t *src, container_t
      **dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13192
      start: 13190
    functionDepth: 0
    functionLinenumber: 13190
    functionLinenumberEnd: 13192
    functionName: roaring::internal::run_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    linkageType: ''
    returnType: int
    signature: int run_container_negation_inplace(run_container_t *src, container_t
      **dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13206,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13211,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13215,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13227,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13228,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13236,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13243,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13263
      start: 13199
    functionDepth: 1
    functionLinenumber: 13199
    functionLinenumberEnd: 13263
    functionName: roaring::internal::array_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::binarySearch
    - memcpy
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range(\n    const array_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13274,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13278
      start: 13269
    functionDepth: 0
    functionLinenumber: 13269
    functionLinenumberEnd: 13278
    functionName: roaring::internal::array_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_negation_range
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range_inplace(\n    array_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13298,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13299,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13300,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13306,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13310
      start: 13287
    functionDepth: 1
    functionLinenumber: 13287
    functionLinenumberEnd: 13310
    functionName: roaring::internal::bitset_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range(\n    const bitset_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13326,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13327,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13332,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13335
      start: 13321
    functionDepth: 0
    functionLinenumber: 13321
    functionLinenumberEnd: 13335
    functionName: roaring::internal::bitset_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_free
    - roaring::internal::array_container_from_bitset
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range_inplace(\n    bitset_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13352,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13356,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13364,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13368,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13372,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13376
      start: 13343
    functionDepth: 1
    functionLinenumber: 13343
    functionLinenumberEnd: 13376
    functionName: roaring::internal::run_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range(\n    const run_container_t *src,\n
      \   const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13408,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13409,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13413,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13416,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13420,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13422,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13440,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13444,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13450,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13455,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13456,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13459
      start: 13385
    functionDepth: 1
    functionLinenumber: 13385
    functionLinenumberEnd: 13459
    functionName: roaring::internal::run_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - MAKE_RLE16
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_contains
    - roaring::internal::run_container_free
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range_inplace(\n    run_container_t *src,\n
      \   const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13134,1
    - Dst: roaring::internal::bitset_container_set_all
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13135,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13143
      start: 13132
    functionDepth: 2
    functionLinenumber: 13132
    functionLinenumberEnd: 13143
    functionName: roaring::internal::array_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_set_all
    linkageType: ''
    returnType: void
    signature: "void array_container_negation(const array_container_t *src,\n                              bitset_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13156
      start: 13152
    functionDepth: 0
    functionLinenumber: 13152
    functionLinenumberEnd: 13156
    functionName: roaring::internal::bitset_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation(\n    const bitset_container_t *src,
      container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13171
      start: 13167
    functionDepth: 0
    functionLinenumber: 13167
    functionLinenumberEnd: 13171
    functionName: roaring::internal::bitset_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_negation_range_inplace
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_inplace(\n    bitset_container_t *src,
      container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13181
      start: 13179
    functionDepth: 0
    functionLinenumber: 13179
    functionLinenumberEnd: 13181
    functionName: roaring::internal::run_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: int run_container_negation(const run_container_t *src, container_t
      **dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13192
      start: 13190
    functionDepth: 0
    functionLinenumber: 13190
    functionLinenumberEnd: 13192
    functionName: roaring::internal::run_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    linkageType: ''
    returnType: int
    signature: int run_container_negation_inplace(run_container_t *src, container_t
      **dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13206,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13211,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13215,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13227,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13228,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13236,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13243,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13263
      start: 13199
    functionDepth: 1
    functionLinenumber: 13199
    functionLinenumberEnd: 13263
    functionName: roaring::internal::array_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::binarySearch
    - memcpy
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range(\n    const array_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13274,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13278
      start: 13269
    functionDepth: 0
    functionLinenumber: 13269
    functionLinenumberEnd: 13278
    functionName: roaring::internal::array_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_negation_range
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range_inplace(\n    array_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13298,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13299,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13300,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13306,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13310
      start: 13287
    functionDepth: 1
    functionLinenumber: 13287
    functionLinenumberEnd: 13310
    functionName: roaring::internal::bitset_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range(\n    const bitset_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13326,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13327,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13332,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13335
      start: 13321
    functionDepth: 0
    functionLinenumber: 13321
    functionLinenumberEnd: 13335
    functionName: roaring::internal::bitset_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_free
    - roaring::internal::array_container_from_bitset
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range_inplace(\n    bitset_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13352,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13356,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13364,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13368,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13372,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13376
      start: 13343
    functionDepth: 1
    functionLinenumber: 13343
    functionLinenumberEnd: 13376
    functionName: roaring::internal::run_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range(\n    const run_container_t *src,\n
      \   const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13408,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13409,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13413,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13416,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13420,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13422,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13440,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13444,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13450,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13455,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13456,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13459
      start: 13385
    functionDepth: 1
    functionLinenumber: 13385
    functionLinenumberEnd: 13459
    functionName: roaring::internal::run_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - MAKE_RLE16
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_contains
    - roaring::internal::run_container_free
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range_inplace(\n    run_container_t *src,\n
      \   const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13134,1
    - Dst: roaring::internal::bitset_container_set_all
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13135,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13143
      start: 13132
    functionDepth: 2
    functionLinenumber: 13132
    functionLinenumberEnd: 13143
    functionName: roaring::internal::array_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_set_all
    linkageType: ''
    returnType: void
    signature: "void array_container_negation(const array_container_t *src,\n                              bitset_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13156
      start: 13152
    functionDepth: 0
    functionLinenumber: 13152
    functionLinenumberEnd: 13156
    functionName: roaring::internal::bitset_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation(\n    const bitset_container_t *src,
      container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13171
      start: 13167
    functionDepth: 0
    functionLinenumber: 13167
    functionLinenumberEnd: 13171
    functionName: roaring::internal::bitset_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_negation_range_inplace
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_inplace(\n    bitset_container_t *src,
      container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13181
      start: 13179
    functionDepth: 0
    functionLinenumber: 13179
    functionLinenumberEnd: 13181
    functionName: roaring::internal::run_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: int run_container_negation(const run_container_t *src, container_t
      **dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13192
      start: 13190
    functionDepth: 0
    functionLinenumber: 13190
    functionLinenumberEnd: 13192
    functionName: roaring::internal::run_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    linkageType: ''
    returnType: int
    signature: int run_container_negation_inplace(run_container_t *src, container_t
      **dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13206,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13211,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13215,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13227,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13228,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13236,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13243,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13263
      start: 13199
    functionDepth: 1
    functionLinenumber: 13199
    functionLinenumberEnd: 13263
    functionName: roaring::internal::array_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::binarySearch
    - memcpy
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range(\n    const array_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13274,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13278
      start: 13269
    functionDepth: 0
    functionLinenumber: 13269
    functionLinenumberEnd: 13278
    functionName: roaring::internal::array_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_negation_range
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range_inplace(\n    array_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13298,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13299,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13300,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13306,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13310
      start: 13287
    functionDepth: 1
    functionLinenumber: 13287
    functionLinenumberEnd: 13310
    functionName: roaring::internal::bitset_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range(\n    const bitset_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13326,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13327,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13332,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13335
      start: 13321
    functionDepth: 0
    functionLinenumber: 13321
    functionLinenumberEnd: 13335
    functionName: roaring::internal::bitset_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_free
    - roaring::internal::array_container_from_bitset
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range_inplace(\n    bitset_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13352,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13356,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13364,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13368,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13372,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13376
      start: 13343
    functionDepth: 1
    functionLinenumber: 13343
    functionLinenumberEnd: 13376
    functionName: roaring::internal::run_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 9
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range(\n    const run_container_t *src,\n
      \   const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13408,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13409,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13413,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13416,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13420,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13422,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13440,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13444,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13450,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13455,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13456,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13459
      start: 13385
    functionDepth: 1
    functionLinenumber: 13385
    functionLinenumberEnd: 13459
    functionName: roaring::internal::run_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - MAKE_RLE16
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_contains
    - roaring::internal::run_container_free
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range_inplace(\n    run_container_t *src,\n
      \   const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13134,1
    - Dst: roaring::internal::bitset_container_set_all
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13135,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13143
      start: 13132
    functionDepth: 2
    functionLinenumber: 13132
    functionLinenumberEnd: 13143
    functionName: roaring::internal::array_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_set_all
    linkageType: ''
    returnType: void
    signature: "void array_container_negation(const array_container_t *src,\n                              bitset_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13156
      start: 13152
    functionDepth: 0
    functionLinenumber: 13152
    functionLinenumberEnd: 13156
    functionName: roaring::internal::bitset_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation(\n    const bitset_container_t *src,
      container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13171
      start: 13167
    functionDepth: 0
    functionLinenumber: 13167
    functionLinenumberEnd: 13171
    functionName: roaring::internal::bitset_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_negation_range_inplace
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_inplace(\n    bitset_container_t *src,
      container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13181
      start: 13179
    functionDepth: 0
    functionLinenumber: 13179
    functionLinenumberEnd: 13181
    functionName: roaring::internal::run_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: int run_container_negation(const run_container_t *src, container_t
      **dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13192
      start: 13190
    functionDepth: 0
    functionLinenumber: 13190
    functionLinenumberEnd: 13192
    functionName: roaring::internal::run_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    linkageType: ''
    returnType: int
    signature: int run_container_negation_inplace(run_container_t *src, container_t
      **dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13206,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13211,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13215,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13227,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13228,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13236,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13243,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13263
      start: 13199
    functionDepth: 1
    functionLinenumber: 13199
    functionLinenumberEnd: 13263
    functionName: roaring::internal::array_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::binarySearch
    - memcpy
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range(\n    const array_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13274,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13278
      start: 13269
    functionDepth: 0
    functionLinenumber: 13269
    functionLinenumberEnd: 13278
    functionName: roaring::internal::array_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_negation_range
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range_inplace(\n    array_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13298,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13299,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13300,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13306,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13310
      start: 13287
    functionDepth: 1
    functionLinenumber: 13287
    functionLinenumberEnd: 13310
    functionName: roaring::internal::bitset_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range(\n    const bitset_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13326,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13327,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13332,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13335
      start: 13321
    functionDepth: 0
    functionLinenumber: 13321
    functionLinenumberEnd: 13335
    functionName: roaring::internal::bitset_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_free
    - roaring::internal::array_container_from_bitset
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range_inplace(\n    bitset_container_t
      *src,\n    const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13352,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13356,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13364,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13368,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13372,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13376
      start: 13343
    functionDepth: 1
    functionLinenumber: 13343
    functionLinenumberEnd: 13376
    functionName: roaring::internal::run_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 11
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range(\n    const run_container_t *src,\n
      \   const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13408,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13409,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13413,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13416,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13420,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13422,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13440,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13444,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13450,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13455,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13456,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13459
      start: 13385
    functionDepth: 1
    functionLinenumber: 13385
    functionLinenumberEnd: 13459
    functionName: roaring::internal::run_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - MAKE_RLE16
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_contains
    - roaring::internal::run_container_free
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range_inplace(\n    run_container_t *src,\n
      \   const int range_start, const int range_end,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13484
      start: 13471
    functionDepth: 0
    functionLinenumber: 13471
    functionLinenumberEnd: 13484
    functionName: roaring::internal::array_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_bitset(const array_container_t* container1,\n
      \                                     const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13488,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13494,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13507
      start: 13486
    functionDepth: 0
    functionLinenumber: 13486
    functionLinenumberEnd: 13507
    functionName: roaring::internal::run_container_is_subset_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_array(const run_container_t* container1,\n
      \                                  const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13530
      start: 13509
    functionDepth: 0
    functionLinenumber: 13509
    functionLinenumberEnd: 13530
    functionName: roaring::internal::array_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_run(const array_container_t* container1,\n
      \                                  const run_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13536,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13540,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13542,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13556
      start: 13532
    functionDepth: 0
    functionLinenumber: 13532
    functionLinenumberEnd: 13556
    functionName: roaring::internal::run_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_bitset(const run_container_t* container1,\n
      \                                   const bitset_container_t* container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13562,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13574,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13600
      start: 13558
    functionDepth: 1
    functionLinenumber: 13558
    functionLinenumberEnd: 13600
    functionName: roaring::internal::bitset_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset_run(const bitset_container_t* container1,\n
      \                                   const run_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13484
      start: 13471
    functionDepth: 0
    functionLinenumber: 13471
    functionLinenumberEnd: 13484
    functionName: roaring::internal::array_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_bitset(const array_container_t* container1,\n
      \                                     const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13488,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13494,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13507
      start: 13486
    functionDepth: 0
    functionLinenumber: 13486
    functionLinenumberEnd: 13507
    functionName: roaring::internal::run_container_is_subset_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_array(const run_container_t* container1,\n
      \                                  const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13530
      start: 13509
    functionDepth: 0
    functionLinenumber: 13509
    functionLinenumberEnd: 13530
    functionName: roaring::internal::array_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_run(const array_container_t* container1,\n
      \                                  const run_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13536,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13540,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13542,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13556
      start: 13532
    functionDepth: 0
    functionLinenumber: 13532
    functionLinenumberEnd: 13556
    functionName: roaring::internal::run_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_bitset(const run_container_t* container1,\n
      \                                   const bitset_container_t* container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13562,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13574,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13600
      start: 13558
    functionDepth: 1
    functionLinenumber: 13558
    functionLinenumberEnd: 13600
    functionName: roaring::internal::bitset_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset_run(const bitset_container_t* container1,\n
      \                                   const run_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13484
      start: 13471
    functionDepth: 0
    functionLinenumber: 13471
    functionLinenumberEnd: 13484
    functionName: roaring::internal::array_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_bitset(const array_container_t* container1,\n
      \                                     const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13488,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13494,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13507
      start: 13486
    functionDepth: 0
    functionLinenumber: 13486
    functionLinenumberEnd: 13507
    functionName: roaring::internal::run_container_is_subset_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_array(const run_container_t* container1,\n
      \                                  const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13530
      start: 13509
    functionDepth: 0
    functionLinenumber: 13509
    functionLinenumberEnd: 13530
    functionName: roaring::internal::array_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_run(const array_container_t* container1,\n
      \                                  const run_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13536,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13540,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13542,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13556
      start: 13532
    functionDepth: 0
    functionLinenumber: 13532
    functionLinenumberEnd: 13556
    functionName: roaring::internal::run_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_bitset(const run_container_t* container1,\n
      \                                   const bitset_container_t* container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13562,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13574,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13600
      start: 13558
    functionDepth: 1
    functionLinenumber: 13558
    functionLinenumberEnd: 13600
    functionName: roaring::internal::bitset_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset_run(const bitset_container_t* container1,\n
      \                                   const run_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13484
      start: 13471
    functionDepth: 0
    functionLinenumber: 13471
    functionLinenumberEnd: 13484
    functionName: roaring::internal::array_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_bitset(const array_container_t* container1,\n
      \                                     const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13488,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13494,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13507
      start: 13486
    functionDepth: 0
    functionLinenumber: 13486
    functionLinenumberEnd: 13507
    functionName: roaring::internal::run_container_is_subset_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_array(const run_container_t* container1,\n
      \                                  const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13530
      start: 13509
    functionDepth: 0
    functionLinenumber: 13509
    functionLinenumberEnd: 13530
    functionName: roaring::internal::array_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_run(const array_container_t* container1,\n
      \                                  const run_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13536,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13540,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13542,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13556
      start: 13532
    functionDepth: 0
    functionLinenumber: 13532
    functionLinenumberEnd: 13556
    functionName: roaring::internal::run_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_bitset(const run_container_t* container1,\n
      \                                   const bitset_container_t* container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13562,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13574,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13600
      start: 13558
    functionDepth: 1
    functionLinenumber: 13558
    functionLinenumberEnd: 13600
    functionName: roaring::internal::bitset_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_ctzll
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset_run(const bitset_container_t* container1,\n
      \                                   const run_container_t* container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13625,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13628
      start: 13622
    functionDepth: 2
    functionLinenumber: 13622
    functionLinenumberEnd: 13628
    functionName: roaring::internal::array_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_union(const array_container_t *src_1,\n
      \                                 const bitset_container_t *src_2,\n                                  bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13636,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13639
      start: 13633
    functionDepth: 2
    functionLinenumber: 13633
    functionLinenumberEnd: 13639
    functionName: roaring::internal::array_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_union(const array_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13644,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13644,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13645,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13648,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 13643
        line_start: 13643
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 13651
      start: 13641
    functionDepth: 0
    functionLinenumber: 13641
    functionLinenumberEnd: 13651
    functionName: roaring::internal::run_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_set_lenrange
    - assert
    - roaring::internal::bitset_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_union(const run_container_t *src_1,\n                                const
      bitset_container_t *src_2,\n                                bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13656,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13656,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13657,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 13655
        line_start: 13655
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 13663
      start: 13653
    functionDepth: 0
    functionLinenumber: 13653
    functionLinenumberEnd: 13663
    functionName: roaring::internal::run_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - assert
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_union(const run_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13669,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13670,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13674,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13679,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13683,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13688,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13691,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13698,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13704,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13708
      start: 13666
    functionDepth: 0
    functionLinenumber: 13666
    functionLinenumberEnd: 13708
    functionName: roaring::internal::array_run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_union(const array_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               run_container_t *dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13712,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13718,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13719,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13730,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13734,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13740,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13743,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13750,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13760
      start: 13710
    functionDepth: 0
    functionLinenumber: 13710
    functionLinenumberEnd: 13760
    functionName: roaring::internal::array_run_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_inplace_union(const array_container_t *src_1,\n
      \                                      run_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13768,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13770,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13770,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13776,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13779,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13780,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13781,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13786,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13792
      start: 13762
    functionDepth: 2
    functionLinenumber: 13762
    functionLinenumberEnd: 13792
    functionName: roaring::internal::array_array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_union(\n    const array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13802,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13804,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13804,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13810,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13811,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13816,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13819,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13820,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13821,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13827,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13830,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13839
      start: 13794
    functionDepth: 2
    functionLinenumber: 13794
    functionLinenumberEnd: 13839
    functionName: roaring::internal::array_array_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - roaring::internal::array_container_grow
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_inplace_union(\n    array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13848,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13850,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13850,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13856,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13859,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13860,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13865
      start: 13842
    functionDepth: 2
    functionLinenumber: 13842
    functionLinenumberEnd: 13865
    functionName: roaring::internal::array_array_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_union(\n    const array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13876,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13878,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13878,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13884,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13885,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13890,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13893,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13894,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13899
      start: 13868
    functionDepth: 2
    functionLinenumber: 13868
    functionLinenumberEnd: 13899
    functionName: roaring::internal::array_array_container_lazy_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_inplace_union(\n    array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13625,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13628
      start: 13622
    functionDepth: 2
    functionLinenumber: 13622
    functionLinenumberEnd: 13628
    functionName: roaring::internal::array_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_union(const array_container_t *src_1,\n
      \                                 const bitset_container_t *src_2,\n                                  bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13636,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13639
      start: 13633
    functionDepth: 2
    functionLinenumber: 13633
    functionLinenumberEnd: 13639
    functionName: roaring::internal::array_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_union(const array_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13644,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13644,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13645,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13648,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 13643
        line_start: 13643
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 13651
      start: 13641
    functionDepth: 0
    functionLinenumber: 13641
    functionLinenumberEnd: 13651
    functionName: roaring::internal::run_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_set_lenrange
    - assert
    - roaring::internal::bitset_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_union(const run_container_t *src_1,\n                                const
      bitset_container_t *src_2,\n                                bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13656,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13656,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13657,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 13655
        line_start: 13655
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 13663
      start: 13653
    functionDepth: 0
    functionLinenumber: 13653
    functionLinenumberEnd: 13663
    functionName: roaring::internal::run_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - assert
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_union(const run_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13669,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13670,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13674,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13679,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13683,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13688,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13691,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13698,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13704,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13708
      start: 13666
    functionDepth: 0
    functionLinenumber: 13666
    functionLinenumberEnd: 13708
    functionName: roaring::internal::array_run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_union(const array_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               run_container_t *dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13712,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13718,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13719,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13730,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13734,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13740,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13743,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13750,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13760
      start: 13710
    functionDepth: 0
    functionLinenumber: 13710
    functionLinenumberEnd: 13760
    functionName: roaring::internal::array_run_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_inplace_union(const array_container_t *src_1,\n
      \                                      run_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13768,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13770,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13770,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13776,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13779,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13780,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13781,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13786,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13792
      start: 13762
    functionDepth: 2
    functionLinenumber: 13762
    functionLinenumberEnd: 13792
    functionName: roaring::internal::array_array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_union(\n    const array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13802,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13804,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13804,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13810,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13811,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13816,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13819,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13820,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13821,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13827,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13830,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13839
      start: 13794
    functionDepth: 2
    functionLinenumber: 13794
    functionLinenumberEnd: 13839
    functionName: roaring::internal::array_array_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - roaring::internal::array_container_grow
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_inplace_union(\n    array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13848,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13850,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13850,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13856,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13859,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13860,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13865
      start: 13842
    functionDepth: 2
    functionLinenumber: 13842
    functionLinenumberEnd: 13865
    functionName: roaring::internal::array_array_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_union(\n    const array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13876,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13878,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13878,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13884,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13885,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13890,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13893,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13894,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13899
      start: 13868
    functionDepth: 2
    functionLinenumber: 13868
    functionLinenumberEnd: 13899
    functionName: roaring::internal::array_array_container_lazy_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_inplace_union(\n    array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13625,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13628
      start: 13622
    functionDepth: 2
    functionLinenumber: 13622
    functionLinenumberEnd: 13628
    functionName: roaring::internal::array_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_union(const array_container_t *src_1,\n
      \                                 const bitset_container_t *src_2,\n                                  bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13636,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13639
      start: 13633
    functionDepth: 2
    functionLinenumber: 13633
    functionLinenumberEnd: 13639
    functionName: roaring::internal::array_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_union(const array_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13644,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13644,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13645,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13648,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 13643
        line_start: 13643
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 13651
      start: 13641
    functionDepth: 0
    functionLinenumber: 13641
    functionLinenumberEnd: 13651
    functionName: roaring::internal::run_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_set_lenrange
    - assert
    - roaring::internal::bitset_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_union(const run_container_t *src_1,\n                                const
      bitset_container_t *src_2,\n                                bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13656,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13656,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13657,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 13655
        line_start: 13655
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 13663
      start: 13653
    functionDepth: 0
    functionLinenumber: 13653
    functionLinenumberEnd: 13663
    functionName: roaring::internal::run_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - assert
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_union(const run_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13669,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13670,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13674,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13679,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13683,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13688,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13691,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13698,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13704,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13708
      start: 13666
    functionDepth: 0
    functionLinenumber: 13666
    functionLinenumberEnd: 13708
    functionName: roaring::internal::array_run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_union(const array_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               run_container_t *dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13712,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13718,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13719,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13730,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13734,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13740,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13743,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13750,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13760
      start: 13710
    functionDepth: 0
    functionLinenumber: 13710
    functionLinenumberEnd: 13760
    functionName: roaring::internal::array_run_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_inplace_union(const array_container_t *src_1,\n
      \                                      run_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13768,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13770,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13770,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13776,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13779,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13780,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13781,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13786,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13792
      start: 13762
    functionDepth: 2
    functionLinenumber: 13762
    functionLinenumberEnd: 13792
    functionName: roaring::internal::array_array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_union(\n    const array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13802,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13804,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13804,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13810,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13811,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13816,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13819,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13820,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13821,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13827,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13830,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13839
      start: 13794
    functionDepth: 2
    functionLinenumber: 13794
    functionLinenumberEnd: 13839
    functionName: roaring::internal::array_array_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - roaring::internal::array_container_grow
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_inplace_union(\n    array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13848,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13850,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13850,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13856,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13859,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13860,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13865
      start: 13842
    functionDepth: 2
    functionLinenumber: 13842
    functionLinenumberEnd: 13865
    functionName: roaring::internal::array_array_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_union(\n    const array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13876,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13878,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13878,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13884,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13885,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13890,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13893,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13894,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13899
      start: 13868
    functionDepth: 2
    functionLinenumber: 13868
    functionLinenumberEnd: 13899
    functionName: roaring::internal::array_array_container_lazy_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_inplace_union(\n    array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13625,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13628
      start: 13622
    functionDepth: 2
    functionLinenumber: 13622
    functionLinenumberEnd: 13628
    functionName: roaring::internal::array_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_union(const array_container_t *src_1,\n
      \                                 const bitset_container_t *src_2,\n                                  bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13636,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13639
      start: 13633
    functionDepth: 2
    functionLinenumber: 13633
    functionLinenumberEnd: 13639
    functionName: roaring::internal::array_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_union(const array_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13644,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13644,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13645,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13648,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 13643
        line_start: 13643
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 13651
      start: 13641
    functionDepth: 0
    functionLinenumber: 13641
    functionLinenumberEnd: 13651
    functionName: roaring::internal::run_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_set_lenrange
    - assert
    - roaring::internal::bitset_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_union(const run_container_t *src_1,\n                                const
      bitset_container_t *src_2,\n                                bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13656,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13656,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13657,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 13655
        line_start: 13655
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 13663
      start: 13653
    functionDepth: 0
    functionLinenumber: 13653
    functionLinenumberEnd: 13663
    functionName: roaring::internal::run_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - assert
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_union(const run_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13669,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13670,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13674,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13679,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13683,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13688,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13691,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13698,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13704,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13708
      start: 13666
    functionDepth: 0
    functionLinenumber: 13666
    functionLinenumberEnd: 13708
    functionName: roaring::internal::array_run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_union(const array_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               run_container_t *dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13712,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13718,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13719,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13730,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13734,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13740,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13743,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13750,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13760
      start: 13710
    functionDepth: 0
    functionLinenumber: 13710
    functionLinenumberEnd: 13760
    functionName: roaring::internal::array_run_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_inplace_union(const array_container_t *src_1,\n
      \                                      run_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13768,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13770,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13770,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13776,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13779,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13780,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13781,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13786,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13792
      start: 13762
    functionDepth: 2
    functionLinenumber: 13762
    functionLinenumberEnd: 13792
    functionName: roaring::internal::array_array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_union(\n    const array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13802,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13804,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13804,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13810,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13811,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13816,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13819,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13820,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13821,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13827,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13830,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13839
      start: 13794
    functionDepth: 2
    functionLinenumber: 13794
    functionLinenumberEnd: 13839
    functionName: roaring::internal::array_array_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - roaring::internal::array_container_grow
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_inplace_union(\n    array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13848,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13850,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13850,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13856,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13859,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13860,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13865
      start: 13842
    functionDepth: 2
    functionLinenumber: 13842
    functionLinenumberEnd: 13865
    functionName: roaring::internal::array_array_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_union(\n    const array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13876,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13878,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13878,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13884,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13885,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13890,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13893,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13894,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13899
      start: 13868
    functionDepth: 2
    functionLinenumber: 13868
    functionLinenumberEnd: 13899
    functionName: roaring::internal::array_array_container_lazy_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_inplace_union(\n    array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13925,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13926,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13927,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13932,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13938
      start: 13921
    functionDepth: 1
    functionLinenumber: 13921
    functionLinenumberEnd: 13938
    functionName: roaring::internal::array_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_xor(\n    const array_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13948,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13951
      start: 13945
    functionDepth: 1
    functionLinenumber: 13945
    functionLinenumberEnd: 13951
    functionName: roaring::internal::array_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_xor(const array_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13964,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13966,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13969,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13970,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13972,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13975,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13981
      start: 13960
    functionDepth: 0
    functionLinenumber: 13960
    functionLinenumberEnd: 13981
    functionName: roaring::internal::run_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_xor(\n    const run_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13991,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13994,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13998
      start: 13988
    functionDepth: 0
    functionLinenumber: 13988
    functionLinenumberEnd: 13998
    functionName: roaring::internal::run_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_copy
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_xor(const run_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   bitset_container_t
      *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14016,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14017,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14020,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14024,1
    - Dst: roaring::internal::array_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14028,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14029,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14030,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14035,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14042
      start: 14004
    functionDepth: 0
    functionLinenumber: 14004
    functionLinenumberEnd: 14042
    functionName: roaring::internal::array_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_lazy_xor
    - roaring::internal::array_container_from_run
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::bitset_container_from_run
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::run_container_create
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_run_container_xor(\n    const array_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14052,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14059,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14063,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14069,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14077
      start: 14049
    functionDepth: 0
    functionLinenumber: 14049
    functionLinenumberEnd: 14077
    functionName: roaring::internal::array_run_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_run_container_lazy_xor(const array_container_t *src_1,\n
      \                                 const run_container_t *src_2,\n                                  run_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14087,1
    - Dst: roaring::internal::run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14088,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14092
      start: 14083
    functionDepth: 0
    functionLinenumber: 14083
    functionLinenumberEnd: 14092
    functionName: roaring::internal::run_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_xor
    - roaring::internal::run_container_create
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_xor(\n    const run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14109,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14110,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14110,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14113,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14115,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14116,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14120,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14126
      start: 14102
    functionDepth: 1
    functionLinenumber: 14102
    functionLinenumberEnd: 14126
    functionName: roaring::internal::array_array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::bitset_container_free
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_xor(\n    const array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14135,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14137,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14137,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14140,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14143,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14148
      start: 14128
    functionDepth: 1
    functionLinenumber: 14128
    functionLinenumberEnd: 14148
    functionName: roaring::internal::array_array_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_xor(\n    const array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14159,1
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14160,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14162,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14169
      start: 14155
    functionDepth: 0
    functionLinenumber: 14155
    functionLinenumberEnd: 14169
    functionName: roaring::internal::bitset_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_xor(\n    const bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14183,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14187,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14192
      start: 14178
    functionDepth: 1
    functionLinenumber: 14178
    functionLinenumberEnd: 14192
    functionName: roaring::internal::bitset_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_ixor(\n    bitset_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14203,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14205,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14212
      start: 14199
    functionDepth: 0
    functionLinenumber: 14199
    functionLinenumberEnd: 14212
    functionName: roaring::internal::bitset_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_ixor(\n    bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14218,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14221
      start: 14214
    functionDepth: 0
    functionLinenumber: 14214
    functionLinenumberEnd: 14221
    functionName: roaring::internal::array_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_bitset_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_ixor(\n    array_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14234,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14237
      start: 14230
    functionDepth: 0
    functionLinenumber: 14230
    functionLinenumberEnd: 14237
    functionName: roaring::internal::run_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_ixor(\n    run_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14243,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14246
      start: 14239
    functionDepth: 0
    functionLinenumber: 14239
    functionLinenumberEnd: 14246
    functionName: roaring::internal::bitset_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_ixor(\n    bitset_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14256,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14259
      start: 14252
    functionDepth: 0
    functionLinenumber: 14252
    functionLinenumberEnd: 14259
    functionName: roaring::internal::array_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: int
    signature: "int array_run_container_ixor(\n    array_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14265,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14268
      start: 14261
    functionDepth: 0
    functionLinenumber: 14261
    functionLinenumberEnd: 14268
    functionName: roaring::internal::run_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_ixor(\n    run_container_t *src_1, const array_container_t
      *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14274,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14277
      start: 14270
    functionDepth: 0
    functionLinenumber: 14270
    functionLinenumberEnd: 14277
    functionName: roaring::internal::array_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_ixor(\n    array_container_t *src_1, const
      array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14283,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14286
      start: 14279
    functionDepth: 0
    functionLinenumber: 14279
    functionLinenumberEnd: 14286
    functionName: roaring::internal::run_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_ixor(\n    run_container_t *src_1, const run_container_t
      *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13925,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13926,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13927,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13932,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13938
      start: 13921
    functionDepth: 1
    functionLinenumber: 13921
    functionLinenumberEnd: 13938
    functionName: roaring::internal::array_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_xor(\n    const array_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13948,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13951
      start: 13945
    functionDepth: 1
    functionLinenumber: 13945
    functionLinenumberEnd: 13951
    functionName: roaring::internal::array_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_xor(const array_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13964,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13966,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13969,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13970,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13972,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13975,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13981
      start: 13960
    functionDepth: 0
    functionLinenumber: 13960
    functionLinenumberEnd: 13981
    functionName: roaring::internal::run_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_xor(\n    const run_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13991,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13994,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13998
      start: 13988
    functionDepth: 0
    functionLinenumber: 13988
    functionLinenumberEnd: 13998
    functionName: roaring::internal::run_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_copy
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_xor(const run_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   bitset_container_t
      *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14016,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14017,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14020,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14024,1
    - Dst: roaring::internal::array_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14028,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14029,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14030,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14035,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14042
      start: 14004
    functionDepth: 0
    functionLinenumber: 14004
    functionLinenumberEnd: 14042
    functionName: roaring::internal::array_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::array_run_container_lazy_xor
    - roaring::internal::array_container_from_run
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::bitset_container_from_run
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::run_container_create
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_run_container_xor(\n    const array_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14052,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14059,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14063,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14069,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14077
      start: 14049
    functionDepth: 0
    functionLinenumber: 14049
    functionLinenumberEnd: 14077
    functionName: roaring::internal::array_run_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_run_container_lazy_xor(const array_container_t *src_1,\n
      \                                 const run_container_t *src_2,\n                                  run_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14087,1
    - Dst: roaring::internal::run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14088,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14092
      start: 14083
    functionDepth: 0
    functionLinenumber: 14083
    functionLinenumberEnd: 14092
    functionName: roaring::internal::run_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 9
    functionsReached:
    - roaring::internal::run_container_xor
    - roaring::internal::run_container_create
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_xor(\n    const run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14109,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14110,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14110,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14113,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14115,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14116,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14120,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14126
      start: 14102
    functionDepth: 1
    functionLinenumber: 14102
    functionLinenumberEnd: 14126
    functionName: roaring::internal::array_array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::bitset_container_free
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_xor(\n    const array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14135,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14137,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14137,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14140,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14143,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14148
      start: 14128
    functionDepth: 1
    functionLinenumber: 14128
    functionLinenumberEnd: 14148
    functionName: roaring::internal::array_array_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_xor(\n    const array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14159,1
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14160,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14162,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14169
      start: 14155
    functionDepth: 0
    functionLinenumber: 14155
    functionLinenumberEnd: 14169
    functionName: roaring::internal::bitset_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_xor(\n    const bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14183,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14187,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14192
      start: 14178
    functionDepth: 1
    functionLinenumber: 14178
    functionLinenumberEnd: 14192
    functionName: roaring::internal::bitset_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_ixor(\n    bitset_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14203,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14205,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14212
      start: 14199
    functionDepth: 0
    functionLinenumber: 14199
    functionLinenumberEnd: 14212
    functionName: roaring::internal::bitset_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_ixor(\n    bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14218,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14221
      start: 14214
    functionDepth: 0
    functionLinenumber: 14214
    functionLinenumberEnd: 14221
    functionName: roaring::internal::array_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_bitset_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_ixor(\n    array_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14234,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14237
      start: 14230
    functionDepth: 0
    functionLinenumber: 14230
    functionLinenumberEnd: 14237
    functionName: roaring::internal::run_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_ixor(\n    run_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14243,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14246
      start: 14239
    functionDepth: 0
    functionLinenumber: 14239
    functionLinenumberEnd: 14246
    functionName: roaring::internal::bitset_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_ixor(\n    bitset_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14256,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14259
      start: 14252
    functionDepth: 0
    functionLinenumber: 14252
    functionLinenumberEnd: 14259
    functionName: roaring::internal::array_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: int
    signature: "int array_run_container_ixor(\n    array_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14265,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14268
      start: 14261
    functionDepth: 0
    functionLinenumber: 14261
    functionLinenumberEnd: 14268
    functionName: roaring::internal::run_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_ixor(\n    run_container_t *src_1, const array_container_t
      *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14274,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14277
      start: 14270
    functionDepth: 0
    functionLinenumber: 14270
    functionLinenumberEnd: 14277
    functionName: roaring::internal::array_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_ixor(\n    array_container_t *src_1, const
      array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14283,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14286
      start: 14279
    functionDepth: 0
    functionLinenumber: 14279
    functionLinenumberEnd: 14286
    functionName: roaring::internal::run_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_ixor(\n    run_container_t *src_1, const run_container_t
      *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13925,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13926,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13927,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13932,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13938
      start: 13921
    functionDepth: 1
    functionLinenumber: 13921
    functionLinenumberEnd: 13938
    functionName: roaring::internal::array_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_xor(\n    const array_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13948,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13951
      start: 13945
    functionDepth: 1
    functionLinenumber: 13945
    functionLinenumberEnd: 13951
    functionName: roaring::internal::array_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_xor(const array_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13964,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13966,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13969,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13970,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13972,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13975,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13981
      start: 13960
    functionDepth: 0
    functionLinenumber: 13960
    functionLinenumberEnd: 13981
    functionName: roaring::internal::run_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_xor(\n    const run_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13991,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13994,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13998
      start: 13988
    functionDepth: 0
    functionLinenumber: 13988
    functionLinenumberEnd: 13998
    functionName: roaring::internal::run_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_copy
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_xor(const run_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   bitset_container_t
      *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14016,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14017,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14020,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14024,1
    - Dst: roaring::internal::array_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14028,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14029,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14030,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14035,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14042
      start: 14004
    functionDepth: 0
    functionLinenumber: 14004
    functionLinenumberEnd: 14042
    functionName: roaring::internal::array_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_lazy_xor
    - roaring::internal::array_container_from_run
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::bitset_container_from_run
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::run_container_create
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_run_container_xor(\n    const array_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14052,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14059,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14063,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14069,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14077
      start: 14049
    functionDepth: 0
    functionLinenumber: 14049
    functionLinenumberEnd: 14077
    functionName: roaring::internal::array_run_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_run_container_lazy_xor(const array_container_t *src_1,\n
      \                                 const run_container_t *src_2,\n                                  run_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14087,1
    - Dst: roaring::internal::run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14088,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14092
      start: 14083
    functionDepth: 0
    functionLinenumber: 14083
    functionLinenumberEnd: 14092
    functionName: roaring::internal::run_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 10
    functionsReached:
    - roaring::internal::run_container_xor
    - roaring::internal::run_container_create
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_xor(\n    const run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14109,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14110,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14110,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14113,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14115,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14116,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14120,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14126
      start: 14102
    functionDepth: 1
    functionLinenumber: 14102
    functionLinenumberEnd: 14126
    functionName: roaring::internal::array_array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 9
    functionsReached:
    - roaring::internal::bitset_container_free
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_xor(\n    const array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14135,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14137,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14137,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14140,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14143,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14148
      start: 14128
    functionDepth: 1
    functionLinenumber: 14128
    functionLinenumberEnd: 14148
    functionName: roaring::internal::array_array_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_xor(\n    const array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14159,1
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14160,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14162,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14169
      start: 14155
    functionDepth: 0
    functionLinenumber: 14155
    functionLinenumberEnd: 14169
    functionName: roaring::internal::bitset_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_xor(\n    const bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14183,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14187,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14192
      start: 14178
    functionDepth: 1
    functionLinenumber: 14178
    functionLinenumberEnd: 14192
    functionName: roaring::internal::bitset_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_ixor(\n    bitset_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14203,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14205,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14212
      start: 14199
    functionDepth: 0
    functionLinenumber: 14199
    functionLinenumberEnd: 14212
    functionName: roaring::internal::bitset_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_ixor(\n    bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14218,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14221
      start: 14214
    functionDepth: 0
    functionLinenumber: 14214
    functionLinenumberEnd: 14221
    functionName: roaring::internal::array_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_bitset_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_ixor(\n    array_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14234,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14237
      start: 14230
    functionDepth: 0
    functionLinenumber: 14230
    functionLinenumberEnd: 14237
    functionName: roaring::internal::run_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_ixor(\n    run_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14243,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14246
      start: 14239
    functionDepth: 0
    functionLinenumber: 14239
    functionLinenumberEnd: 14246
    functionName: roaring::internal::bitset_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_ixor(\n    bitset_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14256,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14259
      start: 14252
    functionDepth: 0
    functionLinenumber: 14252
    functionLinenumberEnd: 14259
    functionName: roaring::internal::array_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: int
    signature: "int array_run_container_ixor(\n    array_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14265,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14268
      start: 14261
    functionDepth: 0
    functionLinenumber: 14261
    functionLinenumberEnd: 14268
    functionName: roaring::internal::run_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_ixor(\n    run_container_t *src_1, const array_container_t
      *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14274,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14277
      start: 14270
    functionDepth: 0
    functionLinenumber: 14270
    functionLinenumberEnd: 14277
    functionName: roaring::internal::array_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_ixor(\n    array_container_t *src_1, const
      array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14283,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14286
      start: 14279
    functionDepth: 0
    functionLinenumber: 14279
    functionLinenumberEnd: 14286
    functionName: roaring::internal::run_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_ixor(\n    run_container_t *src_1, const run_container_t
      *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13925,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13926,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13927,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13932,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13938
      start: 13921
    functionDepth: 1
    functionLinenumber: 13921
    functionLinenumberEnd: 13938
    functionName: roaring::internal::array_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_xor(\n    const array_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13948,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13951
      start: 13945
    functionDepth: 1
    functionLinenumber: 13945
    functionLinenumberEnd: 13951
    functionName: roaring::internal::array_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_xor(const array_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13964,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13966,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13969,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13970,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13972,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13975,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13981
      start: 13960
    functionDepth: 0
    functionLinenumber: 13960
    functionLinenumberEnd: 13981
    functionName: roaring::internal::run_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 10
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_xor(\n    const run_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13991,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13994,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:13995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13998
      start: 13988
    functionDepth: 0
    functionLinenumber: 13988
    functionLinenumberEnd: 13998
    functionName: roaring::internal::run_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_copy
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_xor(const run_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   bitset_container_t
      *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14016,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14017,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14020,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14024,1
    - Dst: roaring::internal::array_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14028,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14029,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14030,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14035,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14042
      start: 14004
    functionDepth: 0
    functionLinenumber: 14004
    functionLinenumberEnd: 14042
    functionName: roaring::internal::array_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 10
    functionsReached:
    - roaring::internal::array_run_container_lazy_xor
    - roaring::internal::array_container_from_run
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::bitset_container_from_run
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::run_container_create
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_run_container_xor(\n    const array_container_t *src_1,
      const run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14052,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14059,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14063,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14069,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14077
      start: 14049
    functionDepth: 0
    functionLinenumber: 14049
    functionLinenumberEnd: 14077
    functionName: roaring::internal::array_run_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_run_container_lazy_xor(const array_container_t *src_1,\n
      \                                 const run_container_t *src_2,\n                                  run_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14087,1
    - Dst: roaring::internal::run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14088,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14092
      start: 14083
    functionDepth: 0
    functionLinenumber: 14083
    functionLinenumberEnd: 14092
    functionName: roaring::internal::run_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 11
    functionsReached:
    - roaring::internal::run_container_xor
    - roaring::internal::run_container_create
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_xor(\n    const run_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14109,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14110,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14110,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14113,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14115,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14116,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14120,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14126
      start: 14102
    functionDepth: 1
    functionLinenumber: 14102
    functionLinenumberEnd: 14126
    functionName: roaring::internal::array_array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 11
    functionsReached:
    - roaring::internal::bitset_container_free
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_xor(\n    const array_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14135,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14137,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14137,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14140,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14143,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14148
      start: 14128
    functionDepth: 1
    functionLinenumber: 14128
    functionLinenumberEnd: 14148
    functionName: roaring::internal::array_array_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_xor(\n    const array_container_t
      *src_1, const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14159,1
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14160,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14162,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14169
      start: 14155
    functionDepth: 0
    functionLinenumber: 14155
    functionLinenumberEnd: 14169
    functionName: roaring::internal::bitset_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_xor(\n    const bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14183,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14187,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14192
      start: 14178
    functionDepth: 1
    functionLinenumber: 14178
    functionLinenumberEnd: 14192
    functionName: roaring::internal::bitset_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_ixor(\n    bitset_container_t *src_1,
      const array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14203,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14205,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14212
      start: 14199
    functionDepth: 0
    functionLinenumber: 14199
    functionLinenumberEnd: 14212
    functionName: roaring::internal::bitset_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_ixor(\n    bitset_container_t *src_1,
      const bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14218,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14221
      start: 14214
    functionDepth: 0
    functionLinenumber: 14214
    functionLinenumberEnd: 14221
    functionName: roaring::internal::array_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_bitset_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_ixor(\n    array_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14234,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14237
      start: 14230
    functionDepth: 0
    functionLinenumber: 14230
    functionLinenumberEnd: 14237
    functionName: roaring::internal::run_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_ixor(\n    run_container_t *src_1, const
      bitset_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14243,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14246
      start: 14239
    functionDepth: 0
    functionLinenumber: 14239
    functionLinenumberEnd: 14246
    functionName: roaring::internal::bitset_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_ixor(\n    bitset_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14256,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14259
      start: 14252
    functionDepth: 0
    functionLinenumber: 14252
    functionLinenumberEnd: 14259
    functionName: roaring::internal::array_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: int
    signature: "int array_run_container_ixor(\n    array_container_t *src_1, const
      run_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14265,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14268
      start: 14261
    functionDepth: 0
    functionLinenumber: 14261
    functionLinenumberEnd: 14268
    functionName: roaring::internal::run_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_ixor(\n    run_container_t *src_1, const array_container_t
      *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14274,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14277
      start: 14270
    functionDepth: 0
    functionLinenumber: 14270
    functionLinenumberEnd: 14277
    functionName: roaring::internal::array_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_ixor(\n    array_container_t *src_1, const
      array_container_t *src_2,\n    container_t **dst\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14283,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14286
      start: 14279
    functionDepth: 0
    functionLinenumber: 14279
    functionLinenumberEnd: 14286
    functionName: roaring::internal::run_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_ixor(\n    run_container_t *src_1, const run_container_t
      *src_2,\n    container_t **dst\n)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14317,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14332,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14363
      start: 14316
    functionDepth: 0
    functionLinenumber: 14316
    functionLinenumberEnd: 14363
    functionName: roaring::internal::run_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_add(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14369,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14374,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14381
      start: 14366
    functionDepth: 0
    functionLinenumber: 14366
    functionLinenumberEnd: 14381
    functionName: roaring::internal::run_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 20
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create_given_capacity(int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14388,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14391
      start: 14383
    functionDepth: 0
    functionLinenumber: 14383
    functionLinenumberEnd: 14391
    functionName: roaring::internal::run_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: int
    signature: int run_container_shrink_to_fit(run_container_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14395
      start: 14393
    functionDepth: 0
    functionLinenumber: 14393
    functionLinenumberEnd: 14395
    functionName: roaring::internal::run_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 40
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14398,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14404
      start: 14397
    functionDepth: 0
    functionLinenumber: 14397
    functionLinenumberEnd: 14404
    functionName: roaring::internal::run_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_clone(const run_container_t *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14416,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14429,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14430,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14439,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14440,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - run_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14461
      start: 14406
    functionDepth: 0
    functionLinenumber: 14406
    functionLinenumberEnd: 14461
    functionName: roaring::internal::run_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void run_container_offset(const run_container_t *c,\n                          container_t
      **loc, container_t **hic,\n                          uint16_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14466,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14470
      start: 14464
    functionDepth: 0
    functionLinenumber: 14464
    functionLinenumberEnd: 14470
    functionName: roaring::internal::run_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 44
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void run_container_free(run_container_t *run)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14481,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14485,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14486,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14490,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14492,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14496,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - run
    - min
    - copy
    argTypes:
    - run_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (run->capacity >= min)
      pos:
        line_end: 14480
        line_start: 14480
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (run->runs != NULL)
      pos:
        line_end: 14497
        line_start: 14497
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 14499
      start: 14472
    functionDepth: 1
    functionLinenumber: 14472
    functionLinenumberEnd: 14499
    functionName: roaring::internal::run_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 20
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring_realloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void run_container_grow(run_container_t *run, int32_t min, bool copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14505,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14509
      start: 14502
    functionDepth: 0
    functionLinenumber: 14502
    functionLinenumberEnd: 14509
    functionName: roaring::internal::run_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 20
    functionsReached:
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void run_container_copy(const run_container_t *src, run_container_t
      *dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14518,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14519,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14522,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14526,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14532,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14539,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14542,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14555,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14558,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14562,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14565
      start: 14513
    functionDepth: 0
    functionLinenumber: 14513
    functionLinenumberEnd: 14565
    functionName: roaring::internal::run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_append
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union(const run_container_t *src_1,\n                         const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14574,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14575,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14581,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14589,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14590,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14600,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14603,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14615,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14618,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14625
      start: 14569
    functionDepth: 0
    functionLinenumber: 14569
    functionLinenumberEnd: 14625
    functionName: roaring::internal::run_container_union_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union_inplace(run_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14637,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14645,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14649,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14655,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14665
      start: 14630
    functionDepth: 0
    functionLinenumber: 14630
    functionLinenumberEnd: 14665
    functionName: roaring::internal::run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_xor(const run_container_t *src_1,\n                       const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14672,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14673,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14676,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14680,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14687,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14745
      start: 14669
    functionDepth: 0
    functionLinenumber: 14669
    functionLinenumberEnd: 14745
    functionName: roaring::internal::run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_container_intersection(const run_container_t *src_1,\n                                const
      run_container_t *src_2,\n                                run_container_t *dst)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14750,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14751,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14754,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14757,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14815
      start: 14748
    functionDepth: 0
    functionLinenumber: 14748
    functionLinenumberEnd: 14815
    functionName: roaring::internal::run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_container_intersection_cardinality(const run_container_t *src_1,\n
      \                                          const run_container_t *src_2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14819,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14820,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14823,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14826,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14853
      start: 14817
    functionDepth: 0
    functionLinenumber: 14817
    functionLinenumberEnd: 14853
    functionName: roaring::internal::run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_empty
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: "bool run_container_intersect(const run_container_t *src_1,\n                                const
      run_container_t *src_2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14863,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14877,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14893,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14907,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14910,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14858
    functionDepth: 1
    functionLinenumber: 14858
    functionLinenumberEnd: 14915
    functionName: roaring::internal::run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - MAKE_RLE16
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_andnot(const run_container_t *src_1,\n                          const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14933
      start: 14917
    functionDepth: 0
    functionLinenumber: 14917
    functionLinenumberEnd: 14933
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cont
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14945
      start: 14939
    functionDepth: 1
    functionLinenumber: 14939
    functionLinenumberEnd: 14945
    functionName: roaring::internal::run_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void run_container_printf(const run_container_t *cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14957,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14958,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cont
    - base
    argTypes:
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14965
      start: 14951
    functionDepth: 1
    functionLinenumber: 14951
    functionLinenumberEnd: 14965
    functionName: roaring::internal::run_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void run_container_printf_as_uint32_array(const run_container_t *cont,\n
      \                                         uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14970,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14971,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14974
      start: 14968
    functionDepth: 0
    functionLinenumber: 14968
    functionLinenumberEnd: 14974
    functionName: roaring::internal::run_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_write(const run_container_t *container, char
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14980,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14983,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14985,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14989
      start: 14976
    functionDepth: 0
    functionLinenumber: 14976
    functionLinenumberEnd: 14989
    functionName: roaring::internal::run_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_read(int32_t cardinality, run_container_t *container,\n
      \                          const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15001
      start: 14991
    functionDepth: 0
    functionLinenumber: 14991
    functionLinenumberEnd: 15001
    functionName: roaring::internal::run_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate(const run_container_t *cont, uint32_t base,\n
      \                          roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15015
      start: 15003
    functionDepth: 0
    functionLinenumber: 15003
    functionLinenumberEnd: 15015
    functionName: roaring::internal::run_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate64(const run_container_t *cont, uint32_t
      base,\n                             roaring_iterator64 iterator, uint64_t high_bits,\n
      \                            void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15043
      start: 15017
    functionDepth: 0
    functionLinenumber: 15017
    functionLinenumberEnd: 15043
    functionName: roaring::internal::run_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset(const run_container_t *container1,\n
      \                            const run_container_t *container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15059,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15073,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15076,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15085,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15088,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - src
    - start
    - length
    argTypes:
    - run_container_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15091
      start: 15050
    functionDepth: 1
    functionLinenumber: 15050
    functionLinenumberEnd: 15091
    functionName: roaring::internal::run_container_smart_append_exclusive
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 13
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_smart_append_exclusive(run_container_t *src,\n
      \                                         const uint16_t start,\n                                          const
      uint16_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - run_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15106
      start: 15093
    functionDepth: 0
    functionLinenumber: 15093
    functionLinenumberEnd: 15106
    functionName: roaring::internal::run_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_select(const run_container_t *container,\n                          uint32_t
      *start_rank, uint32_t rank,\n                          uint32_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15123
      start: 15108
    functionDepth: 0
    functionLinenumber: 15108
    functionLinenumberEnd: 15123
    functionName: roaring::internal::run_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_rank(const run_container_t *container, uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15139,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15141,1
    - Dst: _mm256_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15142,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15143,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15156
      start: 15130
    functionDepth: 0
    functionLinenumber: 15130
    functionLinenumberEnd: 15156
    functionName: roaring::internal::_avx2_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _mm256_srli_epi32
    - _mm256_storeu_si256
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - _mm256_add_epi32
    linkageType: ''
    returnType: int
    signature: int _avx2_run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15172
      start: 15158
    functionDepth: 0
    functionLinenumber: 15158
    functionLinenumberEnd: 15172
    functionName: roaring::internal::_scalar_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION _scalar_run_container_cardinality(const run_container_t
      *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15175,1
    - Dst: roaring::internal::_avx2_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15176,1
    - Dst: roaring::internal::_scalar_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15180
      start: 15174
    functionDepth: 1
    functionLinenumber: 15174
    functionLinenumberEnd: 15180
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 57
    functionsReached:
    - roaring::internal::_scalar_run_container_cardinality
    - roaring::internal::_avx2_run_container_cardinality
    - croaring_avx2
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15195
      start: 15184
    functionDepth: 0
    functionLinenumber: 15184
    functionLinenumberEnd: 15195
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14317,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14332,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14363
      start: 14316
    functionDepth: 0
    functionLinenumber: 14316
    functionLinenumberEnd: 14363
    functionName: roaring::internal::run_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_add(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14369,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14374,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14381
      start: 14366
    functionDepth: 0
    functionLinenumber: 14366
    functionLinenumberEnd: 14381
    functionName: roaring::internal::run_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 23
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create_given_capacity(int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14388,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14391
      start: 14383
    functionDepth: 0
    functionLinenumber: 14383
    functionLinenumberEnd: 14391
    functionName: roaring::internal::run_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: int
    signature: int run_container_shrink_to_fit(run_container_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14395
      start: 14393
    functionDepth: 0
    functionLinenumber: 14393
    functionLinenumberEnd: 14395
    functionName: roaring::internal::run_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 40
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14398,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14404
      start: 14397
    functionDepth: 0
    functionLinenumber: 14397
    functionLinenumberEnd: 14404
    functionName: roaring::internal::run_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_clone(const run_container_t *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14416,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14429,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14430,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14439,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14440,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - run_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14461
      start: 14406
    functionDepth: 0
    functionLinenumber: 14406
    functionLinenumberEnd: 14461
    functionName: roaring::internal::run_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void run_container_offset(const run_container_t *c,\n                          container_t
      **loc, container_t **hic,\n                          uint16_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14466,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14470
      start: 14464
    functionDepth: 0
    functionLinenumber: 14464
    functionLinenumberEnd: 14470
    functionName: roaring::internal::run_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 44
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void run_container_free(run_container_t *run)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14481,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14485,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14486,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14490,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14492,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14496,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - run
    - min
    - copy
    argTypes:
    - run_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (run->capacity >= min)
      pos:
        line_end: 14480
        line_start: 14480
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (run->runs != NULL)
      pos:
        line_end: 14497
        line_start: 14497
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 14499
      start: 14472
    functionDepth: 1
    functionLinenumber: 14472
    functionLinenumberEnd: 14499
    functionName: roaring::internal::run_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 27
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring_realloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void run_container_grow(run_container_t *run, int32_t min, bool copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14505,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14509
      start: 14502
    functionDepth: 0
    functionLinenumber: 14502
    functionLinenumberEnd: 14509
    functionName: roaring::internal::run_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 23
    functionsReached:
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void run_container_copy(const run_container_t *src, run_container_t
      *dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14518,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14519,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14522,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14526,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14532,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14539,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14542,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14555,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14558,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14562,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14565
      start: 14513
    functionDepth: 0
    functionLinenumber: 14513
    functionLinenumberEnd: 14565
    functionName: roaring::internal::run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_append
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union(const run_container_t *src_1,\n                         const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14574,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14575,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14581,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14589,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14590,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14600,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14603,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14615,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14618,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14625
      start: 14569
    functionDepth: 0
    functionLinenumber: 14569
    functionLinenumberEnd: 14625
    functionName: roaring::internal::run_container_union_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union_inplace(run_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14637,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14645,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14649,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14655,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14665
      start: 14630
    functionDepth: 0
    functionLinenumber: 14630
    functionLinenumberEnd: 14665
    functionName: roaring::internal::run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_xor(const run_container_t *src_1,\n                       const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14672,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14673,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14676,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14680,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14687,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14745
      start: 14669
    functionDepth: 0
    functionLinenumber: 14669
    functionLinenumberEnd: 14745
    functionName: roaring::internal::run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_container_intersection(const run_container_t *src_1,\n                                const
      run_container_t *src_2,\n                                run_container_t *dst)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14750,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14751,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14754,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14757,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14815
      start: 14748
    functionDepth: 0
    functionLinenumber: 14748
    functionLinenumberEnd: 14815
    functionName: roaring::internal::run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_container_intersection_cardinality(const run_container_t *src_1,\n
      \                                          const run_container_t *src_2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14819,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14820,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14823,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14826,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14853
      start: 14817
    functionDepth: 0
    functionLinenumber: 14817
    functionLinenumberEnd: 14853
    functionName: roaring::internal::run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_empty
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: "bool run_container_intersect(const run_container_t *src_1,\n                                const
      run_container_t *src_2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14863,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14877,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14893,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14907,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14910,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14858
    functionDepth: 1
    functionLinenumber: 14858
    functionLinenumberEnd: 14915
    functionName: roaring::internal::run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - MAKE_RLE16
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_andnot(const run_container_t *src_1,\n                          const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14933
      start: 14917
    functionDepth: 0
    functionLinenumber: 14917
    functionLinenumberEnd: 14933
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cont
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14945
      start: 14939
    functionDepth: 1
    functionLinenumber: 14939
    functionLinenumberEnd: 14945
    functionName: roaring::internal::run_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void run_container_printf(const run_container_t *cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14957,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14958,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cont
    - base
    argTypes:
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14965
      start: 14951
    functionDepth: 1
    functionLinenumber: 14951
    functionLinenumberEnd: 14965
    functionName: roaring::internal::run_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void run_container_printf_as_uint32_array(const run_container_t *cont,\n
      \                                         uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14970,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14971,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14974
      start: 14968
    functionDepth: 0
    functionLinenumber: 14968
    functionLinenumberEnd: 14974
    functionName: roaring::internal::run_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_write(const run_container_t *container, char
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14980,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14983,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14985,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14989
      start: 14976
    functionDepth: 0
    functionLinenumber: 14976
    functionLinenumberEnd: 14989
    functionName: roaring::internal::run_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_read(int32_t cardinality, run_container_t *container,\n
      \                          const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15001
      start: 14991
    functionDepth: 0
    functionLinenumber: 14991
    functionLinenumberEnd: 15001
    functionName: roaring::internal::run_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate(const run_container_t *cont, uint32_t base,\n
      \                          roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15015
      start: 15003
    functionDepth: 0
    functionLinenumber: 15003
    functionLinenumberEnd: 15015
    functionName: roaring::internal::run_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate64(const run_container_t *cont, uint32_t
      base,\n                             roaring_iterator64 iterator, uint64_t high_bits,\n
      \                            void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15043
      start: 15017
    functionDepth: 0
    functionLinenumber: 15017
    functionLinenumberEnd: 15043
    functionName: roaring::internal::run_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset(const run_container_t *container1,\n
      \                            const run_container_t *container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15059,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15073,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15076,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15085,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15088,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - src
    - start
    - length
    argTypes:
    - run_container_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15091
      start: 15050
    functionDepth: 1
    functionLinenumber: 15050
    functionLinenumberEnd: 15091
    functionName: roaring::internal::run_container_smart_append_exclusive
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 14
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_smart_append_exclusive(run_container_t *src,\n
      \                                         const uint16_t start,\n                                          const
      uint16_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - run_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15106
      start: 15093
    functionDepth: 0
    functionLinenumber: 15093
    functionLinenumberEnd: 15106
    functionName: roaring::internal::run_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_select(const run_container_t *container,\n                          uint32_t
      *start_rank, uint32_t rank,\n                          uint32_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15123
      start: 15108
    functionDepth: 0
    functionLinenumber: 15108
    functionLinenumberEnd: 15123
    functionName: roaring::internal::run_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_rank(const run_container_t *container, uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15139,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15141,1
    - Dst: _mm256_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15142,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15143,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15156
      start: 15130
    functionDepth: 0
    functionLinenumber: 15130
    functionLinenumberEnd: 15156
    functionName: roaring::internal::_avx2_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - _mm256_srli_epi32
    - _mm256_storeu_si256
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - _mm256_add_epi32
    linkageType: ''
    returnType: int
    signature: int _avx2_run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15172
      start: 15158
    functionDepth: 0
    functionLinenumber: 15158
    functionLinenumberEnd: 15172
    functionName: roaring::internal::_scalar_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION _scalar_run_container_cardinality(const run_container_t
      *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15175,1
    - Dst: roaring::internal::_avx2_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15176,1
    - Dst: roaring::internal::_scalar_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15180
      start: 15174
    functionDepth: 1
    functionLinenumber: 15174
    functionLinenumberEnd: 15180
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 58
    functionsReached:
    - roaring::internal::_scalar_run_container_cardinality
    - roaring::internal::_avx2_run_container_cardinality
    - croaring_avx2
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15195
      start: 15184
    functionDepth: 0
    functionLinenumber: 15184
    functionLinenumberEnd: 15195
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14317,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14332,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14363
      start: 14316
    functionDepth: 0
    functionLinenumber: 14316
    functionLinenumberEnd: 14363
    functionName: roaring::internal::run_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_add(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14369,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14374,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14381
      start: 14366
    functionDepth: 0
    functionLinenumber: 14366
    functionLinenumberEnd: 14381
    functionName: roaring::internal::run_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 26
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create_given_capacity(int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14388,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14391
      start: 14383
    functionDepth: 0
    functionLinenumber: 14383
    functionLinenumberEnd: 14391
    functionName: roaring::internal::run_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: int
    signature: int run_container_shrink_to_fit(run_container_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14395
      start: 14393
    functionDepth: 0
    functionLinenumber: 14393
    functionLinenumberEnd: 14395
    functionName: roaring::internal::run_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 40
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14398,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14404
      start: 14397
    functionDepth: 0
    functionLinenumber: 14397
    functionLinenumberEnd: 14404
    functionName: roaring::internal::run_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_clone(const run_container_t *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14416,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14429,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14430,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14439,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14440,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - run_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14461
      start: 14406
    functionDepth: 0
    functionLinenumber: 14406
    functionLinenumberEnd: 14461
    functionName: roaring::internal::run_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void run_container_offset(const run_container_t *c,\n                          container_t
      **loc, container_t **hic,\n                          uint16_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14466,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14470
      start: 14464
    functionDepth: 0
    functionLinenumber: 14464
    functionLinenumberEnd: 14470
    functionName: roaring::internal::run_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 44
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void run_container_free(run_container_t *run)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14481,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14485,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14486,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14490,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14492,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14496,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - run
    - min
    - copy
    argTypes:
    - run_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (run->capacity >= min)
      pos:
        line_end: 14480
        line_start: 14480
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (run->runs != NULL)
      pos:
        line_end: 14497
        line_start: 14497
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 14499
      start: 14472
    functionDepth: 1
    functionLinenumber: 14472
    functionLinenumberEnd: 14499
    functionName: roaring::internal::run_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 34
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring_realloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void run_container_grow(run_container_t *run, int32_t min, bool copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14505,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14509
      start: 14502
    functionDepth: 0
    functionLinenumber: 14502
    functionLinenumberEnd: 14509
    functionName: roaring::internal::run_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 26
    functionsReached:
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void run_container_copy(const run_container_t *src, run_container_t
      *dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14518,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14519,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14522,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14526,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14532,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14539,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14542,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14555,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14558,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14562,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14565
      start: 14513
    functionDepth: 0
    functionLinenumber: 14513
    functionLinenumberEnd: 14565
    functionName: roaring::internal::run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_append
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union(const run_container_t *src_1,\n                         const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14574,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14575,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14581,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14589,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14590,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14600,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14603,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14615,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14618,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14625
      start: 14569
    functionDepth: 0
    functionLinenumber: 14569
    functionLinenumberEnd: 14625
    functionName: roaring::internal::run_container_union_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union_inplace(run_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14637,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14645,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14649,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14655,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14665
      start: 14630
    functionDepth: 0
    functionLinenumber: 14630
    functionLinenumberEnd: 14665
    functionName: roaring::internal::run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_xor(const run_container_t *src_1,\n                       const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14672,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14673,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14676,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14680,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14687,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14745
      start: 14669
    functionDepth: 0
    functionLinenumber: 14669
    functionLinenumberEnd: 14745
    functionName: roaring::internal::run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_container_intersection(const run_container_t *src_1,\n                                const
      run_container_t *src_2,\n                                run_container_t *dst)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14750,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14751,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14754,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14757,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14815
      start: 14748
    functionDepth: 0
    functionLinenumber: 14748
    functionLinenumberEnd: 14815
    functionName: roaring::internal::run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_container_intersection_cardinality(const run_container_t *src_1,\n
      \                                          const run_container_t *src_2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14819,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14820,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14823,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14826,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14853
      start: 14817
    functionDepth: 0
    functionLinenumber: 14817
    functionLinenumberEnd: 14853
    functionName: roaring::internal::run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_empty
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: "bool run_container_intersect(const run_container_t *src_1,\n                                const
      run_container_t *src_2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14863,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14877,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14893,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14907,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14910,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14858
    functionDepth: 1
    functionLinenumber: 14858
    functionLinenumberEnd: 14915
    functionName: roaring::internal::run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - MAKE_RLE16
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_andnot(const run_container_t *src_1,\n                          const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14933
      start: 14917
    functionDepth: 0
    functionLinenumber: 14917
    functionLinenumberEnd: 14933
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cont
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14945
      start: 14939
    functionDepth: 1
    functionLinenumber: 14939
    functionLinenumberEnd: 14945
    functionName: roaring::internal::run_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void run_container_printf(const run_container_t *cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14957,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14958,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cont
    - base
    argTypes:
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14965
      start: 14951
    functionDepth: 1
    functionLinenumber: 14951
    functionLinenumberEnd: 14965
    functionName: roaring::internal::run_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void run_container_printf_as_uint32_array(const run_container_t *cont,\n
      \                                         uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14970,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14971,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14974
      start: 14968
    functionDepth: 0
    functionLinenumber: 14968
    functionLinenumberEnd: 14974
    functionName: roaring::internal::run_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_write(const run_container_t *container, char
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14980,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14983,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14985,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14989
      start: 14976
    functionDepth: 0
    functionLinenumber: 14976
    functionLinenumberEnd: 14989
    functionName: roaring::internal::run_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_read(int32_t cardinality, run_container_t *container,\n
      \                          const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15001
      start: 14991
    functionDepth: 0
    functionLinenumber: 14991
    functionLinenumberEnd: 15001
    functionName: roaring::internal::run_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate(const run_container_t *cont, uint32_t base,\n
      \                          roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15015
      start: 15003
    functionDepth: 0
    functionLinenumber: 15003
    functionLinenumberEnd: 15015
    functionName: roaring::internal::run_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate64(const run_container_t *cont, uint32_t
      base,\n                             roaring_iterator64 iterator, uint64_t high_bits,\n
      \                            void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15043
      start: 15017
    functionDepth: 0
    functionLinenumber: 15017
    functionLinenumberEnd: 15043
    functionName: roaring::internal::run_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset(const run_container_t *container1,\n
      \                            const run_container_t *container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15059,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15073,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15076,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15085,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15088,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - src
    - start
    - length
    argTypes:
    - run_container_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15091
      start: 15050
    functionDepth: 1
    functionLinenumber: 15050
    functionLinenumberEnd: 15091
    functionName: roaring::internal::run_container_smart_append_exclusive
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 15
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_smart_append_exclusive(run_container_t *src,\n
      \                                         const uint16_t start,\n                                          const
      uint16_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - run_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15106
      start: 15093
    functionDepth: 0
    functionLinenumber: 15093
    functionLinenumberEnd: 15106
    functionName: roaring::internal::run_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_select(const run_container_t *container,\n                          uint32_t
      *start_rank, uint32_t rank,\n                          uint32_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15123
      start: 15108
    functionDepth: 0
    functionLinenumber: 15108
    functionLinenumberEnd: 15123
    functionName: roaring::internal::run_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_rank(const run_container_t *container, uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15139,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15141,1
    - Dst: _mm256_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15142,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15143,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15156
      start: 15130
    functionDepth: 0
    functionLinenumber: 15130
    functionLinenumberEnd: 15156
    functionName: roaring::internal::_avx2_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - _mm256_srli_epi32
    - _mm256_storeu_si256
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - _mm256_add_epi32
    linkageType: ''
    returnType: int
    signature: int _avx2_run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15172
      start: 15158
    functionDepth: 0
    functionLinenumber: 15158
    functionLinenumberEnd: 15172
    functionName: roaring::internal::_scalar_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION _scalar_run_container_cardinality(const run_container_t
      *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15175,1
    - Dst: roaring::internal::_avx2_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15176,1
    - Dst: roaring::internal::_scalar_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15180
      start: 15174
    functionDepth: 1
    functionLinenumber: 15174
    functionLinenumberEnd: 15180
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 59
    functionsReached:
    - roaring::internal::_scalar_run_container_cardinality
    - roaring::internal::_avx2_run_container_cardinality
    - croaring_avx2
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15195
      start: 15184
    functionDepth: 0
    functionLinenumber: 15184
    functionLinenumberEnd: 15195
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14317,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14332,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14363
      start: 14316
    functionDepth: 0
    functionLinenumber: 14316
    functionLinenumberEnd: 14363
    functionName: roaring::internal::run_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_add(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14369,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14374,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14381
      start: 14366
    functionDepth: 0
    functionLinenumber: 14366
    functionLinenumberEnd: 14381
    functionName: roaring::internal::run_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 29
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create_given_capacity(int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14388,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14391
      start: 14383
    functionDepth: 0
    functionLinenumber: 14383
    functionLinenumberEnd: 14391
    functionName: roaring::internal::run_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: int
    signature: int run_container_shrink_to_fit(run_container_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14395
      start: 14393
    functionDepth: 0
    functionLinenumber: 14393
    functionLinenumberEnd: 14395
    functionName: roaring::internal::run_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 40
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14398,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14404
      start: 14397
    functionDepth: 0
    functionLinenumber: 14397
    functionLinenumberEnd: 14404
    functionName: roaring::internal::run_container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_clone(const run_container_t *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14416,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14429,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14430,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14439,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14440,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - run_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14461
      start: 14406
    functionDepth: 0
    functionLinenumber: 14406
    functionLinenumberEnd: 14461
    functionName: roaring::internal::run_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void run_container_offset(const run_container_t *c,\n                          container_t
      **loc, container_t **hic,\n                          uint16_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14466,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14470
      start: 14464
    functionDepth: 0
    functionLinenumber: 14464
    functionLinenumberEnd: 14470
    functionName: roaring::internal::run_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 44
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void run_container_free(run_container_t *run)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14481,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14485,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14486,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14490,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14492,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14496,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - run
    - min
    - copy
    argTypes:
    - run_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (run->capacity >= min)
      pos:
        line_end: 14480
        line_start: 14480
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (run->runs != NULL)
      pos:
        line_end: 14497
        line_start: 14497
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 14499
      start: 14472
    functionDepth: 1
    functionLinenumber: 14472
    functionLinenumberEnd: 14499
    functionName: roaring::internal::run_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 41
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring_realloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void run_container_grow(run_container_t *run, int32_t min, bool copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14505,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14509
      start: 14502
    functionDepth: 0
    functionLinenumber: 14502
    functionLinenumberEnd: 14509
    functionName: roaring::internal::run_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 29
    functionsReached:
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void run_container_copy(const run_container_t *src, run_container_t
      *dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14518,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14519,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14522,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14526,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14532,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14539,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14542,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14555,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14558,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14562,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14565
      start: 14513
    functionDepth: 0
    functionLinenumber: 14513
    functionLinenumberEnd: 14565
    functionName: roaring::internal::run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_append
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union(const run_container_t *src_1,\n                         const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14574,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14575,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14581,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14589,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14590,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14600,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14603,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14615,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14618,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14625
      start: 14569
    functionDepth: 0
    functionLinenumber: 14569
    functionLinenumberEnd: 14625
    functionName: roaring::internal::run_container_union_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union_inplace(run_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14637,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14645,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14649,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14655,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14665
      start: 14630
    functionDepth: 0
    functionLinenumber: 14630
    functionLinenumberEnd: 14665
    functionName: roaring::internal::run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_xor(const run_container_t *src_1,\n                       const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14672,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14673,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14676,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14680,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14687,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14745
      start: 14669
    functionDepth: 0
    functionLinenumber: 14669
    functionLinenumberEnd: 14745
    functionName: roaring::internal::run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_container_intersection(const run_container_t *src_1,\n                                const
      run_container_t *src_2,\n                                run_container_t *dst)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14750,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14751,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14754,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14757,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14815
      start: 14748
    functionDepth: 0
    functionLinenumber: 14748
    functionLinenumberEnd: 14815
    functionName: roaring::internal::run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_container_intersection_cardinality(const run_container_t *src_1,\n
      \                                          const run_container_t *src_2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14819,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14820,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14823,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14826,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14853
      start: 14817
    functionDepth: 0
    functionLinenumber: 14817
    functionLinenumberEnd: 14853
    functionName: roaring::internal::run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_empty
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: "bool run_container_intersect(const run_container_t *src_1,\n                                const
      run_container_t *src_2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14863,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14877,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14893,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14907,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14910,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14915
      start: 14858
    functionDepth: 1
    functionLinenumber: 14858
    functionLinenumberEnd: 14915
    functionName: roaring::internal::run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - MAKE_RLE16
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_andnot(const run_container_t *src_1,\n                          const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14933
      start: 14917
    functionDepth: 0
    functionLinenumber: 14917
    functionLinenumberEnd: 14933
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cont
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14945
      start: 14939
    functionDepth: 1
    functionLinenumber: 14939
    functionLinenumberEnd: 14945
    functionName: roaring::internal::run_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void run_container_printf(const run_container_t *cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14957,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14958,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cont
    - base
    argTypes:
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14965
      start: 14951
    functionDepth: 1
    functionLinenumber: 14951
    functionLinenumberEnd: 14965
    functionName: roaring::internal::run_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void run_container_printf_as_uint32_array(const run_container_t *cont,\n
      \                                         uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14970,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14971,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14974
      start: 14968
    functionDepth: 0
    functionLinenumber: 14968
    functionLinenumberEnd: 14974
    functionName: roaring::internal::run_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_write(const run_container_t *container, char
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14980,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14983,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14985,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14989
      start: 14976
    functionDepth: 0
    functionLinenumber: 14976
    functionLinenumberEnd: 14989
    functionName: roaring::internal::run_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_read(int32_t cardinality, run_container_t *container,\n
      \                          const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:14998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15001
      start: 14991
    functionDepth: 0
    functionLinenumber: 14991
    functionLinenumberEnd: 15001
    functionName: roaring::internal::run_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate(const run_container_t *cont, uint32_t base,\n
      \                          roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15015
      start: 15003
    functionDepth: 0
    functionLinenumber: 15003
    functionLinenumberEnd: 15015
    functionName: roaring::internal::run_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate64(const run_container_t *cont, uint32_t
      base,\n                             roaring_iterator64 iterator, uint64_t high_bits,\n
      \                            void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15043
      start: 15017
    functionDepth: 0
    functionLinenumber: 15017
    functionLinenumberEnd: 15043
    functionName: roaring::internal::run_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset(const run_container_t *container1,\n
      \                            const run_container_t *container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15059,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15073,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15076,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15085,1
    - Dst: MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15088,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - src
    - start
    - length
    argTypes:
    - run_container_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15091
      start: 15050
    functionDepth: 1
    functionLinenumber: 15050
    functionLinenumberEnd: 15091
    functionName: roaring::internal::run_container_smart_append_exclusive
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached:
    - MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_smart_append_exclusive(run_container_t *src,\n
      \                                         const uint16_t start,\n                                          const
      uint16_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - run_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15106
      start: 15093
    functionDepth: 0
    functionLinenumber: 15093
    functionLinenumberEnd: 15106
    functionName: roaring::internal::run_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_select(const run_container_t *container,\n                          uint32_t
      *start_rank, uint32_t rank,\n                          uint32_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15123
      start: 15108
    functionDepth: 0
    functionLinenumber: 15108
    functionLinenumberEnd: 15123
    functionName: roaring::internal::run_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_rank(const run_container_t *container, uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15139,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15141,1
    - Dst: _mm256_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15142,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15143,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15156
      start: 15130
    functionDepth: 0
    functionLinenumber: 15130
    functionLinenumberEnd: 15156
    functionName: roaring::internal::_avx2_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - _mm256_srli_epi32
    - _mm256_storeu_si256
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - _mm256_add_epi32
    linkageType: ''
    returnType: int
    signature: int _avx2_run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15172
      start: 15158
    functionDepth: 0
    functionLinenumber: 15158
    functionLinenumberEnd: 15172
    functionName: roaring::internal::_scalar_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_REGION
    signature: CROARING_UNTARGET_REGION _scalar_run_container_cardinality(const run_container_t
      *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15175,1
    - Dst: roaring::internal::_avx2_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15176,1
    - Dst: roaring::internal::_scalar_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15180
      start: 15174
    functionDepth: 1
    functionLinenumber: 15174
    functionLinenumberEnd: 15180
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 60
    functionsReached:
    - roaring::internal::_scalar_run_container_cardinality
    - roaring::internal::_avx2_run_container_cardinality
    - croaring_avx2
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15195
      start: 15184
    functionDepth: 0
    functionLinenumber: 15184
    functionLinenumberEnd: 15195
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15215,1
    - Dst: __mingw_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15217,1
    - Dst: posix_memalign
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - alignment
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15224
      start: 15212
    functionDepth: 0
    functionLinenumber: 15212
    functionLinenumberEnd: 15224
    functionName: roaring_bitmap_aligned_malloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _aligned_malloc
    - posix_memalign
    - __mingw_aligned_malloc
    linkageType: ''
    returnType: void
    signature: void *roaring_bitmap_aligned_malloc(size_t alignment, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15228,1
    - Dst: __mingw_aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15230,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - memblock
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15234
      start: 15226
    functionDepth: 0
    functionLinenumber: 15226
    functionLinenumberEnd: 15234
    functionName: roaring_bitmap_aligned_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - _aligned_free
    - free
    - __mingw_aligned_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_aligned_free(void *memblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memory_hook
    argTypes:
    - roaring_memory_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15247
      start: 15245
    functionDepth: 0
    functionLinenumber: 15245
    functionLinenumberEnd: 15247
    functionName: roaring_init_memory_hook
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void roaring_init_memory_hook(roaring_memory_t memory_hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15251
      start: 15249
    functionDepth: 0
    functionLinenumber: 15249
    functionLinenumberEnd: 15251
    functionName: roaring_malloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 28
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void * roaring_malloc(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - new_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15255
      start: 15253
    functionDepth: 0
    functionLinenumber: 15253
    functionLinenumberEnd: 15255
    functionName: roaring_realloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 16
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void * roaring_realloc(void* p, size_t new_sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n_elements
    - element_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15259
      start: 15257
    functionDepth: 0
    functionLinenumber: 15257
    functionLinenumberEnd: 15259
    functionName: roaring_calloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void * roaring_calloc(size_t n_elements, size_t element_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15263
      start: 15261
    functionDepth: 0
    functionLinenumber: 15261
    functionLinenumberEnd: 15263
    functionName: roaring_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 52
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void roaring_free(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15267
      start: 15265
    functionDepth: 0
    functionLinenumber: 15265
    functionLinenumberEnd: 15267
    functionName: roaring_aligned_malloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - aligned_malloc
    linkageType: ''
    returnType: void
    signature: void * roaring_aligned_malloc(size_t alignment, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15271
      start: 15269
    functionDepth: 0
    functionLinenumber: 15269
    functionLinenumberEnd: 15271
    functionName: roaring_aligned_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - aligned_free
    linkageType: ''
    returnType: void
    signature: void roaring_aligned_free(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15297
      start: 15295
    functionDepth: 0
    functionLinenumber: 15295
    functionLinenumberEnd: 15297
    functionName: roaring::api::is_cow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cow(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15300
      start: 15298
    functionDepth: 0
    functionLinenumber: 15298
    functionLinenumberEnd: 15300
    functionName: roaring::api::is_frozen
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15314,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15316,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15317,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15319,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15322,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15323,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15330,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15331,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - r
    - val
    - type
    - index
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15338
      start: 15307
    functionDepth: 0
    functionLinenumber: 15307
    functionLinenumberEnd: 15338
    functionName: roaring::api::containerptr_roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *containerptr_roaring_bitmap_add(\n    roaring_bitmap_t
      *r, uint32_t val,\n    uint8_t *type, int *index\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15342,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15346,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cap
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15352
      start: 15340
    functionDepth: 0
    functionLinenumber: 15340
    functionLinenumberEnd: 15352
    functionName: roaring::api::roaring_bitmap_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_init_with_capacity
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create_with_capacity(uint32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - cap
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15356
      start: 15354
    functionDepth: 0
    functionLinenumber: 15354
    functionLinenumberEnd: 15356
    functionName: roaring::api::roaring_bitmap_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_init_with_capacity
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_init_with_capacity(roaring_bitmap_t *r, uint32_t
      cap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15365,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15375,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15379,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15386
      start: 15358
    functionDepth: 0
    functionLinenumber: 15358
    functionLinenumberEnd: 15386
    functionName: roaring::api::add_bulk_impl
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::containerptr_roaring_bitmap_add
    - container_add
    - ra_set_container_at_index
    - container_free
    linkageType: ''
    returnType: void
    signature: "void add_bulk_impl(roaring_bitmap_t *r,\n                                 roaring_bulk_context_t
      *context,\n                                 uint32_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15403,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15407,1
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15410
      start: 15388
    functionDepth: 0
    functionLinenumber: 15388
    functionLinenumberEnd: 15410
    functionName: roaring::api::roaring_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::add_bulk_impl
    - roaring::api::containerptr_roaring_bitmap_add
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_many(roaring_bitmap_t *r, size_t n_args,\n
      \                            const uint32_t *vals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15415
      start: 15412
    functionDepth: 0
    functionLinenumber: 15412
    functionLinenumberEnd: 15415
    functionName: roaring::api::roaring_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::add_bulk_impl
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_bulk(roaring_bitmap_t *r,\n                             roaring_bulk_context_t
      *context, uint32_t val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15427,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15428,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15432,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15435,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15443
      start: 15417
    functionDepth: 0
    functionLinenumber: 15417
    functionLinenumberEnd: 15443
    functionName: roaring::api::roaring_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - container_contains
    - ra_advance_until
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_bulk(const roaring_bitmap_t *r,\n                                  roaring_bulk_context_t
      *context,\n                                  uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15446,1
    - Dst: roaring::api::roaring_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15449
      start: 15445
    functionDepth: 0
    functionLinenumber: 15445
    functionLinenumberEnd: 15449
    functionName: roaring::api::roaring_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_many
    - roaring::api::roaring_bitmap_create
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of_ptr(size_t n_args, const uint32_t
      *vals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15454,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15458,1
    - Dst: va_start
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15459,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15461,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15462,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n_args
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15466
      start: 15451
    functionDepth: 0
    functionLinenumber: 15451
    functionLinenumberEnd: 15466
    functionName: roaring::api::roaring_bitmap_of
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - va_end
    - roaring::api::roaring_bitmap_add_bulk
    - va_arg
    - roaring::api::roaring_bitmap_create
    - memset
    - va_start
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of(size_t n_args, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15470
      start: 15468
    functionDepth: 0
    functionLinenumber: 15468
    functionLinenumberEnd: 15470
    functionName: roaring::api::minimum_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minimum_uint32(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15474
      start: 15472
    functionDepth: 0
    functionLinenumber: 15472
    functionLinenumberEnd: 15474
    functionName: roaring::api::minimum_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum_uint64(uint64_t a, uint64_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15478,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15479,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15483,1
    - Dst: roaring::api::roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15486,1
    - Dst: roaring::api::minimum_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15494,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15496,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15504
      start: 15476
    functionDepth: 0
    functionLinenumber: 15476
    functionLinenumberEnd: 15504
    functionName: roaring::api::roaring_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_append
    - roaring::api::roaring_bitmap_add
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - container_from_range
    - roaring::api::minimum_uint64
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                            uint32_t step)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15517,1
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15518,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15523,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15536,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15537,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15542,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15547,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15554
      start: 15506
    functionDepth: 0
    functionLinenumber: 15506
    functionLinenumberEnd: 15554
    functionName: roaring::api::roaring_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - container_add_range
    - count_greater
    - count_less
    - container_from_range
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add_range_closed(roaring_bitmap_t *r, uint32_t
      min, uint32_t max)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15566,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15571,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15574,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15579,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15583,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15592
      start: 15556
    functionDepth: 0
    functionLinenumber: 15556
    functionLinenumberEnd: 15592
    functionName: roaring::api::roaring_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - count_less
    - container_free
    - container_remove_range
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove_range_closed(roaring_bitmap_t *r, uint32_t
      min, uint32_t max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15601,1
    - Dst: container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15603,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15607,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15611
      start: 15598
    functionDepth: 1
    functionLinenumber: 15598
    functionLinenumberEnd: 15611
    functionName: roaring::api::roaring_bitmap_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15616,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15618,1
    - Dst: get_full_container_name
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15619,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15620,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15622,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15624,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15628,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15632
      start: 15613
    functionDepth: 1
    functionLinenumber: 15613
    functionLinenumberEnd: 15632
    functionName: roaring::api::roaring_bitmap_printf_describe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - container_get_cardinality
    - get_full_container_name
    - CAST_shared
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf_describe(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - param
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15647
      start: 15641
    functionDepth: 0
    functionLinenumber: 15641
    functionLinenumberEnd: 15647
    functionName: roaring::api::min_max_sum_fnc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool min_max_sum_fnc(uint32_t value, void *param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15657,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15659,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15661,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15662,1
    - Dst: roaring::api::roaring_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15664,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15671,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15673,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15675,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15693,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring_bitmap_t*
    - roaring_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15692
        line_start: 15692
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 15697
      start: 15653
    functionDepth: 1
    functionLinenumber: 15653
    functionLinenumberEnd: 15697
    functionName: roaring::api::roaring_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::api::roaring_bitmap_get_cardinality
    - container_get_cardinality
    - assert
    - roaring::api::roaring_iterate
    - container_size_in_bytes
    - memset
    - UINT32_C
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_statistics(const roaring_bitmap_t *r,\n                               roaring_statistics_t
      *stat)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15701,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15705,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15708,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15711,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15712,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15714,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15717,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15719
      start: 15699
    functionDepth: 0
    functionLinenumber: 15699
    functionLinenumberEnd: 15719
    functionName: roaring::api::roaring_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_free
    - roaring_free
    - roaring_malloc
    - ra_init_with_capacity
    - ra_overwrite
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_copy(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15723,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15723,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15724,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15726
      start: 15721
    functionDepth: 0
    functionLinenumber: 15721
    functionLinenumberEnd: 15726
    functionName: roaring::api::roaring_bitmap_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_overwrite
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_overwrite(roaring_bitmap_t *dest,\n                                     const
      roaring_bitmap_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_frozen
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15729,1
    - Dst: ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15730,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15733
      start: 15728
    functionDepth: 0
    functionLinenumber: 15728
    functionLinenumberEnd: 15733
    functionName: roaring::api::roaring_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::api::is_frozen
    - ra_clear
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_reset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15737
      start: 15735
    functionDepth: 0
    functionLinenumber: 15735
    functionLinenumberEnd: 15737
    functionName: roaring::api::roaring_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_reset
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_clear(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15743,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15746,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15748,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15751,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15753,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15754,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15758,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15759,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15765
      start: 15739
    functionDepth: 0
    functionLinenumber: 15739
    functionLinenumberEnd: 15765
    functionName: roaring::api::roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15769,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15773,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15775,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15778,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15782,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15784,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15785,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15790,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15795,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15796,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15805
      start: 15767
    functionDepth: 0
    functionLinenumber: 15767
    functionLinenumberEnd: 15805
    functionName: roaring::api::roaring_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_add_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15809,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15812,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15814,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15817,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15819,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15820,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15823,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15824,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15830
      start: 15807
    functionDepth: 0
    functionLinenumber: 15807
    functionLinenumberEnd: 15830
    functionName: roaring::api::roaring_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15834,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15838,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15840,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15843,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15847,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15849,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15850,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15855,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15858,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15867
      start: 15832
    functionDepth: 0
    functionLinenumber: 15832
    functionLinenumberEnd: 15867
    functionName: roaring::api::roaring_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15878,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15883,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15888,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15890,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15894,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15895,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15896,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15901
      start: 15869
    functionDepth: 0
    functionLinenumber: 15869
    functionLinenumberEnd: 15901
    functionName: roaring::api::roaring_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_index
    - container_remove
    - ra_remove_at_index
    - container_nonzero_cardinality
    - container_free
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_many(roaring_bitmap_t *r, size_t n_args,\n
      \                               const uint32_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15910,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15916,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15917,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15921,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15923,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15925,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15927,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15928,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15930,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15935,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15937,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15941
      start: 15904
    functionDepth: 0
    functionLinenumber: 15904
    functionLinenumberEnd: 15941
    functionName: roaring::api::roaring_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_and
    - ra_advance_until
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_and(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15949,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15952,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15955,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15957,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15961
      start: 15946
    functionDepth: 0
    functionLinenumber: 15946
    functionLinenumberEnd: 15961
    functionName: roaring::api::roaring_bitmap_or_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many(size_t number,\n                                         const
      roaring_bitmap_t **x)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15969,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15972,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15974,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15976,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15980
      start: 15966
    functionDepth: 0
    functionLinenumber: 15966
    functionLinenumberEnd: 15980
    functionName: roaring::api::roaring_bitmap_xor_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_lazy_xor_inplace
    - roaring::api::roaring_bitmap_lazy_xor
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor_many(size_t number,\n                                          const
      roaring_bitmap_t **x)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15987,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15988,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15993,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15994,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15998,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16000,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16010,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16011,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16015,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16017,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16018,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16023,1
    - Dst: ra_advance_until_freeing
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16028,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16030,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16037,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16043,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16044
      start: 15983
    functionDepth: 0
    functionLinenumber: 15983
    functionLinenumberEnd: 16044
    functionName: roaring::api::roaring_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_size
    - ra_get_key_at_index
    - ra_advance_until_freeing
    - ra_get_container_at_index
    - container_and
    - ra_advance_until
    - ra_downsize
    - container_nonzero_cardinality
    - container_free
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_and_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16052,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16055,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16058,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16062,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16063,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16066,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16068,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16070,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16075,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16080,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16081,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16084,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16088,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16089,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16092,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16095,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16098,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16101,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16101,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16102,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16103,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16106,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16109,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16113,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16115,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16117,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16119,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16122
      start: 16046
    functionDepth: 0
    functionLinenumber: 16046
    functionLinenumberEnd: 16122
    functionName: roaring::api::roaring_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_or
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16134,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16139,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16140,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16143,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16145,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16146,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16150,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16151,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16155,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16157,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16164,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16165,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16170,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16173,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16175,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16175,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16176,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16177,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16182,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16188,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16192,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16193,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16195
      start: 16125
    functionDepth: 0
    functionLinenumber: 16125
    functionLinenumberEnd: 16195
    functionName: roaring::api::roaring_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_ior
    - container_or
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_or_inplace(roaring_bitmap_t *x1,\n                               const
      roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16203,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16206,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16209,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16213,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16214,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16217,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16219,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16221,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16223,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16224,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16226,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16232,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16233,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16236,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16238,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16238,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16239,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16240,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16243,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16246,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16249,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16251,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16251,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16252,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16253,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16256,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16259,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16263,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16265,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16267,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16269,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16272
      start: 16197
    functionDepth: 0
    functionLinenumber: 16197
    functionLinenumberEnd: 16272
    functionName: roaring::api::roaring_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16278,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16286,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16295,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16296,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16301,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16312,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16313,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16313,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16316,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16319,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16320,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16324,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16325,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16332,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16333,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16338,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16341,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16343,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16343,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16344,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16345,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16349,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16355,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16359,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16360,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 16277
        line_start: 16277
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16362
      start: 16276
    functionDepth: 0
    functionLinenumber: 16276
    functionLinenumberEnd: 16362
    functionName: roaring::api::roaring_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_ixor
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_xor_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16370,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16375,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16377,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16385,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16386,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16389,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16391,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16393,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16396,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16397,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16399,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16407,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16408,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16410,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16416,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16421,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16423,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16426
      start: 16364
    functionDepth: 0
    functionLinenumber: 16364
    functionLinenumberEnd: 16426
    functionName: roaring::api::roaring_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - container_andnot
    - ra_advance_until
    - roaring::api::roaring_bitmap_create
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_andnot(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16432,1
    - Dst: roaring::api::roaring_bitmap_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16442,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16448,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16449,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16452,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16454,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16465,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16466,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16466,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16469,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16472,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16473,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16477,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16484,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16485,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16489,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16492,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16499,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16502,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16504,1
    - Dst: ra_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16517,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16523,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 16431
        line_start: 16431
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16524
      start: 16430
    functionDepth: 0
    functionLinenumber: 16430
    functionLinenumberEnd: 16524
    functionName: roaring::api::roaring_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_key_at_index
    - container_iandnot
    - ra_get_container_at_index
    - assert
    - CAST_shared
    - container_andnot
    - ra_advance_until
    - ra_copy_range
    - ra_downsize
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_clear
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_andnot_inplace(roaring_bitmap_t *x1,\n                                   const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16533
      start: 16526
    functionDepth: 0
    functionLinenumber: 16526
    functionLinenumberEnd: 16533
    functionName: roaring::api::roaring_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - container_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_get_cardinality(const roaring_bitmap_t *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16541,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16554,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16557,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16560,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16564,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16575,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16578,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16587
      start: 16535
    functionDepth: 0
    functionLinenumber: 16535
    functionLinenumberEnd: 16587
    functionName: roaring::api::roaring_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - ra_get_index
    - UINT64_C
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality(const roaring_bitmap_t *r,\n
      \                                         uint64_t range_start,\n                                          uint64_t
      range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16592
      start: 16590
    functionDepth: 0
    functionLinenumber: 16590
    functionLinenumberEnd: 16592
    functionName: roaring::api::roaring_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_is_empty(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16596
      start: 16594
    functionDepth: 0
    functionLinenumber: 16594
    functionLinenumberEnd: 16596
    functionName: roaring::api::roaring_bitmap_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_to_uint32_array(const roaring_bitmap_t *r, uint32_t
      *ans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_range_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - offset
    - limit
    - ans
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16602
      start: 16598
    functionDepth: 0
    functionLinenumber: 16598
    functionLinenumberEnd: 16602
    functionName: roaring::api::roaring_bitmap_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_range_uint32_array
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_range_uint32_array(const roaring_bitmap_t *r,\n
      \                                      size_t offset, size_t limit,\n                                       uint32_t
      *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16613,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16615,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16617,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16624
      start: 16609
    functionDepth: 0
    functionLinenumber: 16609
    functionLinenumberEnd: 16624
    functionName: roaring::api::roaring_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_container_at_index
    - convert_run_optimize
    - ra_set_container_at_index
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_run_optimize(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16630,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16632,1
    - Dst: ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16636
      start: 16626
    functionDepth: 0
    functionLinenumber: 16626
    functionLinenumberEnd: 16636
    functionName: roaring::api::roaring_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_shrink_to_fit
    - container_shrink_to_fit
    - ra_get_container_at_index
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_shrink_to_fit(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16646,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16648,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16651,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16651,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16652,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16653,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16655,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16655,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16656,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16660,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16660,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16661,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16662,1
    - Dst: run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16663,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16663,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16670
      start: 16642
    functionDepth: 0
    functionLinenumber: 16642
    functionLinenumberEnd: 16670
    functionName: roaring::api::roaring_bitmap_remove_run_compression
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - run_container_cardinality
    - ra_get_container_at_index
    - CAST_shared
    - ra_set_container_at_index
    - run_container_free
    - shared_container_free
    - convert_to_bitset_or_array_container
    - CAST_run
    - get_container_type
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_run_compression(roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16673,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16674,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16678,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16681,1
    - Dst: roaring::api::roaring_bitmap_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16686
      start: 16672
    functionDepth: 0
    functionLinenumber: 16672
    functionLinenumberEnd: 16686
    functionName: roaring::api::roaring_bitmap_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_to_uint32_array
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_serialize
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_serialize(const roaring_bitmap_t *r, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16689,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16693
      start: 16688
    functionDepth: 0
    functionLinenumber: 16688
    functionLinenumberEnd: 16693
    functionName: roaring::api::roaring_bitmap_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_size_in_bytes(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16697
      start: 16695
    functionDepth: 0
    functionLinenumber: 16695
    functionLinenumberEnd: 16697
    functionName: roaring::api::roaring_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_size_in_bytes(const roaring_bitmap_t
      *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16702,1
    - Dst: ra_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16707,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16708,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16709,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (bytesread <= maxbytes)
      pos:
        line_end: 16707
        line_start: 16707
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16715
      start: 16700
    functionDepth: 0
    functionLinenumber: 16700
    functionLinenumberEnd: 16715
    functionName: roaring::api::roaring_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring_free
    - roaring_malloc
    - ra_portable_deserialize
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize_safe(const char
      *buf, size_t maxbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16719
      start: 16717
    functionDepth: 0
    functionLinenumber: 16717
    functionLinenumberEnd: 16719
    functionName: roaring::api::roaring_bitmap_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16724
      start: 16722
    functionDepth: 0
    functionLinenumber: 16722
    functionLinenumberEnd: 16724
    functionName: roaring::api::roaring_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_portable_deserialize_size
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_deserialize_size(const char *buf, size_t
      maxbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16730
      start: 16727
    functionDepth: 0
    functionLinenumber: 16727
    functionLinenumberEnd: 16730
    functionName: roaring::api::roaring_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_portable_serialize
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring_bitmap_portable_serialize(const roaring_bitmap_t *r,\n
      \                                        char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16737,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16740,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16746,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16750,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16751,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16758
      start: 16732
    functionDepth: 0
    functionLinenumber: 16732
    functionLinenumberEnd: 16758
    functionName: roaring::api::roaring_bitmap_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize
    - roaring::api::roaring_bitmap_add_bulk
    - roaring::api::roaring_bitmap_create
    - memset
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_deserialize(const void *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16771
      start: 16760
    functionDepth: 0
    functionLinenumber: 16760
    functionLinenumberEnd: 16771
    functionName: roaring::api::roaring_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate(const roaring_bitmap_t *r, roaring_iterator iterator,\n
      \                    void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - r
    - iterator
    - high_bits
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16785
      start: 16773
    functionDepth: 0
    functionLinenumber: 16773
    functionLinenumberEnd: 16785
    functionName: roaring::api::roaring_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate64(const roaring_bitmap_t *r, roaring_iterator64
      iterator,\n                       uint64_t high_bits, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16819
      start: 16793
    functionDepth: 0
    functionLinenumber: 16793
    functionLinenumberEnd: 16819
    functionName: roaring::api::iter_new_container_partial_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_unwrap_shared
    linkageType: ''
    returnType: bool
    signature: bool iter_new_container_partial_init(roaring_uint32_iterator_t *newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16822,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16827,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16835,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16840,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16845,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 16850
        line_start: 16850
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16854
      start: 16821
    functionDepth: 1
    functionLinenumber: 16821
    functionLinenumberEnd: 16854
    functionName: roaring::api::loadfirstvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - assert
    - __builtin_ctzll
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadfirstvalue(roaring_uint32_iterator_t *newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16857,1
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16868,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 16887
        line_start: 16887
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16891
      start: 16856
    functionDepth: 1
    functionLinenumber: 16856
    functionLinenumberEnd: 16891
    functionName: roaring::api::loadlastvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_clzll
    - assert
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadlastvalue(roaring_uint32_iterator_t* newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16896,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16901,1
    - Dst: bitset_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16903,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16908,1
    - Dst: array_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16910,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16916,1
    - Dst: run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16917,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - newit
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16931
      start: 16894
    functionDepth: 1
    functionLinenumber: 16894
    functionLinenumberEnd: 16931
    functionName: roaring::api::loadfirstvalue_largeorequal
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - array_container_index_equalorlarger
    - bitset_container_index_equalorlarger
    - const_CAST_bitset
    - const_CAST_run
    - run_container_index_equalorlarger
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadfirstvalue_largeorequal(roaring_uint32_iterator_t *newit,
      uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16938
      start: 16933
    functionDepth: 0
    functionLinenumber: 16933
    functionLinenumberEnd: 16938
    functionName: roaring::api::roaring_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadfirstvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_init_iterator(const roaring_bitmap_t *r,\n                           roaring_uint32_iterator_t
      *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16945
      start: 16940
    functionDepth: 0
    functionLinenumber: 16940
    functionLinenumberEnd: 16945
    functionName: roaring::api::roaring_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_init_iterator_last(const roaring_bitmap_t *r,\n                                roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16949,1
    - Dst: roaring::api::roaring_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16953
      start: 16947
    functionDepth: 0
    functionLinenumber: 16947
    functionLinenumberEnd: 16953
    functionName: roaring::api::roaring_create_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_init_iterator
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: roaring_uint32_iterator_t *roaring_create_iterator(const roaring_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16958,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16961
      start: 16955
    functionDepth: 0
    functionLinenumber: 16955
    functionLinenumberEnd: 16961
    functionName: roaring::api::roaring_copy_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: "roaring_uint32_iterator_t *roaring_copy_uint32_iterator(\n    const
      roaring_uint32_iterator_t *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16965,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16967,1
    - Dst: roaring::api::loadfirstvalue_largeorequal
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16973,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16982
      start: 16963
    functionDepth: 0
    functionLinenumber: 16963
    functionLinenumberEnd: 16982
    functionName: roaring::api::roaring_move_uint32_iterator_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_maximum
    - ra_get_index
    - roaring::api::loadfirstvalue
    - roaring::api::loadfirstvalue_largeorequal
    linkageType: ''
    returnType: bool
    signature: bool roaring_move_uint32_iterator_equalorlarger(roaring_uint32_iterator_t
      *it, uint32_t val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16991,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16996,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17018,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17032,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17048,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17053,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17054
      start: 16985
    functionDepth: 1
    functionLinenumber: 16985
    functionLinenumberEnd: 17054
    functionName: roaring::api::roaring_advance_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::api::loadfirstvalue
    - const_CAST_bitset
    - const_CAST_run
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: bool roaring_advance_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17062,1
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17080,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17111,1
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17116,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 17110
        line_start: 17110
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17117
      start: 17056
    functionDepth: 1
    functionLinenumber: 17056
    functionLinenumberEnd: 17117
    functionName: roaring::api::roaring_previous_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_clzll
    - assert
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: bool
    signature: bool roaring_previous_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17131,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17136,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17148,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17153,1
    - Dst: roaring::api::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17154,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17167,1
    - Dst: roaring::api::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17171,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17190,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17193,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17197,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 17189
        line_start: 17189
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (ret == count)
      pos:
        line_end: 17192
        line_start: 17192
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17200
      start: 17119
    functionDepth: 1
    functionLinenumber: 17119
    functionLinenumberEnd: 17200
    functionName: roaring::api::roaring_read_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::api::loadfirstvalue
    - const_CAST_bitset
    - const_CAST_run
    - assert
    - roaring::api::minimum_uint32
    - __builtin_ctzll
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_read_uint32_iterator(roaring_uint32_iterator_t *it,
      uint32_t* buf, uint32_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17204
      start: 17204
    functionDepth: 0
    functionLinenumber: 17204
    functionLinenumberEnd: 17204
    functionName: roaring::api::roaring_free_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_free_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17233
      start: 17210
    functionDepth: 0
    functionLinenumber: 17210
    functionLinenumberEnd: 17233
    functionName: roaring::api::roaring_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_equals
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_equals(const roaring_bitmap_t *r1,\n                           const
      roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17246,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17247,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17251,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17252,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17253,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17267
      start: 17235
    functionDepth: 0
    functionLinenumber: 17235
    functionLinenumberEnd: 17267
    functionName: roaring::api::roaring_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_is_subset
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_subset(const roaring_bitmap_t *r1,\n                              const
      roaring_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17272,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17273,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17278,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17280,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17283,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17284,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17287,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17290,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ans_arr
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17295
      start: 17269
    functionDepth: 0
    functionLinenumber: 17269
    functionLinenumberEnd: 17295
    functionName: roaring::api::insert_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_not_range
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - container_get_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_flipped_container(roaring_array_t *ans_arr,\n                                     const
      roaring_array_t *x1_arr, uint16_t hb,\n                                     uint16_t
      lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17304,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17305,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17309,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17310,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17312,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17313,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17317,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17322
      start: 17297
    functionDepth: 0
    functionLinenumber: 17297
    functionLinenumberEnd: 17322
    functionName: roaring::api::inplace_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_inot_range
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void inplace_flip_container(roaring_array_t *x1_arr, uint16_t hb,\n
      \                                  uint16_t lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17327,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17328,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17333,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17335,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17336,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17337,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17340,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17343,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ans_arr
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17347
      start: 17324
    functionDepth: 0
    functionLinenumber: 17324
    functionLinenumberEnd: 17347
    functionName: roaring::api::insert_fully_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_not
    - container_range_of_ones
    - ra_get_container_at_index
    - container_get_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_fully_flipped_container(roaring_array_t *ans_arr,\n                                           const
      roaring_array_t *x1_arr,\n                                           uint16_t
      hb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17350,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17355,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17357,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17359,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17360,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17362,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17363,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17367,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17371
      start: 17349
    functionDepth: 0
    functionLinenumber: 17349
    functionLinenumberEnd: 17371
    functionName: roaring::api::inplace_fully_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_inot
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: void inplace_fully_flip_container(roaring_array_t *x1_arr, uint16_t
      hb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17377,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17379,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17380,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17383,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17384,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17384,1
    - Dst: ra_append_copies_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17391,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17392,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17394,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17401,1
    - Dst: roaring::api::insert_fully_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17410,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17416,1
    - Dst: ra_append_copies_after
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17422,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17425
      start: 17373
    functionDepth: 0
    functionLinenumber: 17373
    functionLinenumberEnd: 17425
    functionName: roaring::api::roaring_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::insert_flipped_container
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - ra_append_copies_until
    - roaring::api::roaring_bitmap_copy
    - roaring::api::insert_fully_flipped_container
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_append_copies_after
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip(const roaring_bitmap_t *x1,\n
      \                                     uint64_t range_start,\n                                      uint64_t
      range_end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17432,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17433,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17442,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17448,1
    - Dst: roaring::api::inplace_fully_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17456,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17465
      start: 17427
    functionDepth: 0
    functionLinenumber: 17427
    functionLinenumberEnd: 17465
    functionName: roaring::api::roaring_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    - roaring::api::inplace_fully_flip_container
    - roaring::api::inplace_flip_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace(roaring_bitmap_t *x1, uint64_t range_start,\n
      \                                uint64_t range_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17468,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17469,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17471,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17481,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17484,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17489,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - k
    - c
    - t
    argTypes:
    - roaring_array_t*
    - int
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17492
      start: 17467
    functionDepth: 0
    functionLinenumber: 17467
    functionLinenumberEnd: 17492
    functionName: roaring::api::offset_append_with_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_append
    - ra_set_container_at_index
    - container_ior
    - container_free
    linkageType: ''
    returnType: void
    signature: void offset_append_with_merge(roaring_array_t *ra, int k, container_t
      *c, uint8_t t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17510,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17516,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17517,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17517,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17525,1
    - Dst: ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17532,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17548,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17559,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17560,1
    - Dst: container_add_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17562,1
    - Dst: roaring::api::offset_append_with_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17564,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17567,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - bm
    - offset
    argTypes:
    - roaring_bitmap_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17572
      start: 17499
    functionDepth: 0
    functionLinenumber: 17499
    functionLinenumberEnd: 17572
    functionName: roaring::api::roaring_bitmap_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - roaring::api::offset_append_with_merge
    - roaring::api::roaring_bitmap_create
    - container_add_offset
    - roaring::api::roaring_bitmap_copy
    - container_unwrap_shared
    - ra_append_copy
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_add_offset(const roaring_bitmap_t
      *bm,\n                                            int64_t offset)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17581,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17584,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17587,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17591,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17592,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17595,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17597,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17601,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17602,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17605,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17606,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17608,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17611,1
    - Dst: container_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17614,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17620,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17625,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17626,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17629,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17631,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17631,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17632,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17633,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17636,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17639,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17642,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17644,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17644,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17645,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17646,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17649,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17652,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17656,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17658,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17660,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17662,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17665
      start: 17574
    functionDepth: 0
    functionLinenumber: 17574
    functionLinenumberEnd: 17665
    functionName: roaring::api::roaring_bitmap_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_ior
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    - container_mutable_unwrap_shared
    - container_lazy_or
    - get_container_type
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_or(const roaring_bitmap_t *x1,\n
      \                                        const roaring_bitmap_t *x2,\n                                         const
      bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17677,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17682,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17683,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17686,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17688,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17690,1
    - Dst: get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17692,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17697,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17698,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17699,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17703,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17705,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17710,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17713,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17720,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17721,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17726,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17729,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17732,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17732,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17733,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17734,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17737,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17743,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17747,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17748,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17750
      start: 17667
    functionDepth: 0
    functionLinenumber: 17667
    functionLinenumberEnd: 17750
    functionName: roaring::api::roaring_bitmap_lazy_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - get_writable_copy_if_shared
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_lazy_ior
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    - container_mutable_unwrap_shared
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_or_inplace(roaring_bitmap_t *x1,\n                                    const
      roaring_bitmap_t *x2,\n                                    const bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17758,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17761,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17764,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17768,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17769,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17772,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17774,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17776,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17779,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17780,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17782,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17789,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17790,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17793,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17795,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17795,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17796,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17797,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17800,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17803,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17806,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17808,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17808,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17809,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17810,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17813,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17816,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17820,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17822,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17824,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17826,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17829
      start: 17752
    functionDepth: 0
    functionLinenumber: 17752
    functionLinenumberEnd: 17829
    functionName: roaring::api::roaring_bitmap_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_xor
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_xor(const roaring_bitmap_t *x1,\n
      \                                         const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17833,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17841,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17846,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17847,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17850,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17852,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17863,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17864,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17864,1
    - Dst: container_lazy_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17867,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17870,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17871,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17875,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17876,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17882,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17883,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17888,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17891,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17894,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17894,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17895,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17896,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17899,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17905,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17909,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17910,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 17832
        line_start: 17832
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17912
      start: 17831
    functionDepth: 0
    functionLinenumber: 17831
    functionLinenumberEnd: 17912
    functionName: roaring::api::roaring_bitmap_lazy_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - container_lazy_ixor
    - roaring::api::is_cow
    - ra_set_container_at_index
    - ra_append_copy_range
    - container_lazy_xor
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_xor_inplace(roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17925
      start: 17914
    functionDepth: 0
    functionLinenumber: 17914
    functionLinenumberEnd: 17925
    functionName: roaring::api::roaring_bitmap_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - container_repair_after_lazy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_repair_after_lazy(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17940,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17951
      start: 17933
    functionDepth: 0
    functionLinenumber: 17933
    functionLinenumberEnd: 17951
    functionName: roaring::api::roaring_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_rank(const roaring_bitmap_t *bm, uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17966
      start: 17957
    functionDepth: 0
    functionLinenumber: 17957
    functionLinenumberEnd: 17966
    functionName: roaring::api::roaring_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_minimum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_minimum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17984
      start: 17972
    functionDepth: 0
    functionLinenumber: 17972
    functionLinenumberEnd: 17984
    functionName: roaring::api::roaring_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_maximum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_maximum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bm
    - rank
    - element
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18008
      start: 17986
    functionDepth: 0
    functionLinenumber: 17986
    functionLinenumberEnd: 18008
    functionName: roaring::api::roaring_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_select
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_select(const roaring_bitmap_t *bm, uint32_t rank,\n
      \                          uint32_t *element)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18018,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18019,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18023,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18025,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18027,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18032,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18038
      start: 18010
    functionDepth: 0
    functionLinenumber: 18010
    functionLinenumberEnd: 18038
    functionName: roaring::api::roaring_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_intersect
    - ra_get_key_at_index
    - ra_advance_until
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect(const roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18047,1
    - Dst: roaring::api::roaring_move_uint32_iterator_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - bm
    - x
    - y
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18057
      start: 18040
    functionDepth: 0
    functionLinenumber: 18040
    functionLinenumberEnd: 18057
    functionName: roaring::api::roaring_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_init_iterator
    - roaring::api::roaring_move_uint32_iterator_equalorlarger
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect_with_range(const roaring_bitmap_t *bm,\n
      \                                        uint64_t x, uint64_t y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18068,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18069,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18073,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18075,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18077,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18081,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18087
      start: 18060
    functionDepth: 0
    functionLinenumber: 18060
    functionLinenumberEnd: 18087
    functionName: roaring::api::roaring_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_and_cardinality
    - ra_get_container_at_index
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_and_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18091,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18092,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18095
      start: 18089
    functionDepth: 0
    functionLinenumber: 18089
    functionLinenumberEnd: 18095
    functionName: roaring::api::roaring_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring_bitmap_jaccard_index(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18099,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18100,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18103
      start: 18097
    functionDepth: 0
    functionLinenumber: 18097
    functionLinenumberEnd: 18103
    functionName: roaring::api::roaring_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_or_cardinality(const roaring_bitmap_t *x1,\n
      \                                      const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18107,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18110
      start: 18105
    functionDepth: 0
    functionLinenumber: 18105
    functionLinenumberEnd: 18110
    functionName: roaring::api::roaring_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_andnot_cardinality(const roaring_bitmap_t
      *x1,\n                                           const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18114,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18115,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18118
      start: 18112
    functionDepth: 0
    functionLinenumber: 18112
    functionLinenumberEnd: 18118
    functionName: roaring::api::roaring_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_xor_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18126,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18132,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18135
      start: 18121
    functionDepth: 0
    functionLinenumber: 18121
    functionLinenumberEnd: 18135
    functionName: roaring::api::roaring_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_contains
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains(const roaring_bitmap_t *r, uint32_t val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18142,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18143,1
    - Dst: roaring::api::roaring_bitmap_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18146,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18150,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18154,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18155,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18163,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18166,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18168,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18171,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18172,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18176,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18177,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18182
      start: 18141
    functionDepth: 0
    functionLinenumber: 18141
    functionLinenumberEnd: 18182
    functionName: roaring::api::roaring_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - container_is_full
    - ra_get_index
    - ra_get_container_at_index
    - UINT64_C
    - roaring::api::roaring_bitmap_contains
    - container_contains_range
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains_range(const roaring_bitmap_t *r, uint64_t
      range_start, uint64_t range_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18187,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18188,1
    - Dst: roaring::api::roaring_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18190
      start: 18185
    functionDepth: 0
    functionLinenumber: 18185
    functionLinenumberEnd: 18190
    functionName: roaring::api::roaring_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_strict_subset(const roaring_bitmap_t *r1,\n
      \                                    const roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18232,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18238,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - rb
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18249
      start: 18222
    functionDepth: 1
    functionLinenumber: 18222
    functionLinenumberEnd: 18249
    functionName: roaring::api::roaring_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_run
    - __builtin_unreachable
    - const_CAST_array
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_frozen_size_in_bytes(const roaring_bitmap_t *rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena
    - num_bytes
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18255
      start: 18251
    functionDepth: 0
    functionLinenumber: 18251
    functionLinenumberEnd: 18255
    functionName: roaring::api::arena_alloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *arena_alloc(char **arena, size_t num_bytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18276,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18282,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18287,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18291,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18292,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18293,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18294,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18295,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18296,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18297,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18304,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18305,1
    - Dst: bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18311,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18316,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18318,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18325,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18327,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18333,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18335,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18337,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18338,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18340,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - rb
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18341
      start: 18257
    functionDepth: 1
    functionLinenumber: 18257
    functionLinenumberEnd: 18341
    functionName: roaring::api::roaring_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - bitset_container_compute_cardinality
    - const_CAST_run
    - roaring::api::arena_alloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_frozen_serialize(const roaring_bitmap_t *rb, char
      *buf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18354,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18387,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18408,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18414,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18421,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18428,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18435,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18437,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18444,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18454,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18455,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18456,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18459,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18463,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: "(rb ==\n           (roaring_bitmap_t *)((char *)rb->high_low_container.containers
        -\n                                sizeof(roaring_bitmap_t)))"
      pos:
        line_end: 18429
        line_start: 18427
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18469
      start: 18343
    functionDepth: 0
    functionLinenumber: 18343
    functionLinenumberEnd: 18469
    functionName: roaring::api::roaring_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring::api::arena_alloc
    - memcpy
    - UINT32_C
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: 'roaring_bitmap_t *

      roaring_bitmap_frozen_view(const char *buf, size_t length)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18482,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18485,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18514,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18544,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18550,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18555,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18558,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18559,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18566,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18581,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18592,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18596,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18600,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18609,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18623
      start: 18471
    functionDepth: 0
    functionLinenumber: 18471
    functionLinenumberEnd: 18623
    functionName: roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::arena_alloc
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15297
      start: 15295
    functionDepth: 0
    functionLinenumber: 15295
    functionLinenumberEnd: 15297
    functionName: roaring::api::is_cow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cow(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15300
      start: 15298
    functionDepth: 0
    functionLinenumber: 15298
    functionLinenumberEnd: 15300
    functionName: roaring::api::is_frozen
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15314,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15316,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15317,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15319,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15322,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15323,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15330,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15331,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - r
    - val
    - type
    - index
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15338
      start: 15307
    functionDepth: 0
    functionLinenumber: 15307
    functionLinenumberEnd: 15338
    functionName: roaring::api::containerptr_roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *containerptr_roaring_bitmap_add(\n    roaring_bitmap_t
      *r, uint32_t val,\n    uint8_t *type, int *index\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15342,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15346,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cap
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15352
      start: 15340
    functionDepth: 0
    functionLinenumber: 15340
    functionLinenumberEnd: 15352
    functionName: roaring::api::roaring_bitmap_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - ra_init_with_capacity
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create_with_capacity(uint32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - cap
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15356
      start: 15354
    functionDepth: 0
    functionLinenumber: 15354
    functionLinenumberEnd: 15356
    functionName: roaring::api::roaring_bitmap_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_init_with_capacity
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_init_with_capacity(roaring_bitmap_t *r, uint32_t
      cap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15365,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15375,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15379,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15386
      start: 15358
    functionDepth: 0
    functionLinenumber: 15358
    functionLinenumberEnd: 15386
    functionName: roaring::api::add_bulk_impl
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::api::containerptr_roaring_bitmap_add
    - container_add
    - ra_set_container_at_index
    - container_free
    linkageType: ''
    returnType: void
    signature: "void add_bulk_impl(roaring_bitmap_t *r,\n                                 roaring_bulk_context_t
      *context,\n                                 uint32_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15403,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15407,1
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15410
      start: 15388
    functionDepth: 0
    functionLinenumber: 15388
    functionLinenumberEnd: 15410
    functionName: roaring::api::roaring_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::api::add_bulk_impl
    - roaring::api::containerptr_roaring_bitmap_add
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_many(roaring_bitmap_t *r, size_t n_args,\n
      \                            const uint32_t *vals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15415
      start: 15412
    functionDepth: 0
    functionLinenumber: 15412
    functionLinenumberEnd: 15415
    functionName: roaring::api::roaring_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::api::add_bulk_impl
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_bulk(roaring_bitmap_t *r,\n                             roaring_bulk_context_t
      *context, uint32_t val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15427,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15428,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15432,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15435,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15443
      start: 15417
    functionDepth: 0
    functionLinenumber: 15417
    functionLinenumberEnd: 15443
    functionName: roaring::api::roaring_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - container_contains
    - ra_advance_until
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_bulk(const roaring_bitmap_t *r,\n                                  roaring_bulk_context_t
      *context,\n                                  uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15446,1
    - Dst: roaring::api::roaring_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15449
      start: 15445
    functionDepth: 0
    functionLinenumber: 15445
    functionLinenumberEnd: 15449
    functionName: roaring::api::roaring_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_many
    - roaring::api::roaring_bitmap_create
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of_ptr(size_t n_args, const uint32_t
      *vals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15454,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15458,1
    - Dst: va_start
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15459,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15461,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15462,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n_args
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15466
      start: 15451
    functionDepth: 0
    functionLinenumber: 15451
    functionLinenumberEnd: 15466
    functionName: roaring::api::roaring_bitmap_of
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - va_end
    - roaring::api::roaring_bitmap_add_bulk
    - va_arg
    - roaring::api::roaring_bitmap_create
    - memset
    - va_start
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of(size_t n_args, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15470
      start: 15468
    functionDepth: 0
    functionLinenumber: 15468
    functionLinenumberEnd: 15470
    functionName: roaring::api::minimum_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minimum_uint32(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15474
      start: 15472
    functionDepth: 0
    functionLinenumber: 15472
    functionLinenumberEnd: 15474
    functionName: roaring::api::minimum_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum_uint64(uint64_t a, uint64_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15478,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15479,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15483,1
    - Dst: roaring::api::roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15486,1
    - Dst: roaring::api::minimum_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15494,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15496,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15504
      start: 15476
    functionDepth: 0
    functionLinenumber: 15476
    functionLinenumberEnd: 15504
    functionName: roaring::api::roaring_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_append
    - roaring::api::roaring_bitmap_add
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - container_from_range
    - roaring::api::minimum_uint64
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                            uint32_t step)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15517,1
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15518,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15523,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15536,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15537,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15542,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15547,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15554
      start: 15506
    functionDepth: 0
    functionLinenumber: 15506
    functionLinenumberEnd: 15554
    functionName: roaring::api::roaring_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - container_add_range
    - count_greater
    - count_less
    - container_from_range
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add_range_closed(roaring_bitmap_t *r, uint32_t
      min, uint32_t max)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15566,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15571,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15574,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15579,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15583,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15592
      start: 15556
    functionDepth: 0
    functionLinenumber: 15556
    functionLinenumberEnd: 15592
    functionName: roaring::api::roaring_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - count_less
    - container_free
    - container_remove_range
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove_range_closed(roaring_bitmap_t *r, uint32_t
      min, uint32_t max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15601,1
    - Dst: container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15603,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15607,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15611
      start: 15598
    functionDepth: 1
    functionLinenumber: 15598
    functionLinenumberEnd: 15611
    functionName: roaring::api::roaring_bitmap_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15616,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15618,1
    - Dst: get_full_container_name
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15619,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15620,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15622,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15624,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15628,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15632
      start: 15613
    functionDepth: 1
    functionLinenumber: 15613
    functionLinenumberEnd: 15632
    functionName: roaring::api::roaring_bitmap_printf_describe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - container_get_cardinality
    - get_full_container_name
    - CAST_shared
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf_describe(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - param
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15647
      start: 15641
    functionDepth: 0
    functionLinenumber: 15641
    functionLinenumberEnd: 15647
    functionName: roaring::api::min_max_sum_fnc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool min_max_sum_fnc(uint32_t value, void *param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15657,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15659,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15661,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15662,1
    - Dst: roaring::api::roaring_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15664,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15671,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15673,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15675,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15693,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring_bitmap_t*
    - roaring_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15692
        line_start: 15692
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 15697
      start: 15653
    functionDepth: 1
    functionLinenumber: 15653
    functionLinenumberEnd: 15697
    functionName: roaring::api::roaring_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::api::roaring_bitmap_get_cardinality
    - container_get_cardinality
    - assert
    - roaring::api::roaring_iterate
    - container_size_in_bytes
    - memset
    - UINT32_C
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_statistics(const roaring_bitmap_t *r,\n                               roaring_statistics_t
      *stat)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15701,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15705,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15708,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15711,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15712,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15714,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15717,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15719
      start: 15699
    functionDepth: 0
    functionLinenumber: 15699
    functionLinenumberEnd: 15719
    functionName: roaring::api::roaring_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 9
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_free
    - roaring_free
    - roaring_malloc
    - ra_init_with_capacity
    - ra_overwrite
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_copy(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15723,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15723,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15724,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15726
      start: 15721
    functionDepth: 0
    functionLinenumber: 15721
    functionLinenumberEnd: 15726
    functionName: roaring::api::roaring_bitmap_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_overwrite
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_overwrite(roaring_bitmap_t *dest,\n                                     const
      roaring_bitmap_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_frozen
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15729,1
    - Dst: ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15730,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15733
      start: 15728
    functionDepth: 0
    functionLinenumber: 15728
    functionLinenumberEnd: 15733
    functionName: roaring::api::roaring_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::api::is_frozen
    - ra_clear
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_reset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15737
      start: 15735
    functionDepth: 0
    functionLinenumber: 15735
    functionLinenumberEnd: 15737
    functionName: roaring::api::roaring_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_reset
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_clear(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15743,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15746,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15748,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15751,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15753,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15754,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15758,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15759,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15765
      start: 15739
    functionDepth: 0
    functionLinenumber: 15739
    functionLinenumberEnd: 15765
    functionName: roaring::api::roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15769,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15773,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15775,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15778,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15782,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15784,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15785,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15790,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15795,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15796,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15805
      start: 15767
    functionDepth: 0
    functionLinenumber: 15767
    functionLinenumberEnd: 15805
    functionName: roaring::api::roaring_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_add_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15809,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15812,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15814,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15817,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15819,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15820,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15823,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15824,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15830
      start: 15807
    functionDepth: 0
    functionLinenumber: 15807
    functionLinenumberEnd: 15830
    functionName: roaring::api::roaring_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15834,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15838,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15840,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15843,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15847,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15849,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15850,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15855,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15858,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15867
      start: 15832
    functionDepth: 0
    functionLinenumber: 15832
    functionLinenumberEnd: 15867
    functionName: roaring::api::roaring_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15878,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15883,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15888,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15890,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15894,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15895,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15896,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15901
      start: 15869
    functionDepth: 0
    functionLinenumber: 15869
    functionLinenumberEnd: 15901
    functionName: roaring::api::roaring_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_index
    - container_remove
    - ra_remove_at_index
    - container_nonzero_cardinality
    - container_free
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_many(roaring_bitmap_t *r, size_t n_args,\n
      \                               const uint32_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15910,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15916,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15917,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15921,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15923,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15925,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15927,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15928,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15930,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15935,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15937,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15941
      start: 15904
    functionDepth: 0
    functionLinenumber: 15904
    functionLinenumberEnd: 15941
    functionName: roaring::api::roaring_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_and
    - ra_advance_until
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_and(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15949,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15952,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15955,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15957,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15961
      start: 15946
    functionDepth: 0
    functionLinenumber: 15946
    functionLinenumberEnd: 15961
    functionName: roaring::api::roaring_bitmap_or_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many(size_t number,\n                                         const
      roaring_bitmap_t **x)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15969,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15972,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15974,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15976,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15980
      start: 15966
    functionDepth: 0
    functionLinenumber: 15966
    functionLinenumberEnd: 15980
    functionName: roaring::api::roaring_bitmap_xor_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_lazy_xor_inplace
    - roaring::api::roaring_bitmap_lazy_xor
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor_many(size_t number,\n                                          const
      roaring_bitmap_t **x)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15987,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15988,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15993,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15994,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15998,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16000,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16010,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16011,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16015,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16017,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16018,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16023,1
    - Dst: ra_advance_until_freeing
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16028,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16030,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16037,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16043,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16044
      start: 15983
    functionDepth: 0
    functionLinenumber: 15983
    functionLinenumberEnd: 16044
    functionName: roaring::api::roaring_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_size
    - ra_get_key_at_index
    - ra_advance_until_freeing
    - ra_get_container_at_index
    - container_and
    - ra_advance_until
    - ra_downsize
    - container_nonzero_cardinality
    - container_free
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_and_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16052,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16055,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16058,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16062,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16063,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16066,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16068,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16070,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16075,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16080,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16081,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16084,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16088,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16089,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16092,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16095,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16098,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16101,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16101,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16102,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16103,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16106,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16109,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16113,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16115,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16117,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16119,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16122
      start: 16046
    functionDepth: 0
    functionLinenumber: 16046
    functionLinenumberEnd: 16122
    functionName: roaring::api::roaring_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_or
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16134,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16139,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16140,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16143,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16145,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16146,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16150,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16151,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16155,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16157,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16164,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16165,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16170,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16173,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16175,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16175,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16176,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16177,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16182,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16188,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16192,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16193,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16195
      start: 16125
    functionDepth: 0
    functionLinenumber: 16125
    functionLinenumberEnd: 16195
    functionName: roaring::api::roaring_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_ior
    - container_or
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_or_inplace(roaring_bitmap_t *x1,\n                               const
      roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16203,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16206,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16209,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16213,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16214,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16217,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16219,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16221,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16223,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16224,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16226,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16232,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16233,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16236,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16238,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16238,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16239,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16240,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16243,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16246,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16249,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16251,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16251,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16252,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16253,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16256,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16259,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16263,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16265,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16267,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16269,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16272
      start: 16197
    functionDepth: 0
    functionLinenumber: 16197
    functionLinenumberEnd: 16272
    functionName: roaring::api::roaring_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16278,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16286,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16295,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16296,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16301,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16312,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16313,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16313,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16316,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16319,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16320,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16324,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16325,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16332,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16333,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16338,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16341,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16343,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16343,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16344,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16345,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16349,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16355,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16359,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16360,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 16277
        line_start: 16277
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16362
      start: 16276
    functionDepth: 0
    functionLinenumber: 16276
    functionLinenumberEnd: 16362
    functionName: roaring::api::roaring_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_ixor
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_xor_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16370,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16375,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16377,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16385,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16386,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16389,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16391,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16393,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16396,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16397,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16399,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16407,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16408,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16410,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16416,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16421,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16423,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16426
      start: 16364
    functionDepth: 0
    functionLinenumber: 16364
    functionLinenumberEnd: 16426
    functionName: roaring::api::roaring_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - container_andnot
    - ra_advance_until
    - roaring::api::roaring_bitmap_create
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_andnot(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16432,1
    - Dst: roaring::api::roaring_bitmap_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16442,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16448,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16449,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16452,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16454,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16465,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16466,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16466,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16469,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16472,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16473,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16477,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16484,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16485,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16489,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16492,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16499,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16502,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16504,1
    - Dst: ra_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16517,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16523,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 16431
        line_start: 16431
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16524
      start: 16430
    functionDepth: 0
    functionLinenumber: 16430
    functionLinenumberEnd: 16524
    functionName: roaring::api::roaring_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_key_at_index
    - container_iandnot
    - ra_get_container_at_index
    - assert
    - CAST_shared
    - container_andnot
    - ra_advance_until
    - ra_copy_range
    - ra_downsize
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_clear
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_andnot_inplace(roaring_bitmap_t *x1,\n                                   const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16533
      start: 16526
    functionDepth: 0
    functionLinenumber: 16526
    functionLinenumberEnd: 16533
    functionName: roaring::api::roaring_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 9
    functionsReached:
    - container_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_get_cardinality(const roaring_bitmap_t *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16541,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16554,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16557,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16560,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16564,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16575,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16578,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16587
      start: 16535
    functionDepth: 0
    functionLinenumber: 16535
    functionLinenumberEnd: 16587
    functionName: roaring::api::roaring_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - ra_get_index
    - UINT64_C
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality(const roaring_bitmap_t *r,\n
      \                                         uint64_t range_start,\n                                          uint64_t
      range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16592
      start: 16590
    functionDepth: 0
    functionLinenumber: 16590
    functionLinenumberEnd: 16592
    functionName: roaring::api::roaring_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_is_empty(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16596
      start: 16594
    functionDepth: 0
    functionLinenumber: 16594
    functionLinenumberEnd: 16596
    functionName: roaring::api::roaring_bitmap_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_to_uint32_array(const roaring_bitmap_t *r, uint32_t
      *ans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_range_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - offset
    - limit
    - ans
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16602
      start: 16598
    functionDepth: 0
    functionLinenumber: 16598
    functionLinenumberEnd: 16602
    functionName: roaring::api::roaring_bitmap_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_range_uint32_array
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_range_uint32_array(const roaring_bitmap_t *r,\n
      \                                      size_t offset, size_t limit,\n                                       uint32_t
      *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16613,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16615,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16617,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16624
      start: 16609
    functionDepth: 0
    functionLinenumber: 16609
    functionLinenumberEnd: 16624
    functionName: roaring::api::roaring_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_container_at_index
    - convert_run_optimize
    - ra_set_container_at_index
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_run_optimize(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16630,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16632,1
    - Dst: ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16636
      start: 16626
    functionDepth: 0
    functionLinenumber: 16626
    functionLinenumberEnd: 16636
    functionName: roaring::api::roaring_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_shrink_to_fit
    - container_shrink_to_fit
    - ra_get_container_at_index
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_shrink_to_fit(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16646,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16648,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16651,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16651,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16652,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16653,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16655,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16655,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16656,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16660,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16660,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16661,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16662,1
    - Dst: run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16663,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16663,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16670
      start: 16642
    functionDepth: 0
    functionLinenumber: 16642
    functionLinenumberEnd: 16670
    functionName: roaring::api::roaring_bitmap_remove_run_compression
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - run_container_cardinality
    - ra_get_container_at_index
    - CAST_shared
    - ra_set_container_at_index
    - run_container_free
    - shared_container_free
    - convert_to_bitset_or_array_container
    - CAST_run
    - get_container_type
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_run_compression(roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16673,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16674,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16678,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16681,1
    - Dst: roaring::api::roaring_bitmap_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16686
      start: 16672
    functionDepth: 0
    functionLinenumber: 16672
    functionLinenumberEnd: 16686
    functionName: roaring::api::roaring_bitmap_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_to_uint32_array
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_serialize
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_serialize(const roaring_bitmap_t *r, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16689,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16693
      start: 16688
    functionDepth: 0
    functionLinenumber: 16688
    functionLinenumberEnd: 16693
    functionName: roaring::api::roaring_bitmap_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_size_in_bytes(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16697
      start: 16695
    functionDepth: 0
    functionLinenumber: 16695
    functionLinenumberEnd: 16697
    functionName: roaring::api::roaring_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - ra_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_size_in_bytes(const roaring_bitmap_t
      *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16702,1
    - Dst: ra_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16707,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16708,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16709,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (bytesread <= maxbytes)
      pos:
        line_end: 16707
        line_start: 16707
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16715
      start: 16700
    functionDepth: 0
    functionLinenumber: 16700
    functionLinenumberEnd: 16715
    functionName: roaring::api::roaring_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - assert
    - roaring_free
    - roaring_malloc
    - ra_portable_deserialize
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize_safe(const char
      *buf, size_t maxbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16719
      start: 16717
    functionDepth: 0
    functionLinenumber: 16717
    functionLinenumberEnd: 16719
    functionName: roaring::api::roaring_bitmap_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16724
      start: 16722
    functionDepth: 0
    functionLinenumber: 16722
    functionLinenumberEnd: 16724
    functionName: roaring::api::roaring_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_portable_deserialize_size
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_deserialize_size(const char *buf, size_t
      maxbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16730
      start: 16727
    functionDepth: 0
    functionLinenumber: 16727
    functionLinenumberEnd: 16730
    functionName: roaring::api::roaring_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_portable_serialize
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring_bitmap_portable_serialize(const roaring_bitmap_t *r,\n
      \                                        char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16737,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16740,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16746,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16750,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16751,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16758
      start: 16732
    functionDepth: 0
    functionLinenumber: 16732
    functionLinenumberEnd: 16758
    functionName: roaring::api::roaring_bitmap_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize
    - roaring::api::roaring_bitmap_add_bulk
    - roaring::api::roaring_bitmap_create
    - memset
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_deserialize(const void *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16771
      start: 16760
    functionDepth: 0
    functionLinenumber: 16760
    functionLinenumberEnd: 16771
    functionName: roaring::api::roaring_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate(const roaring_bitmap_t *r, roaring_iterator iterator,\n
      \                    void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - r
    - iterator
    - high_bits
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16785
      start: 16773
    functionDepth: 0
    functionLinenumber: 16773
    functionLinenumberEnd: 16785
    functionName: roaring::api::roaring_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate64(const roaring_bitmap_t *r, roaring_iterator64
      iterator,\n                       uint64_t high_bits, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16819
      start: 16793
    functionDepth: 0
    functionLinenumber: 16793
    functionLinenumberEnd: 16819
    functionName: roaring::api::iter_new_container_partial_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - container_unwrap_shared
    linkageType: ''
    returnType: bool
    signature: bool iter_new_container_partial_init(roaring_uint32_iterator_t *newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16822,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16827,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16835,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16840,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16845,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 16850
        line_start: 16850
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16854
      start: 16821
    functionDepth: 1
    functionLinenumber: 16821
    functionLinenumberEnd: 16854
    functionName: roaring::api::loadfirstvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - assert
    - __builtin_ctzll
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadfirstvalue(roaring_uint32_iterator_t *newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16857,1
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16868,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 16887
        line_start: 16887
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16891
      start: 16856
    functionDepth: 1
    functionLinenumber: 16856
    functionLinenumberEnd: 16891
    functionName: roaring::api::loadlastvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - __builtin_clzll
    - assert
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadlastvalue(roaring_uint32_iterator_t* newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16896,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16901,1
    - Dst: bitset_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16903,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16908,1
    - Dst: array_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16910,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16916,1
    - Dst: run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16917,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - newit
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16931
      start: 16894
    functionDepth: 1
    functionLinenumber: 16894
    functionLinenumberEnd: 16931
    functionName: roaring::api::loadfirstvalue_largeorequal
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - array_container_index_equalorlarger
    - bitset_container_index_equalorlarger
    - const_CAST_bitset
    - const_CAST_run
    - run_container_index_equalorlarger
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadfirstvalue_largeorequal(roaring_uint32_iterator_t *newit,
      uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16938
      start: 16933
    functionDepth: 0
    functionLinenumber: 16933
    functionLinenumberEnd: 16938
    functionName: roaring::api::roaring_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::api::loadfirstvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_init_iterator(const roaring_bitmap_t *r,\n                           roaring_uint32_iterator_t
      *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16945
      start: 16940
    functionDepth: 0
    functionLinenumber: 16940
    functionLinenumberEnd: 16945
    functionName: roaring::api::roaring_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_init_iterator_last(const roaring_bitmap_t *r,\n                                roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16949,1
    - Dst: roaring::api::roaring_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16953
      start: 16947
    functionDepth: 0
    functionLinenumber: 16947
    functionLinenumberEnd: 16953
    functionName: roaring::api::roaring_create_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_init_iterator
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: roaring_uint32_iterator_t *roaring_create_iterator(const roaring_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16958,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16961
      start: 16955
    functionDepth: 0
    functionLinenumber: 16955
    functionLinenumberEnd: 16961
    functionName: roaring::api::roaring_copy_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: "roaring_uint32_iterator_t *roaring_copy_uint32_iterator(\n    const
      roaring_uint32_iterator_t *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16965,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16967,1
    - Dst: roaring::api::loadfirstvalue_largeorequal
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16973,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16982
      start: 16963
    functionDepth: 0
    functionLinenumber: 16963
    functionLinenumberEnd: 16982
    functionName: roaring::api::roaring_move_uint32_iterator_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - container_maximum
    - ra_get_index
    - roaring::api::loadfirstvalue
    - roaring::api::loadfirstvalue_largeorequal
    linkageType: ''
    returnType: bool
    signature: bool roaring_move_uint32_iterator_equalorlarger(roaring_uint32_iterator_t
      *it, uint32_t val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16991,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16996,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17018,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17032,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17048,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17053,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17054
      start: 16985
    functionDepth: 1
    functionLinenumber: 16985
    functionLinenumberEnd: 17054
    functionName: roaring::api::roaring_advance_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::api::loadfirstvalue
    - const_CAST_bitset
    - const_CAST_run
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: bool roaring_advance_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17062,1
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17080,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17111,1
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17116,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 17110
        line_start: 17110
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17117
      start: 17056
    functionDepth: 1
    functionLinenumber: 17056
    functionLinenumberEnd: 17117
    functionName: roaring::api::roaring_previous_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_clzll
    - assert
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: bool
    signature: bool roaring_previous_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17131,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17136,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17148,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17153,1
    - Dst: roaring::api::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17154,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17167,1
    - Dst: roaring::api::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17171,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17190,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17193,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17197,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 17189
        line_start: 17189
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (ret == count)
      pos:
        line_end: 17192
        line_start: 17192
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17200
      start: 17119
    functionDepth: 1
    functionLinenumber: 17119
    functionLinenumberEnd: 17200
    functionName: roaring::api::roaring_read_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::api::loadfirstvalue
    - const_CAST_bitset
    - const_CAST_run
    - assert
    - roaring::api::minimum_uint32
    - __builtin_ctzll
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_read_uint32_iterator(roaring_uint32_iterator_t *it,
      uint32_t* buf, uint32_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17204
      start: 17204
    functionDepth: 0
    functionLinenumber: 17204
    functionLinenumberEnd: 17204
    functionName: roaring::api::roaring_free_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_free_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17233
      start: 17210
    functionDepth: 0
    functionLinenumber: 17210
    functionLinenumberEnd: 17233
    functionName: roaring::api::roaring_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_equals
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_equals(const roaring_bitmap_t *r1,\n                           const
      roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17246,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17247,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17251,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17252,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17253,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17267
      start: 17235
    functionDepth: 0
    functionLinenumber: 17235
    functionLinenumberEnd: 17267
    functionName: roaring::api::roaring_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_is_subset
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_subset(const roaring_bitmap_t *r1,\n                              const
      roaring_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17272,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17273,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17278,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17280,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17283,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17284,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17287,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17290,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ans_arr
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17295
      start: 17269
    functionDepth: 0
    functionLinenumber: 17269
    functionLinenumberEnd: 17295
    functionName: roaring::api::insert_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - container_not_range
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - container_get_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_flipped_container(roaring_array_t *ans_arr,\n                                     const
      roaring_array_t *x1_arr, uint16_t hb,\n                                     uint16_t
      lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17304,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17305,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17309,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17310,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17312,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17313,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17317,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17322
      start: 17297
    functionDepth: 0
    functionLinenumber: 17297
    functionLinenumberEnd: 17322
    functionName: roaring::api::inplace_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_inot_range
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void inplace_flip_container(roaring_array_t *x1_arr, uint16_t hb,\n
      \                                  uint16_t lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17327,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17328,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17333,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17335,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17336,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17337,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17340,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17343,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ans_arr
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17347
      start: 17324
    functionDepth: 0
    functionLinenumber: 17324
    functionLinenumberEnd: 17347
    functionName: roaring::api::insert_fully_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_get_index
    - container_not
    - container_range_of_ones
    - ra_get_container_at_index
    - container_get_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_fully_flipped_container(roaring_array_t *ans_arr,\n                                           const
      roaring_array_t *x1_arr,\n                                           uint16_t
      hb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17350,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17355,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17357,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17359,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17360,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17362,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17363,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17367,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17371
      start: 17349
    functionDepth: 0
    functionLinenumber: 17349
    functionLinenumberEnd: 17371
    functionName: roaring::api::inplace_fully_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_inot
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: void inplace_fully_flip_container(roaring_array_t *x1_arr, uint16_t
      hb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17377,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17379,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17380,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17383,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17384,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17384,1
    - Dst: ra_append_copies_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17391,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17392,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17394,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17401,1
    - Dst: roaring::api::insert_fully_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17410,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17416,1
    - Dst: ra_append_copies_after
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17422,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17425
      start: 17373
    functionDepth: 0
    functionLinenumber: 17373
    functionLinenumberEnd: 17425
    functionName: roaring::api::roaring_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::insert_flipped_container
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - ra_append_copies_until
    - roaring::api::roaring_bitmap_copy
    - roaring::api::insert_fully_flipped_container
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_append_copies_after
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip(const roaring_bitmap_t *x1,\n
      \                                     uint64_t range_start,\n                                      uint64_t
      range_end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17432,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17433,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17442,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17448,1
    - Dst: roaring::api::inplace_fully_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17456,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17465
      start: 17427
    functionDepth: 0
    functionLinenumber: 17427
    functionLinenumberEnd: 17465
    functionName: roaring::api::roaring_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    - roaring::api::inplace_fully_flip_container
    - roaring::api::inplace_flip_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace(roaring_bitmap_t *x1, uint64_t range_start,\n
      \                                uint64_t range_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17468,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17469,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17471,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17481,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17484,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17489,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - k
    - c
    - t
    argTypes:
    - roaring_array_t*
    - int
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17492
      start: 17467
    functionDepth: 0
    functionLinenumber: 17467
    functionLinenumberEnd: 17492
    functionName: roaring::api::offset_append_with_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_append
    - ra_set_container_at_index
    - container_ior
    - container_free
    linkageType: ''
    returnType: void
    signature: void offset_append_with_merge(roaring_array_t *ra, int k, container_t
      *c, uint8_t t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17510,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17516,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17517,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17517,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17525,1
    - Dst: ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17532,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17548,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17559,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17560,1
    - Dst: container_add_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17562,1
    - Dst: roaring::api::offset_append_with_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17564,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17567,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - bm
    - offset
    argTypes:
    - roaring_bitmap_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17572
      start: 17499
    functionDepth: 0
    functionLinenumber: 17499
    functionLinenumberEnd: 17572
    functionName: roaring::api::roaring_bitmap_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - roaring::api::offset_append_with_merge
    - roaring::api::roaring_bitmap_create
    - container_add_offset
    - roaring::api::roaring_bitmap_copy
    - container_unwrap_shared
    - ra_append_copy
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_add_offset(const roaring_bitmap_t
      *bm,\n                                            int64_t offset)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17581,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17584,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17587,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17591,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17592,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17595,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17597,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17601,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17602,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17605,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17606,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17608,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17611,1
    - Dst: container_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17614,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17620,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17625,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17626,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17629,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17631,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17631,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17632,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17633,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17636,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17639,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17642,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17644,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17644,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17645,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17646,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17649,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17652,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17656,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17658,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17660,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17662,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17665
      start: 17574
    functionDepth: 0
    functionLinenumber: 17574
    functionLinenumberEnd: 17665
    functionName: roaring::api::roaring_bitmap_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_ior
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    - container_mutable_unwrap_shared
    - container_lazy_or
    - get_container_type
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_or(const roaring_bitmap_t *x1,\n
      \                                        const roaring_bitmap_t *x2,\n                                         const
      bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17677,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17682,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17683,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17686,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17688,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17690,1
    - Dst: get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17692,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17697,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17698,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17699,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17703,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17705,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17710,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17713,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17720,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17721,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17726,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17729,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17732,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17732,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17733,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17734,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17737,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17743,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17747,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17748,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17750
      start: 17667
    functionDepth: 0
    functionLinenumber: 17667
    functionLinenumberEnd: 17750
    functionName: roaring::api::roaring_bitmap_lazy_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - get_writable_copy_if_shared
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_lazy_ior
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    - container_mutable_unwrap_shared
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_or_inplace(roaring_bitmap_t *x1,\n                                    const
      roaring_bitmap_t *x2,\n                                    const bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17758,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17761,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17764,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17768,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17769,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17772,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17774,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17776,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17779,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17780,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17782,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17789,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17790,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17793,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17795,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17795,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17796,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17797,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17800,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17803,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17806,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17808,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17808,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17809,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17810,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17813,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17816,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17820,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17822,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17824,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17826,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17829
      start: 17752
    functionDepth: 0
    functionLinenumber: 17752
    functionLinenumberEnd: 17829
    functionName: roaring::api::roaring_bitmap_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_xor
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_xor(const roaring_bitmap_t *x1,\n
      \                                         const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17833,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17841,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17846,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17847,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17850,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17852,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17863,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17864,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17864,1
    - Dst: container_lazy_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17867,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17870,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17871,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17875,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17876,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17882,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17883,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17888,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17891,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17894,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17894,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17895,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17896,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17899,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17905,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17909,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17910,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 17832
        line_start: 17832
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17912
      start: 17831
    functionDepth: 0
    functionLinenumber: 17831
    functionLinenumberEnd: 17912
    functionName: roaring::api::roaring_bitmap_lazy_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - container_lazy_ixor
    - roaring::api::is_cow
    - ra_set_container_at_index
    - ra_append_copy_range
    - container_lazy_xor
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_xor_inplace(roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17925
      start: 17914
    functionDepth: 0
    functionLinenumber: 17914
    functionLinenumberEnd: 17925
    functionName: roaring::api::roaring_bitmap_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - container_repair_after_lazy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_repair_after_lazy(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17940,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17951
      start: 17933
    functionDepth: 0
    functionLinenumber: 17933
    functionLinenumberEnd: 17951
    functionName: roaring::api::roaring_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_rank(const roaring_bitmap_t *bm, uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17966
      start: 17957
    functionDepth: 0
    functionLinenumber: 17957
    functionLinenumberEnd: 17966
    functionName: roaring::api::roaring_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_minimum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_minimum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17984
      start: 17972
    functionDepth: 0
    functionLinenumber: 17972
    functionLinenumberEnd: 17984
    functionName: roaring::api::roaring_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_maximum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_maximum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bm
    - rank
    - element
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18008
      start: 17986
    functionDepth: 0
    functionLinenumber: 17986
    functionLinenumberEnd: 18008
    functionName: roaring::api::roaring_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_select
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_select(const roaring_bitmap_t *bm, uint32_t rank,\n
      \                          uint32_t *element)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18018,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18019,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18023,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18025,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18027,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18032,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18038
      start: 18010
    functionDepth: 0
    functionLinenumber: 18010
    functionLinenumberEnd: 18038
    functionName: roaring::api::roaring_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_intersect
    - ra_get_key_at_index
    - ra_advance_until
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect(const roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18047,1
    - Dst: roaring::api::roaring_move_uint32_iterator_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - bm
    - x
    - y
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18057
      start: 18040
    functionDepth: 0
    functionLinenumber: 18040
    functionLinenumberEnd: 18057
    functionName: roaring::api::roaring_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_init_iterator
    - roaring::api::roaring_move_uint32_iterator_equalorlarger
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect_with_range(const roaring_bitmap_t *bm,\n
      \                                        uint64_t x, uint64_t y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18068,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18069,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18073,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18075,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18077,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18081,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18087
      start: 18060
    functionDepth: 0
    functionLinenumber: 18060
    functionLinenumberEnd: 18087
    functionName: roaring::api::roaring_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_and_cardinality
    - ra_get_container_at_index
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_and_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18091,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18092,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18095
      start: 18089
    functionDepth: 0
    functionLinenumber: 18089
    functionLinenumberEnd: 18095
    functionName: roaring::api::roaring_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring_bitmap_jaccard_index(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18099,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18100,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18103
      start: 18097
    functionDepth: 0
    functionLinenumber: 18097
    functionLinenumberEnd: 18103
    functionName: roaring::api::roaring_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_or_cardinality(const roaring_bitmap_t *x1,\n
      \                                      const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18107,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18110
      start: 18105
    functionDepth: 0
    functionLinenumber: 18105
    functionLinenumberEnd: 18110
    functionName: roaring::api::roaring_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_andnot_cardinality(const roaring_bitmap_t
      *x1,\n                                           const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18114,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18115,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18118
      start: 18112
    functionDepth: 0
    functionLinenumber: 18112
    functionLinenumberEnd: 18118
    functionName: roaring::api::roaring_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_xor_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18126,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18132,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18135
      start: 18121
    functionDepth: 0
    functionLinenumber: 18121
    functionLinenumberEnd: 18135
    functionName: roaring::api::roaring_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_get_index
    - container_contains
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains(const roaring_bitmap_t *r, uint32_t val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18142,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18143,1
    - Dst: roaring::api::roaring_bitmap_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18146,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18150,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18154,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18155,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18163,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18166,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18168,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18171,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18172,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18176,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18177,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18182
      start: 18141
    functionDepth: 0
    functionLinenumber: 18141
    functionLinenumberEnd: 18182
    functionName: roaring::api::roaring_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - container_is_full
    - ra_get_index
    - ra_get_container_at_index
    - UINT64_C
    - roaring::api::roaring_bitmap_contains
    - container_contains_range
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains_range(const roaring_bitmap_t *r, uint64_t
      range_start, uint64_t range_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18187,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18188,1
    - Dst: roaring::api::roaring_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18190
      start: 18185
    functionDepth: 0
    functionLinenumber: 18185
    functionLinenumberEnd: 18190
    functionName: roaring::api::roaring_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_strict_subset(const roaring_bitmap_t *r1,\n
      \                                    const roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18232,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18238,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - rb
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18249
      start: 18222
    functionDepth: 1
    functionLinenumber: 18222
    functionLinenumberEnd: 18249
    functionName: roaring::api::roaring_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_run
    - __builtin_unreachable
    - const_CAST_array
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_frozen_size_in_bytes(const roaring_bitmap_t *rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena
    - num_bytes
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18255
      start: 18251
    functionDepth: 0
    functionLinenumber: 18251
    functionLinenumberEnd: 18255
    functionName: roaring::api::arena_alloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *arena_alloc(char **arena, size_t num_bytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18276,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18282,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18287,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18291,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18292,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18293,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18294,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18295,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18296,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18297,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18304,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18305,1
    - Dst: bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18311,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18316,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18318,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18325,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18327,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18333,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18335,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18337,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18338,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18340,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - rb
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18341
      start: 18257
    functionDepth: 1
    functionLinenumber: 18257
    functionLinenumberEnd: 18341
    functionName: roaring::api::roaring_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - bitset_container_compute_cardinality
    - const_CAST_run
    - roaring::api::arena_alloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_frozen_serialize(const roaring_bitmap_t *rb, char
      *buf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18354,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18387,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18408,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18414,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18421,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18428,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18435,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18437,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18444,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18454,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18455,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18456,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18459,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18463,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: "(rb ==\n           (roaring_bitmap_t *)((char *)rb->high_low_container.containers
        -\n                                sizeof(roaring_bitmap_t)))"
      pos:
        line_end: 18429
        line_start: 18427
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18469
      start: 18343
    functionDepth: 0
    functionLinenumber: 18343
    functionLinenumberEnd: 18469
    functionName: roaring::api::roaring_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring::api::arena_alloc
    - memcpy
    - UINT32_C
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: 'roaring_bitmap_t *

      roaring_bitmap_frozen_view(const char *buf, size_t length)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18482,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18485,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18514,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18544,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18550,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18555,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18558,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18559,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18566,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18581,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18592,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18596,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18600,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18609,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18623
      start: 18471
    functionDepth: 0
    functionLinenumber: 18471
    functionLinenumberEnd: 18623
    functionName: roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - arena_alloc
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15297
      start: 15295
    functionDepth: 0
    functionLinenumber: 15295
    functionLinenumberEnd: 15297
    functionName: roaring::api::is_cow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cow(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15300
      start: 15298
    functionDepth: 0
    functionLinenumber: 15298
    functionLinenumberEnd: 15300
    functionName: roaring::api::is_frozen
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15314,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15316,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15317,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15319,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15322,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15323,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15330,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15331,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - r
    - val
    - type
    - index
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15338
      start: 15307
    functionDepth: 0
    functionLinenumber: 15307
    functionLinenumberEnd: 15338
    functionName: roaring::api::containerptr_roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *containerptr_roaring_bitmap_add(\n    roaring_bitmap_t
      *r, uint32_t val,\n    uint8_t *type, int *index\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15342,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15346,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cap
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15352
      start: 15340
    functionDepth: 0
    functionLinenumber: 15340
    functionLinenumberEnd: 15352
    functionName: roaring::api::roaring_bitmap_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - ra_init_with_capacity
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create_with_capacity(uint32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - cap
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15356
      start: 15354
    functionDepth: 0
    functionLinenumber: 15354
    functionLinenumberEnd: 15356
    functionName: roaring::api::roaring_bitmap_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_init_with_capacity
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_init_with_capacity(roaring_bitmap_t *r, uint32_t
      cap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15365,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15375,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15379,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15386
      start: 15358
    functionDepth: 0
    functionLinenumber: 15358
    functionLinenumberEnd: 15386
    functionName: roaring::api::add_bulk_impl
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::api::containerptr_roaring_bitmap_add
    - container_add
    - ra_set_container_at_index
    - container_free
    linkageType: ''
    returnType: void
    signature: "void add_bulk_impl(roaring_bitmap_t *r,\n                                 roaring_bulk_context_t
      *context,\n                                 uint32_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15403,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15407,1
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15410
      start: 15388
    functionDepth: 0
    functionLinenumber: 15388
    functionLinenumberEnd: 15410
    functionName: roaring::api::roaring_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::api::add_bulk_impl
    - roaring::api::containerptr_roaring_bitmap_add
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_many(roaring_bitmap_t *r, size_t n_args,\n
      \                            const uint32_t *vals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15415
      start: 15412
    functionDepth: 0
    functionLinenumber: 15412
    functionLinenumberEnd: 15415
    functionName: roaring::api::roaring_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::api::add_bulk_impl
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_bulk(roaring_bitmap_t *r,\n                             roaring_bulk_context_t
      *context, uint32_t val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15427,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15428,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15432,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15435,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15443
      start: 15417
    functionDepth: 0
    functionLinenumber: 15417
    functionLinenumberEnd: 15443
    functionName: roaring::api::roaring_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - container_contains
    - ra_advance_until
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_bulk(const roaring_bitmap_t *r,\n                                  roaring_bulk_context_t
      *context,\n                                  uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15446,1
    - Dst: roaring::api::roaring_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15449
      start: 15445
    functionDepth: 0
    functionLinenumber: 15445
    functionLinenumberEnd: 15449
    functionName: roaring::api::roaring_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_many
    - roaring::api::roaring_bitmap_create
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of_ptr(size_t n_args, const uint32_t
      *vals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15454,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15458,1
    - Dst: va_start
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15459,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15461,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15462,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n_args
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15466
      start: 15451
    functionDepth: 0
    functionLinenumber: 15451
    functionLinenumberEnd: 15466
    functionName: roaring::api::roaring_bitmap_of
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - va_end
    - roaring::api::roaring_bitmap_add_bulk
    - va_arg
    - roaring::api::roaring_bitmap_create
    - memset
    - va_start
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of(size_t n_args, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15470
      start: 15468
    functionDepth: 0
    functionLinenumber: 15468
    functionLinenumberEnd: 15470
    functionName: roaring::api::minimum_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minimum_uint32(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15474
      start: 15472
    functionDepth: 0
    functionLinenumber: 15472
    functionLinenumberEnd: 15474
    functionName: roaring::api::minimum_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum_uint64(uint64_t a, uint64_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15478,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15479,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15483,1
    - Dst: roaring::api::roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15486,1
    - Dst: roaring::api::minimum_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15494,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15496,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15504
      start: 15476
    functionDepth: 0
    functionLinenumber: 15476
    functionLinenumberEnd: 15504
    functionName: roaring::api::roaring_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_append
    - roaring::api::roaring_bitmap_add
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - container_from_range
    - roaring::api::minimum_uint64
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                            uint32_t step)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15517,1
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15518,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15523,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15536,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15537,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15542,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15547,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15554
      start: 15506
    functionDepth: 0
    functionLinenumber: 15506
    functionLinenumberEnd: 15554
    functionName: roaring::api::roaring_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - container_add_range
    - count_greater
    - count_less
    - container_from_range
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add_range_closed(roaring_bitmap_t *r, uint32_t
      min, uint32_t max)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15566,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15571,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15574,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15579,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15583,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15592
      start: 15556
    functionDepth: 0
    functionLinenumber: 15556
    functionLinenumberEnd: 15592
    functionName: roaring::api::roaring_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - count_less
    - container_free
    - container_remove_range
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove_range_closed(roaring_bitmap_t *r, uint32_t
      min, uint32_t max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15601,1
    - Dst: container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15603,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15607,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15611
      start: 15598
    functionDepth: 1
    functionLinenumber: 15598
    functionLinenumberEnd: 15611
    functionName: roaring::api::roaring_bitmap_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15616,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15618,1
    - Dst: get_full_container_name
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15619,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15620,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15622,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15624,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15628,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15632
      start: 15613
    functionDepth: 1
    functionLinenumber: 15613
    functionLinenumberEnd: 15632
    functionName: roaring::api::roaring_bitmap_printf_describe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - container_get_cardinality
    - get_full_container_name
    - CAST_shared
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf_describe(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - param
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15647
      start: 15641
    functionDepth: 0
    functionLinenumber: 15641
    functionLinenumberEnd: 15647
    functionName: roaring::api::min_max_sum_fnc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool min_max_sum_fnc(uint32_t value, void *param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15657,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15659,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15661,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15662,1
    - Dst: roaring::api::roaring_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15664,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15671,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15673,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15675,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15693,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring_bitmap_t*
    - roaring_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15692
        line_start: 15692
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 15697
      start: 15653
    functionDepth: 1
    functionLinenumber: 15653
    functionLinenumberEnd: 15697
    functionName: roaring::api::roaring_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::api::roaring_bitmap_get_cardinality
    - container_get_cardinality
    - assert
    - roaring::api::roaring_iterate
    - container_size_in_bytes
    - memset
    - UINT32_C
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_statistics(const roaring_bitmap_t *r,\n                               roaring_statistics_t
      *stat)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15701,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15705,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15708,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15711,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15712,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15714,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15717,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15719
      start: 15699
    functionDepth: 0
    functionLinenumber: 15699
    functionLinenumberEnd: 15719
    functionName: roaring::api::roaring_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 18
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_free
    - roaring_free
    - roaring_malloc
    - ra_init_with_capacity
    - ra_overwrite
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_copy(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15723,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15723,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15724,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15726
      start: 15721
    functionDepth: 0
    functionLinenumber: 15721
    functionLinenumberEnd: 15726
    functionName: roaring::api::roaring_bitmap_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_overwrite
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_overwrite(roaring_bitmap_t *dest,\n                                     const
      roaring_bitmap_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_frozen
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15729,1
    - Dst: ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15730,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15733
      start: 15728
    functionDepth: 0
    functionLinenumber: 15728
    functionLinenumberEnd: 15733
    functionName: roaring::api::roaring_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::api::is_frozen
    - ra_clear
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_reset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15737
      start: 15735
    functionDepth: 0
    functionLinenumber: 15735
    functionLinenumberEnd: 15737
    functionName: roaring::api::roaring_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_reset
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_clear(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15743,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15746,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15748,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15751,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15753,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15754,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15758,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15759,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15765
      start: 15739
    functionDepth: 0
    functionLinenumber: 15739
    functionLinenumberEnd: 15765
    functionName: roaring::api::roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15769,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15773,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15775,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15778,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15782,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15784,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15785,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15790,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15795,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15796,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15805
      start: 15767
    functionDepth: 0
    functionLinenumber: 15767
    functionLinenumberEnd: 15805
    functionName: roaring::api::roaring_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_add_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15809,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15812,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15814,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15817,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15819,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15820,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15823,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15824,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15830
      start: 15807
    functionDepth: 0
    functionLinenumber: 15807
    functionLinenumberEnd: 15830
    functionName: roaring::api::roaring_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15834,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15838,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15840,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15843,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15847,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15849,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15850,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15855,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15858,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15867
      start: 15832
    functionDepth: 0
    functionLinenumber: 15832
    functionLinenumberEnd: 15867
    functionName: roaring::api::roaring_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15878,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15883,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15888,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15890,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15894,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15895,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15896,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15901
      start: 15869
    functionDepth: 0
    functionLinenumber: 15869
    functionLinenumberEnd: 15901
    functionName: roaring::api::roaring_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_index
    - container_remove
    - ra_remove_at_index
    - container_nonzero_cardinality
    - container_free
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_many(roaring_bitmap_t *r, size_t n_args,\n
      \                               const uint32_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15910,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15916,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15917,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15921,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15923,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15925,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15927,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15928,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15930,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15935,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15937,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15941
      start: 15904
    functionDepth: 0
    functionLinenumber: 15904
    functionLinenumberEnd: 15941
    functionName: roaring::api::roaring_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_and
    - ra_advance_until
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_and(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15949,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15952,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15955,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15957,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15961
      start: 15946
    functionDepth: 0
    functionLinenumber: 15946
    functionLinenumberEnd: 15961
    functionName: roaring::api::roaring_bitmap_or_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many(size_t number,\n                                         const
      roaring_bitmap_t **x)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15969,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15972,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15974,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15976,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15980
      start: 15966
    functionDepth: 0
    functionLinenumber: 15966
    functionLinenumberEnd: 15980
    functionName: roaring::api::roaring_bitmap_xor_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_lazy_xor_inplace
    - roaring::api::roaring_bitmap_lazy_xor
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor_many(size_t number,\n                                          const
      roaring_bitmap_t **x)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15987,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15988,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15993,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15994,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15998,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16000,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16010,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16011,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16015,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16017,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16018,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16023,1
    - Dst: ra_advance_until_freeing
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16028,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16030,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16037,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16043,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16044
      start: 15983
    functionDepth: 0
    functionLinenumber: 15983
    functionLinenumberEnd: 16044
    functionName: roaring::api::roaring_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_size
    - ra_get_key_at_index
    - ra_advance_until_freeing
    - ra_get_container_at_index
    - container_and
    - ra_advance_until
    - ra_downsize
    - container_nonzero_cardinality
    - container_free
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_and_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16052,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16055,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16058,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16062,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16063,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16066,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16068,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16070,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16075,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16080,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16081,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16084,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16088,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16089,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16092,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16095,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16098,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16101,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16101,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16102,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16103,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16106,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16109,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16113,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16115,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16117,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16119,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16122
      start: 16046
    functionDepth: 0
    functionLinenumber: 16046
    functionLinenumberEnd: 16122
    functionName: roaring::api::roaring_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_or
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16134,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16139,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16140,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16143,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16145,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16146,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16150,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16151,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16155,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16157,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16164,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16165,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16170,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16173,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16175,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16175,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16176,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16177,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16182,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16188,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16192,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16193,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16195
      start: 16125
    functionDepth: 0
    functionLinenumber: 16125
    functionLinenumberEnd: 16195
    functionName: roaring::api::roaring_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_ior
    - container_or
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_or_inplace(roaring_bitmap_t *x1,\n                               const
      roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16203,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16206,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16209,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16213,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16214,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16217,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16219,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16221,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16223,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16224,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16226,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16232,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16233,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16236,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16238,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16238,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16239,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16240,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16243,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16246,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16249,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16251,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16251,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16252,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16253,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16256,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16259,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16263,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16265,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16267,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16269,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16272
      start: 16197
    functionDepth: 0
    functionLinenumber: 16197
    functionLinenumberEnd: 16272
    functionName: roaring::api::roaring_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16278,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16286,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16295,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16296,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16301,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16312,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16313,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16313,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16316,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16319,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16320,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16324,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16325,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16332,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16333,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16338,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16341,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16343,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16343,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16344,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16345,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16349,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16355,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16359,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16360,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 16277
        line_start: 16277
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16362
      start: 16276
    functionDepth: 0
    functionLinenumber: 16276
    functionLinenumberEnd: 16362
    functionName: roaring::api::roaring_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_ixor
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_xor_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16370,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16375,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16377,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16385,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16386,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16389,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16391,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16393,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16396,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16397,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16399,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16407,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16408,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16410,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16416,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16421,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16423,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16426
      start: 16364
    functionDepth: 0
    functionLinenumber: 16364
    functionLinenumberEnd: 16426
    functionName: roaring::api::roaring_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - container_andnot
    - ra_advance_until
    - roaring::api::roaring_bitmap_create
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_andnot(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16432,1
    - Dst: roaring::api::roaring_bitmap_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16442,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16448,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16449,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16452,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16454,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16465,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16466,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16466,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16469,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16472,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16473,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16477,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16484,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16485,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16489,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16492,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16499,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16502,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16504,1
    - Dst: ra_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16517,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16523,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 16431
        line_start: 16431
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16524
      start: 16430
    functionDepth: 0
    functionLinenumber: 16430
    functionLinenumberEnd: 16524
    functionName: roaring::api::roaring_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_key_at_index
    - container_iandnot
    - ra_get_container_at_index
    - assert
    - CAST_shared
    - container_andnot
    - ra_advance_until
    - ra_copy_range
    - ra_downsize
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_clear
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_andnot_inplace(roaring_bitmap_t *x1,\n                                   const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16533
      start: 16526
    functionDepth: 0
    functionLinenumber: 16526
    functionLinenumberEnd: 16533
    functionName: roaring::api::roaring_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 17
    functionsReached:
    - container_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_get_cardinality(const roaring_bitmap_t *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16541,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16554,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16557,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16560,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16564,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16575,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16578,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16587
      start: 16535
    functionDepth: 0
    functionLinenumber: 16535
    functionLinenumberEnd: 16587
    functionName: roaring::api::roaring_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - ra_get_index
    - UINT64_C
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality(const roaring_bitmap_t *r,\n
      \                                         uint64_t range_start,\n                                          uint64_t
      range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16592
      start: 16590
    functionDepth: 0
    functionLinenumber: 16590
    functionLinenumberEnd: 16592
    functionName: roaring::api::roaring_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_is_empty(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16596
      start: 16594
    functionDepth: 0
    functionLinenumber: 16594
    functionLinenumberEnd: 16596
    functionName: roaring::api::roaring_bitmap_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_to_uint32_array(const roaring_bitmap_t *r, uint32_t
      *ans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_range_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - offset
    - limit
    - ans
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16602
      start: 16598
    functionDepth: 0
    functionLinenumber: 16598
    functionLinenumberEnd: 16602
    functionName: roaring::api::roaring_bitmap_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_range_uint32_array
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_range_uint32_array(const roaring_bitmap_t *r,\n
      \                                      size_t offset, size_t limit,\n                                       uint32_t
      *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16613,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16615,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16617,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16624
      start: 16609
    functionDepth: 0
    functionLinenumber: 16609
    functionLinenumberEnd: 16624
    functionName: roaring::api::roaring_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_container_at_index
    - convert_run_optimize
    - ra_set_container_at_index
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_run_optimize(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16630,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16632,1
    - Dst: ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16636
      start: 16626
    functionDepth: 0
    functionLinenumber: 16626
    functionLinenumberEnd: 16636
    functionName: roaring::api::roaring_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_shrink_to_fit
    - container_shrink_to_fit
    - ra_get_container_at_index
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_shrink_to_fit(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16646,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16648,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16651,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16651,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16652,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16653,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16655,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16655,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16656,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16660,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16660,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16661,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16662,1
    - Dst: run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16663,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16663,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16670
      start: 16642
    functionDepth: 0
    functionLinenumber: 16642
    functionLinenumberEnd: 16670
    functionName: roaring::api::roaring_bitmap_remove_run_compression
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - run_container_cardinality
    - ra_get_container_at_index
    - CAST_shared
    - ra_set_container_at_index
    - run_container_free
    - shared_container_free
    - convert_to_bitset_or_array_container
    - CAST_run
    - get_container_type
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_run_compression(roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16673,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16674,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16678,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16681,1
    - Dst: roaring::api::roaring_bitmap_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16686
      start: 16672
    functionDepth: 0
    functionLinenumber: 16672
    functionLinenumberEnd: 16686
    functionName: roaring::api::roaring_bitmap_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_to_uint32_array
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_serialize
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_serialize(const roaring_bitmap_t *r, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16689,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16693
      start: 16688
    functionDepth: 0
    functionLinenumber: 16688
    functionLinenumberEnd: 16693
    functionName: roaring::api::roaring_bitmap_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_size_in_bytes(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16697
      start: 16695
    functionDepth: 0
    functionLinenumber: 16695
    functionLinenumberEnd: 16697
    functionName: roaring::api::roaring_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - ra_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_size_in_bytes(const roaring_bitmap_t
      *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16702,1
    - Dst: ra_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16707,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16708,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16709,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (bytesread <= maxbytes)
      pos:
        line_end: 16707
        line_start: 16707
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16715
      start: 16700
    functionDepth: 0
    functionLinenumber: 16700
    functionLinenumberEnd: 16715
    functionName: roaring::api::roaring_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - assert
    - roaring_free
    - roaring_malloc
    - ra_portable_deserialize
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize_safe(const char
      *buf, size_t maxbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16719
      start: 16717
    functionDepth: 0
    functionLinenumber: 16717
    functionLinenumberEnd: 16719
    functionName: roaring::api::roaring_bitmap_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16724
      start: 16722
    functionDepth: 0
    functionLinenumber: 16722
    functionLinenumberEnd: 16724
    functionName: roaring::api::roaring_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_portable_deserialize_size
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_deserialize_size(const char *buf, size_t
      maxbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16730
      start: 16727
    functionDepth: 0
    functionLinenumber: 16727
    functionLinenumberEnd: 16730
    functionName: roaring::api::roaring_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_portable_serialize
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring_bitmap_portable_serialize(const roaring_bitmap_t *r,\n
      \                                        char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16737,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16740,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16746,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16750,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16751,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16758
      start: 16732
    functionDepth: 0
    functionLinenumber: 16732
    functionLinenumberEnd: 16758
    functionName: roaring::api::roaring_bitmap_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize
    - roaring::api::roaring_bitmap_add_bulk
    - roaring::api::roaring_bitmap_create
    - memset
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_deserialize(const void *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16771
      start: 16760
    functionDepth: 0
    functionLinenumber: 16760
    functionLinenumberEnd: 16771
    functionName: roaring::api::roaring_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate(const roaring_bitmap_t *r, roaring_iterator iterator,\n
      \                    void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - r
    - iterator
    - high_bits
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16785
      start: 16773
    functionDepth: 0
    functionLinenumber: 16773
    functionLinenumberEnd: 16785
    functionName: roaring::api::roaring_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate64(const roaring_bitmap_t *r, roaring_iterator64
      iterator,\n                       uint64_t high_bits, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16819
      start: 16793
    functionDepth: 0
    functionLinenumber: 16793
    functionLinenumberEnd: 16819
    functionName: roaring::api::iter_new_container_partial_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - container_unwrap_shared
    linkageType: ''
    returnType: bool
    signature: bool iter_new_container_partial_init(roaring_uint32_iterator_t *newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16822,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16827,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16835,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16840,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16845,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 16850
        line_start: 16850
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16854
      start: 16821
    functionDepth: 1
    functionLinenumber: 16821
    functionLinenumberEnd: 16854
    functionName: roaring::api::loadfirstvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - assert
    - __builtin_ctzll
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadfirstvalue(roaring_uint32_iterator_t *newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16857,1
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16868,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 16887
        line_start: 16887
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16891
      start: 16856
    functionDepth: 1
    functionLinenumber: 16856
    functionLinenumberEnd: 16891
    functionName: roaring::api::loadlastvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - __builtin_clzll
    - assert
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadlastvalue(roaring_uint32_iterator_t* newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16896,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16901,1
    - Dst: bitset_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16903,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16908,1
    - Dst: array_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16910,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16916,1
    - Dst: run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16917,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - newit
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16931
      start: 16894
    functionDepth: 1
    functionLinenumber: 16894
    functionLinenumberEnd: 16931
    functionName: roaring::api::loadfirstvalue_largeorequal
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - array_container_index_equalorlarger
    - bitset_container_index_equalorlarger
    - const_CAST_bitset
    - const_CAST_run
    - run_container_index_equalorlarger
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadfirstvalue_largeorequal(roaring_uint32_iterator_t *newit,
      uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16938
      start: 16933
    functionDepth: 0
    functionLinenumber: 16933
    functionLinenumberEnd: 16938
    functionName: roaring::api::roaring_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::api::loadfirstvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_init_iterator(const roaring_bitmap_t *r,\n                           roaring_uint32_iterator_t
      *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16945
      start: 16940
    functionDepth: 0
    functionLinenumber: 16940
    functionLinenumberEnd: 16945
    functionName: roaring::api::roaring_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_init_iterator_last(const roaring_bitmap_t *r,\n                                roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16949,1
    - Dst: roaring::api::roaring_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16953
      start: 16947
    functionDepth: 0
    functionLinenumber: 16947
    functionLinenumberEnd: 16953
    functionName: roaring::api::roaring_create_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_init_iterator
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: roaring_uint32_iterator_t *roaring_create_iterator(const roaring_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16958,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16961
      start: 16955
    functionDepth: 0
    functionLinenumber: 16955
    functionLinenumberEnd: 16961
    functionName: roaring::api::roaring_copy_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: "roaring_uint32_iterator_t *roaring_copy_uint32_iterator(\n    const
      roaring_uint32_iterator_t *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16965,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16967,1
    - Dst: roaring::api::loadfirstvalue_largeorequal
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16973,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16982
      start: 16963
    functionDepth: 0
    functionLinenumber: 16963
    functionLinenumberEnd: 16982
    functionName: roaring::api::roaring_move_uint32_iterator_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - container_maximum
    - ra_get_index
    - roaring::api::loadfirstvalue
    - roaring::api::loadfirstvalue_largeorequal
    linkageType: ''
    returnType: bool
    signature: bool roaring_move_uint32_iterator_equalorlarger(roaring_uint32_iterator_t
      *it, uint32_t val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16991,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16996,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17018,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17032,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17048,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17053,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17054
      start: 16985
    functionDepth: 1
    functionLinenumber: 16985
    functionLinenumberEnd: 17054
    functionName: roaring::api::roaring_advance_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::api::loadfirstvalue
    - const_CAST_bitset
    - const_CAST_run
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: bool roaring_advance_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17062,1
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17080,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17111,1
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17116,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 17110
        line_start: 17110
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17117
      start: 17056
    functionDepth: 1
    functionLinenumber: 17056
    functionLinenumberEnd: 17117
    functionName: roaring::api::roaring_previous_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_clzll
    - assert
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: bool
    signature: bool roaring_previous_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17131,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17136,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17148,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17153,1
    - Dst: roaring::api::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17154,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17167,1
    - Dst: roaring::api::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17171,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17190,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17193,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17197,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 17189
        line_start: 17189
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (ret == count)
      pos:
        line_end: 17192
        line_start: 17192
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17200
      start: 17119
    functionDepth: 1
    functionLinenumber: 17119
    functionLinenumberEnd: 17200
    functionName: roaring::api::roaring_read_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::api::loadfirstvalue
    - const_CAST_bitset
    - const_CAST_run
    - assert
    - roaring::api::minimum_uint32
    - __builtin_ctzll
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_read_uint32_iterator(roaring_uint32_iterator_t *it,
      uint32_t* buf, uint32_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17204
      start: 17204
    functionDepth: 0
    functionLinenumber: 17204
    functionLinenumberEnd: 17204
    functionName: roaring::api::roaring_free_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_free_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17233
      start: 17210
    functionDepth: 0
    functionLinenumber: 17210
    functionLinenumberEnd: 17233
    functionName: roaring::api::roaring_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_equals
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_equals(const roaring_bitmap_t *r1,\n                           const
      roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17246,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17247,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17251,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17252,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17253,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17267
      start: 17235
    functionDepth: 0
    functionLinenumber: 17235
    functionLinenumberEnd: 17267
    functionName: roaring::api::roaring_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_is_subset
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_subset(const roaring_bitmap_t *r1,\n                              const
      roaring_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17272,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17273,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17278,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17280,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17283,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17284,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17287,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17290,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ans_arr
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17295
      start: 17269
    functionDepth: 0
    functionLinenumber: 17269
    functionLinenumberEnd: 17295
    functionName: roaring::api::insert_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - container_not_range
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - container_get_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_flipped_container(roaring_array_t *ans_arr,\n                                     const
      roaring_array_t *x1_arr, uint16_t hb,\n                                     uint16_t
      lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17304,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17305,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17309,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17310,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17312,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17313,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17317,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17322
      start: 17297
    functionDepth: 0
    functionLinenumber: 17297
    functionLinenumberEnd: 17322
    functionName: roaring::api::inplace_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_inot_range
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void inplace_flip_container(roaring_array_t *x1_arr, uint16_t hb,\n
      \                                  uint16_t lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17327,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17328,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17333,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17335,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17336,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17337,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17340,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17343,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ans_arr
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17347
      start: 17324
    functionDepth: 0
    functionLinenumber: 17324
    functionLinenumberEnd: 17347
    functionName: roaring::api::insert_fully_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_index
    - container_not
    - container_range_of_ones
    - ra_get_container_at_index
    - container_get_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_fully_flipped_container(roaring_array_t *ans_arr,\n                                           const
      roaring_array_t *x1_arr,\n                                           uint16_t
      hb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17350,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17355,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17357,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17359,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17360,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17362,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17363,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17367,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17371
      start: 17349
    functionDepth: 0
    functionLinenumber: 17349
    functionLinenumberEnd: 17371
    functionName: roaring::api::inplace_fully_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_inot
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: void inplace_fully_flip_container(roaring_array_t *x1_arr, uint16_t
      hb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17377,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17379,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17380,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17383,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17384,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17384,1
    - Dst: ra_append_copies_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17391,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17392,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17394,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17401,1
    - Dst: roaring::api::insert_fully_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17410,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17416,1
    - Dst: ra_append_copies_after
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17422,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17425
      start: 17373
    functionDepth: 0
    functionLinenumber: 17373
    functionLinenumberEnd: 17425
    functionName: roaring::api::roaring_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::insert_flipped_container
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - ra_append_copies_until
    - roaring::api::roaring_bitmap_copy
    - roaring::api::insert_fully_flipped_container
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_append_copies_after
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip(const roaring_bitmap_t *x1,\n
      \                                     uint64_t range_start,\n                                      uint64_t
      range_end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17432,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17433,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17442,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17448,1
    - Dst: roaring::api::inplace_fully_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17456,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17465
      start: 17427
    functionDepth: 0
    functionLinenumber: 17427
    functionLinenumberEnd: 17465
    functionName: roaring::api::roaring_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    - roaring::api::inplace_fully_flip_container
    - roaring::api::inplace_flip_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace(roaring_bitmap_t *x1, uint64_t range_start,\n
      \                                uint64_t range_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17468,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17469,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17471,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17481,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17484,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17489,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - k
    - c
    - t
    argTypes:
    - roaring_array_t*
    - int
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17492
      start: 17467
    functionDepth: 0
    functionLinenumber: 17467
    functionLinenumberEnd: 17492
    functionName: roaring::api::offset_append_with_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_append
    - ra_set_container_at_index
    - container_ior
    - container_free
    linkageType: ''
    returnType: void
    signature: void offset_append_with_merge(roaring_array_t *ra, int k, container_t
      *c, uint8_t t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17510,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17516,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17517,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17517,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17525,1
    - Dst: ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17532,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17548,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17559,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17560,1
    - Dst: container_add_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17562,1
    - Dst: roaring::api::offset_append_with_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17564,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17567,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - bm
    - offset
    argTypes:
    - roaring_bitmap_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17572
      start: 17499
    functionDepth: 0
    functionLinenumber: 17499
    functionLinenumberEnd: 17572
    functionName: roaring::api::roaring_bitmap_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - roaring::api::offset_append_with_merge
    - roaring::api::roaring_bitmap_create
    - container_add_offset
    - roaring::api::roaring_bitmap_copy
    - container_unwrap_shared
    - ra_append_copy
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_add_offset(const roaring_bitmap_t
      *bm,\n                                            int64_t offset)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17581,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17584,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17587,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17591,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17592,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17595,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17597,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17601,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17602,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17605,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17606,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17608,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17611,1
    - Dst: container_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17614,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17620,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17625,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17626,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17629,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17631,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17631,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17632,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17633,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17636,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17639,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17642,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17644,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17644,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17645,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17646,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17649,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17652,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17656,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17658,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17660,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17662,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17665
      start: 17574
    functionDepth: 0
    functionLinenumber: 17574
    functionLinenumberEnd: 17665
    functionName: roaring::api::roaring_bitmap_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_ior
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    - container_mutable_unwrap_shared
    - container_lazy_or
    - get_container_type
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_or(const roaring_bitmap_t *x1,\n
      \                                        const roaring_bitmap_t *x2,\n                                         const
      bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17677,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17682,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17683,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17686,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17688,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17690,1
    - Dst: get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17692,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17697,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17698,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17699,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17703,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17705,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17710,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17713,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17720,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17721,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17726,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17729,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17732,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17732,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17733,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17734,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17737,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17743,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17747,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17748,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17750
      start: 17667
    functionDepth: 0
    functionLinenumber: 17667
    functionLinenumberEnd: 17750
    functionName: roaring::api::roaring_bitmap_lazy_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - get_writable_copy_if_shared
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_lazy_ior
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    - container_mutable_unwrap_shared
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_or_inplace(roaring_bitmap_t *x1,\n                                    const
      roaring_bitmap_t *x2,\n                                    const bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17758,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17761,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17764,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17768,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17769,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17772,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17774,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17776,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17779,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17780,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17782,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17789,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17790,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17793,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17795,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17795,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17796,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17797,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17800,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17803,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17806,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17808,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17808,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17809,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17810,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17813,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17816,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17820,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17822,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17824,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17826,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17829
      start: 17752
    functionDepth: 0
    functionLinenumber: 17752
    functionLinenumberEnd: 17829
    functionName: roaring::api::roaring_bitmap_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_xor
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_xor(const roaring_bitmap_t *x1,\n
      \                                         const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17833,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17841,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17846,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17847,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17850,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17852,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17863,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17864,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17864,1
    - Dst: container_lazy_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17867,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17870,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17871,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17875,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17876,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17882,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17883,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17888,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17891,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17894,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17894,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17895,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17896,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17899,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17905,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17909,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17910,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 17832
        line_start: 17832
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17912
      start: 17831
    functionDepth: 0
    functionLinenumber: 17831
    functionLinenumberEnd: 17912
    functionName: roaring::api::roaring_bitmap_lazy_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - container_lazy_ixor
    - roaring::api::is_cow
    - ra_set_container_at_index
    - ra_append_copy_range
    - container_lazy_xor
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_xor_inplace(roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17925
      start: 17914
    functionDepth: 0
    functionLinenumber: 17914
    functionLinenumberEnd: 17925
    functionName: roaring::api::roaring_bitmap_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - container_repair_after_lazy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_repair_after_lazy(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17940,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17951
      start: 17933
    functionDepth: 0
    functionLinenumber: 17933
    functionLinenumberEnd: 17951
    functionName: roaring::api::roaring_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_rank(const roaring_bitmap_t *bm, uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17966
      start: 17957
    functionDepth: 0
    functionLinenumber: 17957
    functionLinenumberEnd: 17966
    functionName: roaring::api::roaring_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_minimum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_minimum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17984
      start: 17972
    functionDepth: 0
    functionLinenumber: 17972
    functionLinenumberEnd: 17984
    functionName: roaring::api::roaring_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_maximum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_maximum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bm
    - rank
    - element
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18008
      start: 17986
    functionDepth: 0
    functionLinenumber: 17986
    functionLinenumberEnd: 18008
    functionName: roaring::api::roaring_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_select
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_select(const roaring_bitmap_t *bm, uint32_t rank,\n
      \                          uint32_t *element)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18018,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18019,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18023,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18025,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18027,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18032,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18038
      start: 18010
    functionDepth: 0
    functionLinenumber: 18010
    functionLinenumberEnd: 18038
    functionName: roaring::api::roaring_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_intersect
    - ra_get_key_at_index
    - ra_advance_until
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect(const roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18047,1
    - Dst: roaring::api::roaring_move_uint32_iterator_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - bm
    - x
    - y
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18057
      start: 18040
    functionDepth: 0
    functionLinenumber: 18040
    functionLinenumberEnd: 18057
    functionName: roaring::api::roaring_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_init_iterator
    - roaring::api::roaring_move_uint32_iterator_equalorlarger
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect_with_range(const roaring_bitmap_t *bm,\n
      \                                        uint64_t x, uint64_t y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18068,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18069,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18073,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18075,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18077,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18081,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18087
      start: 18060
    functionDepth: 0
    functionLinenumber: 18060
    functionLinenumberEnd: 18087
    functionName: roaring::api::roaring_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_and_cardinality
    - ra_get_container_at_index
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_and_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18091,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18092,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18095
      start: 18089
    functionDepth: 0
    functionLinenumber: 18089
    functionLinenumberEnd: 18095
    functionName: roaring::api::roaring_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring_bitmap_jaccard_index(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18099,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18100,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18103
      start: 18097
    functionDepth: 0
    functionLinenumber: 18097
    functionLinenumberEnd: 18103
    functionName: roaring::api::roaring_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_or_cardinality(const roaring_bitmap_t *x1,\n
      \                                      const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18107,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18110
      start: 18105
    functionDepth: 0
    functionLinenumber: 18105
    functionLinenumberEnd: 18110
    functionName: roaring::api::roaring_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_andnot_cardinality(const roaring_bitmap_t
      *x1,\n                                           const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18114,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18115,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18118
      start: 18112
    functionDepth: 0
    functionLinenumber: 18112
    functionLinenumberEnd: 18118
    functionName: roaring::api::roaring_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_xor_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18126,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18132,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18135
      start: 18121
    functionDepth: 0
    functionLinenumber: 18121
    functionLinenumberEnd: 18135
    functionName: roaring::api::roaring_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_index
    - container_contains
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains(const roaring_bitmap_t *r, uint32_t val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18142,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18143,1
    - Dst: roaring::api::roaring_bitmap_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18146,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18150,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18154,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18155,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18163,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18166,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18168,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18171,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18172,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18176,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18177,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18182
      start: 18141
    functionDepth: 0
    functionLinenumber: 18141
    functionLinenumberEnd: 18182
    functionName: roaring::api::roaring_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - container_is_full
    - ra_get_index
    - ra_get_container_at_index
    - UINT64_C
    - roaring::api::roaring_bitmap_contains
    - container_contains_range
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains_range(const roaring_bitmap_t *r, uint64_t
      range_start, uint64_t range_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18187,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18188,1
    - Dst: roaring::api::roaring_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18190
      start: 18185
    functionDepth: 0
    functionLinenumber: 18185
    functionLinenumberEnd: 18190
    functionName: roaring::api::roaring_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_strict_subset(const roaring_bitmap_t *r1,\n
      \                                    const roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18232,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18238,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - rb
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18249
      start: 18222
    functionDepth: 1
    functionLinenumber: 18222
    functionLinenumberEnd: 18249
    functionName: roaring::api::roaring_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_run
    - __builtin_unreachable
    - const_CAST_array
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_frozen_size_in_bytes(const roaring_bitmap_t *rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena
    - num_bytes
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18255
      start: 18251
    functionDepth: 0
    functionLinenumber: 18251
    functionLinenumberEnd: 18255
    functionName: roaring::api::arena_alloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *arena_alloc(char **arena, size_t num_bytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18276,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18282,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18287,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18291,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18292,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18293,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18294,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18295,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18296,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18297,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18304,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18305,1
    - Dst: bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18311,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18316,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18318,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18325,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18327,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18333,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18335,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18337,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18338,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18340,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - rb
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18341
      start: 18257
    functionDepth: 1
    functionLinenumber: 18257
    functionLinenumberEnd: 18341
    functionName: roaring::api::roaring_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - bitset_container_compute_cardinality
    - const_CAST_run
    - roaring::api::arena_alloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_frozen_serialize(const roaring_bitmap_t *rb, char
      *buf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18354,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18387,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18408,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18414,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18421,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18428,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18435,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18437,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18444,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18454,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18455,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18456,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18459,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18463,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: "(rb ==\n           (roaring_bitmap_t *)((char *)rb->high_low_container.containers
        -\n                                sizeof(roaring_bitmap_t)))"
      pos:
        line_end: 18429
        line_start: 18427
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18469
      start: 18343
    functionDepth: 0
    functionLinenumber: 18343
    functionLinenumberEnd: 18469
    functionName: roaring::api::roaring_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring::api::arena_alloc
    - memcpy
    - UINT32_C
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: 'roaring_bitmap_t *

      roaring_bitmap_frozen_view(const char *buf, size_t length)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18482,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18485,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18514,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18544,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18550,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18555,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18558,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18559,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18566,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18581,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18592,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18596,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18600,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18609,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18623
      start: 18471
    functionDepth: 0
    functionLinenumber: 18471
    functionLinenumberEnd: 18623
    functionName: roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - arena_alloc
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15297
      start: 15295
    functionDepth: 0
    functionLinenumber: 15295
    functionLinenumberEnd: 15297
    functionName: roaring::api::is_cow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cow(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15300
      start: 15298
    functionDepth: 0
    functionLinenumber: 15298
    functionLinenumberEnd: 15300
    functionName: roaring::api::is_frozen
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15314,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15316,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15317,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15319,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15322,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15323,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15330,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15331,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - r
    - val
    - type
    - index
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15338
      start: 15307
    functionDepth: 0
    functionLinenumber: 15307
    functionLinenumberEnd: 15338
    functionName: roaring::api::containerptr_roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *containerptr_roaring_bitmap_add(\n    roaring_bitmap_t
      *r, uint32_t val,\n    uint8_t *type, int *index\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15342,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15346,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cap
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15352
      start: 15340
    functionDepth: 0
    functionLinenumber: 15340
    functionLinenumberEnd: 15352
    functionName: roaring::api::roaring_bitmap_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 18
    functionsReached:
    - ra_init_with_capacity
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create_with_capacity(uint32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - cap
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15356
      start: 15354
    functionDepth: 0
    functionLinenumber: 15354
    functionLinenumberEnd: 15356
    functionName: roaring::api::roaring_bitmap_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_init_with_capacity
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_init_with_capacity(roaring_bitmap_t *r, uint32_t
      cap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15365,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15375,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15379,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15386
      start: 15358
    functionDepth: 0
    functionLinenumber: 15358
    functionLinenumberEnd: 15386
    functionName: roaring::api::add_bulk_impl
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::api::containerptr_roaring_bitmap_add
    - container_add
    - ra_set_container_at_index
    - container_free
    linkageType: ''
    returnType: void
    signature: "void add_bulk_impl(roaring_bitmap_t *r,\n                                 roaring_bulk_context_t
      *context,\n                                 uint32_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15403,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15407,1
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15410
      start: 15388
    functionDepth: 0
    functionLinenumber: 15388
    functionLinenumberEnd: 15410
    functionName: roaring::api::roaring_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::api::add_bulk_impl
    - roaring::api::containerptr_roaring_bitmap_add
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_many(roaring_bitmap_t *r, size_t n_args,\n
      \                            const uint32_t *vals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15415
      start: 15412
    functionDepth: 0
    functionLinenumber: 15412
    functionLinenumberEnd: 15415
    functionName: roaring::api::roaring_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::api::add_bulk_impl
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_bulk(roaring_bitmap_t *r,\n                             roaring_bulk_context_t
      *context, uint32_t val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15427,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15428,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15432,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15435,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15443
      start: 15417
    functionDepth: 0
    functionLinenumber: 15417
    functionLinenumberEnd: 15443
    functionName: roaring::api::roaring_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - container_contains
    - ra_advance_until
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_bulk(const roaring_bitmap_t *r,\n                                  roaring_bulk_context_t
      *context,\n                                  uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15446,1
    - Dst: roaring::api::roaring_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15449
      start: 15445
    functionDepth: 0
    functionLinenumber: 15445
    functionLinenumberEnd: 15449
    functionName: roaring::api::roaring_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_many
    - roaring::api::roaring_bitmap_create
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of_ptr(size_t n_args, const uint32_t
      *vals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15454,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15458,1
    - Dst: va_start
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15459,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15461,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15462,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - n_args
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15466
      start: 15451
    functionDepth: 0
    functionLinenumber: 15451
    functionLinenumberEnd: 15466
    functionName: roaring::api::roaring_bitmap_of
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - va_end
    - roaring::api::roaring_bitmap_add_bulk
    - va_arg
    - roaring::api::roaring_bitmap_create
    - memset
    - va_start
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of(size_t n_args, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15470
      start: 15468
    functionDepth: 0
    functionLinenumber: 15468
    functionLinenumberEnd: 15470
    functionName: roaring::api::minimum_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minimum_uint32(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15474
      start: 15472
    functionDepth: 0
    functionLinenumber: 15472
    functionLinenumberEnd: 15474
    functionName: roaring::api::minimum_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum_uint64(uint64_t a, uint64_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15478,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15479,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15483,1
    - Dst: roaring::api::roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15486,1
    - Dst: roaring::api::minimum_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15494,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15496,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15504
      start: 15476
    functionDepth: 0
    functionLinenumber: 15476
    functionLinenumberEnd: 15504
    functionName: roaring::api::roaring_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_append
    - roaring::api::roaring_bitmap_add
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - container_from_range
    - roaring::api::minimum_uint64
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                            uint32_t step)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15517,1
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15518,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15523,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15536,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15537,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15542,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15547,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15554
      start: 15506
    functionDepth: 0
    functionLinenumber: 15506
    functionLinenumberEnd: 15554
    functionName: roaring::api::roaring_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - container_add_range
    - count_greater
    - count_less
    - container_from_range
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add_range_closed(roaring_bitmap_t *r, uint32_t
      min, uint32_t max)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15566,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15571,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15574,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15579,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15583,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15592
      start: 15556
    functionDepth: 0
    functionLinenumber: 15556
    functionLinenumberEnd: 15592
    functionName: roaring::api::roaring_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - count_less
    - container_free
    - container_remove_range
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove_range_closed(roaring_bitmap_t *r, uint32_t
      min, uint32_t max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15601,1
    - Dst: container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15603,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15607,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15611
      start: 15598
    functionDepth: 1
    functionLinenumber: 15598
    functionLinenumberEnd: 15611
    functionName: roaring::api::roaring_bitmap_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15616,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15618,1
    - Dst: get_full_container_name
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15619,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15620,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15622,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15624,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15628,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15632
      start: 15613
    functionDepth: 1
    functionLinenumber: 15613
    functionLinenumberEnd: 15632
    functionName: roaring::api::roaring_bitmap_printf_describe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - printf
    - container_get_cardinality
    - get_full_container_name
    - CAST_shared
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf_describe(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - value
    - param
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15647
      start: 15641
    functionDepth: 0
    functionLinenumber: 15641
    functionLinenumberEnd: 15647
    functionName: roaring::api::min_max_sum_fnc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool min_max_sum_fnc(uint32_t value, void *param)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15657,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15659,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15661,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15662,1
    - Dst: roaring::api::roaring_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15664,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15671,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15673,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15675,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15693,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring_bitmap_t*
    - roaring_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15692
        line_start: 15692
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 15697
      start: 15653
    functionDepth: 1
    functionLinenumber: 15653
    functionLinenumberEnd: 15697
    functionName: roaring::api::roaring_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_unreachable
    - roaring::api::roaring_bitmap_get_cardinality
    - container_get_cardinality
    - assert
    - roaring::api::roaring_iterate
    - container_size_in_bytes
    - memset
    - UINT32_C
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_statistics(const roaring_bitmap_t *r,\n                               roaring_statistics_t
      *stat)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15701,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15705,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15708,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15711,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15712,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15714,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15717,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15719
      start: 15699
    functionDepth: 0
    functionLinenumber: 15699
    functionLinenumberEnd: 15719
    functionName: roaring::api::roaring_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 27
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_free
    - roaring_free
    - roaring_malloc
    - ra_init_with_capacity
    - ra_overwrite
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_copy(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15723,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15723,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15724,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15726
      start: 15721
    functionDepth: 0
    functionLinenumber: 15721
    functionLinenumberEnd: 15726
    functionName: roaring::api::roaring_bitmap_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_overwrite
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_overwrite(roaring_bitmap_t *dest,\n                                     const
      roaring_bitmap_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_frozen
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15729,1
    - Dst: ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15730,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15733
      start: 15728
    functionDepth: 0
    functionLinenumber: 15728
    functionLinenumberEnd: 15733
    functionName: roaring::api::roaring_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::api::is_frozen
    - ra_clear
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_reset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15737
      start: 15735
    functionDepth: 0
    functionLinenumber: 15735
    functionLinenumberEnd: 15737
    functionName: roaring::api::roaring_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_reset
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_clear(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15743,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15746,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15748,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15751,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15753,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15754,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15758,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15759,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15765
      start: 15739
    functionDepth: 0
    functionLinenumber: 15739
    functionLinenumberEnd: 15765
    functionName: roaring::api::roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15769,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15773,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15775,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15778,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15782,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15784,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15785,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15790,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15795,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15796,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15805
      start: 15767
    functionDepth: 0
    functionLinenumber: 15767
    functionLinenumberEnd: 15805
    functionName: roaring::api::roaring_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_add_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15809,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15812,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15814,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15817,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15819,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15820,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15823,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15824,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15830
      start: 15807
    functionDepth: 0
    functionLinenumber: 15807
    functionLinenumberEnd: 15830
    functionName: roaring::api::roaring_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15834,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15838,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15840,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15843,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15847,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15849,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15850,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15855,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15858,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15867
      start: 15832
    functionDepth: 0
    functionLinenumber: 15832
    functionLinenumberEnd: 15867
    functionName: roaring::api::roaring_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15878,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15883,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15888,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15890,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15894,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15895,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15896,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15901
      start: 15869
    functionDepth: 0
    functionLinenumber: 15869
    functionLinenumberEnd: 15901
    functionName: roaring::api::roaring_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_index
    - container_remove
    - ra_remove_at_index
    - container_nonzero_cardinality
    - container_free
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_many(roaring_bitmap_t *r, size_t n_args,\n
      \                               const uint32_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15910,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15911,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15916,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15917,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15921,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15923,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15925,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15927,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15928,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15930,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15935,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15937,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15941
      start: 15904
    functionDepth: 0
    functionLinenumber: 15904
    functionLinenumberEnd: 15941
    functionName: roaring::api::roaring_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_and
    - ra_advance_until
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_and(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15949,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15952,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15955,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15957,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15961
      start: 15946
    functionDepth: 0
    functionLinenumber: 15946
    functionLinenumberEnd: 15961
    functionName: roaring::api::roaring_bitmap_or_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many(size_t number,\n                                         const
      roaring_bitmap_t **x)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15969,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15972,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15974,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15976,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15980
      start: 15966
    functionDepth: 0
    functionLinenumber: 15966
    functionLinenumberEnd: 15980
    functionName: roaring::api::roaring_bitmap_xor_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_lazy_xor_inplace
    - roaring::api::roaring_bitmap_lazy_xor
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor_many(size_t number,\n                                          const
      roaring_bitmap_t **x)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15987,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15988,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15993,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15994,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:15998,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16000,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16010,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16011,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16015,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16017,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16018,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16023,1
    - Dst: ra_advance_until_freeing
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16028,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16030,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16037,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16043,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16044
      start: 15983
    functionDepth: 0
    functionLinenumber: 15983
    functionLinenumberEnd: 16044
    functionName: roaring::api::roaring_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_size
    - ra_get_key_at_index
    - ra_advance_until_freeing
    - ra_get_container_at_index
    - container_and
    - ra_advance_until
    - ra_downsize
    - container_nonzero_cardinality
    - container_free
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_and_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16052,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16055,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16058,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16059,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16062,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16063,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16066,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16068,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16070,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16075,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16080,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16081,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16084,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16088,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16089,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16092,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16095,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16098,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16101,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16101,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16102,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16103,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16106,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16109,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16113,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16115,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16117,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16119,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16122
      start: 16046
    functionDepth: 0
    functionLinenumber: 16046
    functionLinenumberEnd: 16122
    functionName: roaring::api::roaring_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_or
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16134,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16139,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16140,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16143,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16145,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16146,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16150,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16151,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16155,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16157,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16164,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16165,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16170,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16173,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16175,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16175,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16176,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16177,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16182,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16188,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16192,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16193,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16195
      start: 16125
    functionDepth: 0
    functionLinenumber: 16125
    functionLinenumberEnd: 16195
    functionName: roaring::api::roaring_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_ior
    - container_or
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_or_inplace(roaring_bitmap_t *x1,\n                               const
      roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16203,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16206,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16209,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16210,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16213,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16214,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16217,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16219,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16221,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16223,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16224,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16226,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16232,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16233,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16236,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16238,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16238,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16239,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16240,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16243,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16246,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16249,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16251,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16251,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16252,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16253,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16256,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16259,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16263,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16265,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16267,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16269,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16272
      start: 16197
    functionDepth: 0
    functionLinenumber: 16197
    functionLinenumberEnd: 16272
    functionName: roaring::api::roaring_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16278,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16286,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16295,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16296,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16301,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16312,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16313,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16313,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16316,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16319,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16320,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16324,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16325,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16332,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16333,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16338,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16341,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16343,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16343,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16344,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16345,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16349,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16355,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16359,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16360,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 16277
        line_start: 16277
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16362
      start: 16276
    functionDepth: 0
    functionLinenumber: 16276
    functionLinenumberEnd: 16362
    functionName: roaring::api::roaring_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_ixor
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_xor_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16370,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16371,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16375,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16377,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16378,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16385,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16386,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16389,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16391,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16393,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16396,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16397,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16399,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16407,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16408,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16410,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16416,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16421,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16423,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16426
      start: 16364
    functionDepth: 0
    functionLinenumber: 16364
    functionLinenumberEnd: 16426
    functionName: roaring::api::roaring_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - container_andnot
    - ra_advance_until
    - roaring::api::roaring_bitmap_create
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_andnot(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16432,1
    - Dst: roaring::api::roaring_bitmap_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16442,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16448,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16449,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16452,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16454,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16465,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16466,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16466,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16469,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16472,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16473,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16477,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16484,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16485,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16489,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16492,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16499,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16502,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16504,1
    - Dst: ra_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16517,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16523,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 16431
        line_start: 16431
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16524
      start: 16430
    functionDepth: 0
    functionLinenumber: 16430
    functionLinenumberEnd: 16524
    functionName: roaring::api::roaring_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_key_at_index
    - container_iandnot
    - ra_get_container_at_index
    - assert
    - CAST_shared
    - container_andnot
    - ra_advance_until
    - ra_copy_range
    - ra_downsize
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_clear
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_andnot_inplace(roaring_bitmap_t *x1,\n                                   const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16533
      start: 16526
    functionDepth: 0
    functionLinenumber: 16526
    functionLinenumberEnd: 16533
    functionName: roaring::api::roaring_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 25
    functionsReached:
    - container_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_get_cardinality(const roaring_bitmap_t *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16541,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16554,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16557,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16560,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16564,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16575,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16578,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16587
      start: 16535
    functionDepth: 0
    functionLinenumber: 16535
    functionLinenumberEnd: 16587
    functionName: roaring::api::roaring_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - ra_get_index
    - UINT64_C
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality(const roaring_bitmap_t *r,\n
      \                                         uint64_t range_start,\n                                          uint64_t
      range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16592
      start: 16590
    functionDepth: 0
    functionLinenumber: 16590
    functionLinenumberEnd: 16592
    functionName: roaring::api::roaring_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_is_empty(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16596
      start: 16594
    functionDepth: 0
    functionLinenumber: 16594
    functionLinenumberEnd: 16596
    functionName: roaring::api::roaring_bitmap_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_to_uint32_array(const roaring_bitmap_t *r, uint32_t
      *ans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_range_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - offset
    - limit
    - ans
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16602
      start: 16598
    functionDepth: 0
    functionLinenumber: 16598
    functionLinenumberEnd: 16602
    functionName: roaring::api::roaring_bitmap_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_range_uint32_array
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_range_uint32_array(const roaring_bitmap_t *r,\n
      \                                      size_t offset, size_t limit,\n                                       uint32_t
      *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16613,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16615,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16617,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16624
      start: 16609
    functionDepth: 0
    functionLinenumber: 16609
    functionLinenumberEnd: 16624
    functionName: roaring::api::roaring_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_container_at_index
    - convert_run_optimize
    - ra_set_container_at_index
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_run_optimize(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16630,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16632,1
    - Dst: ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16636
      start: 16626
    functionDepth: 0
    functionLinenumber: 16626
    functionLinenumberEnd: 16636
    functionName: roaring::api::roaring_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_shrink_to_fit
    - container_shrink_to_fit
    - ra_get_container_at_index
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_shrink_to_fit(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16646,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16648,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16651,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16651,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16652,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16653,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16655,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16655,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16656,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16660,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16660,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16661,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16662,1
    - Dst: run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16663,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16663,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16670
      start: 16642
    functionDepth: 0
    functionLinenumber: 16642
    functionLinenumberEnd: 16670
    functionName: roaring::api::roaring_bitmap_remove_run_compression
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - run_container_cardinality
    - ra_get_container_at_index
    - CAST_shared
    - ra_set_container_at_index
    - run_container_free
    - shared_container_free
    - convert_to_bitset_or_array_container
    - CAST_run
    - get_container_type
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_run_compression(roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16673,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16674,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16678,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16681,1
    - Dst: roaring::api::roaring_bitmap_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16686
      start: 16672
    functionDepth: 0
    functionLinenumber: 16672
    functionLinenumberEnd: 16686
    functionName: roaring::api::roaring_bitmap_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_to_uint32_array
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_serialize
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_serialize(const roaring_bitmap_t *r, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16689,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16693
      start: 16688
    functionDepth: 0
    functionLinenumber: 16688
    functionLinenumberEnd: 16693
    functionName: roaring::api::roaring_bitmap_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_size_in_bytes(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16697
      start: 16695
    functionDepth: 0
    functionLinenumber: 16695
    functionLinenumberEnd: 16697
    functionName: roaring::api::roaring_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - ra_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_size_in_bytes(const roaring_bitmap_t
      *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16702,1
    - Dst: ra_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16707,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16708,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16709,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: (bytesread <= maxbytes)
      pos:
        line_end: 16707
        line_start: 16707
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16715
      start: 16700
    functionDepth: 0
    functionLinenumber: 16700
    functionLinenumberEnd: 16715
    functionName: roaring::api::roaring_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - assert
    - roaring_free
    - roaring_malloc
    - ra_portable_deserialize
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize_safe(const char
      *buf, size_t maxbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16719
      start: 16717
    functionDepth: 0
    functionLinenumber: 16717
    functionLinenumberEnd: 16719
    functionName: roaring::api::roaring_bitmap_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16724
      start: 16722
    functionDepth: 0
    functionLinenumber: 16722
    functionLinenumberEnd: 16724
    functionName: roaring::api::roaring_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_portable_deserialize_size
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_deserialize_size(const char *buf, size_t
      maxbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16730
      start: 16727
    functionDepth: 0
    functionLinenumber: 16727
    functionLinenumberEnd: 16730
    functionName: roaring::api::roaring_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - ra_portable_serialize
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring_bitmap_portable_serialize(const roaring_bitmap_t *r,\n
      \                                        char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16737,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16740,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16746,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16750,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16751,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16758
      start: 16732
    functionDepth: 0
    functionLinenumber: 16732
    functionLinenumberEnd: 16758
    functionName: roaring::api::roaring_bitmap_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize
    - roaring::api::roaring_bitmap_add_bulk
    - roaring::api::roaring_bitmap_create
    - memset
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_deserialize(const void *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16771
      start: 16760
    functionDepth: 0
    functionLinenumber: 16760
    functionLinenumberEnd: 16771
    functionName: roaring::api::roaring_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate(const roaring_bitmap_t *r, roaring_iterator iterator,\n
      \                    void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - r
    - iterator
    - high_bits
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16785
      start: 16773
    functionDepth: 0
    functionLinenumber: 16773
    functionLinenumberEnd: 16785
    functionName: roaring::api::roaring_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate64(const roaring_bitmap_t *r, roaring_iterator64
      iterator,\n                       uint64_t high_bits, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16819
      start: 16793
    functionDepth: 0
    functionLinenumber: 16793
    functionLinenumberEnd: 16819
    functionName: roaring::api::iter_new_container_partial_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 9
    functionsReached:
    - container_unwrap_shared
    linkageType: ''
    returnType: bool
    signature: bool iter_new_container_partial_init(roaring_uint32_iterator_t *newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16822,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16827,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16835,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16840,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16845,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 16850
        line_start: 16850
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16854
      start: 16821
    functionDepth: 1
    functionLinenumber: 16821
    functionLinenumberEnd: 16854
    functionName: roaring::api::loadfirstvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - assert
    - __builtin_ctzll
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadfirstvalue(roaring_uint32_iterator_t *newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16857,1
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16868,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 16887
        line_start: 16887
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 16891
      start: 16856
    functionDepth: 1
    functionLinenumber: 16856
    functionLinenumberEnd: 16891
    functionName: roaring::api::loadlastvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - __builtin_clzll
    - assert
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadlastvalue(roaring_uint32_iterator_t* newit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16896,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16901,1
    - Dst: bitset_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16903,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16908,1
    - Dst: array_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16910,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16916,1
    - Dst: run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16917,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - newit
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16931
      start: 16894
    functionDepth: 1
    functionLinenumber: 16894
    functionLinenumberEnd: 16931
    functionName: roaring::api::loadfirstvalue_largeorequal
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - array_container_index_equalorlarger
    - bitset_container_index_equalorlarger
    - const_CAST_bitset
    - const_CAST_run
    - run_container_index_equalorlarger
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: bool
    signature: bool loadfirstvalue_largeorequal(roaring_uint32_iterator_t *newit,
      uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16938
      start: 16933
    functionDepth: 0
    functionLinenumber: 16933
    functionLinenumberEnd: 16938
    functionName: roaring::api::roaring_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::api::loadfirstvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_init_iterator(const roaring_bitmap_t *r,\n                           roaring_uint32_iterator_t
      *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16945
      start: 16940
    functionDepth: 0
    functionLinenumber: 16940
    functionLinenumberEnd: 16945
    functionName: roaring::api::roaring_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_init_iterator_last(const roaring_bitmap_t *r,\n                                roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16949,1
    - Dst: roaring::api::roaring_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16953
      start: 16947
    functionDepth: 0
    functionLinenumber: 16947
    functionLinenumberEnd: 16953
    functionName: roaring::api::roaring_create_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_init_iterator
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: roaring_uint32_iterator_t *roaring_create_iterator(const roaring_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16958,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16961
      start: 16955
    functionDepth: 0
    functionLinenumber: 16955
    functionLinenumberEnd: 16961
    functionName: roaring::api::roaring_copy_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: "roaring_uint32_iterator_t *roaring_copy_uint32_iterator(\n    const
      roaring_uint32_iterator_t *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16965,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16967,1
    - Dst: roaring::api::loadfirstvalue_largeorequal
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16973,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16982
      start: 16963
    functionDepth: 0
    functionLinenumber: 16963
    functionLinenumberEnd: 16982
    functionName: roaring::api::roaring_move_uint32_iterator_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - container_maximum
    - ra_get_index
    - roaring::api::loadfirstvalue
    - roaring::api::loadfirstvalue_largeorequal
    linkageType: ''
    returnType: bool
    signature: bool roaring_move_uint32_iterator_equalorlarger(roaring_uint32_iterator_t
      *it, uint32_t val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16991,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:16996,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17011,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17018,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17032,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17048,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17053,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17054
      start: 16985
    functionDepth: 1
    functionLinenumber: 16985
    functionLinenumberEnd: 17054
    functionName: roaring::api::roaring_advance_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - roaring::api::loadfirstvalue
    - const_CAST_bitset
    - const_CAST_run
    - __builtin_ctzll
    linkageType: ''
    returnType: bool
    signature: bool roaring_advance_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17062,1
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17080,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17111,1
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17116,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 17110
        line_start: 17110
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17117
      start: 17056
    functionDepth: 1
    functionLinenumber: 17056
    functionLinenumberEnd: 17117
    functionName: roaring::api::roaring_previous_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - __builtin_clzll
    - assert
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: bool
    signature: bool roaring_previous_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17131,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17136,1
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17148,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17153,1
    - Dst: roaring::api::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17154,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17167,1
    - Dst: roaring::api::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17171,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17190,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17193,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17197,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 17189
        line_start: 17189
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (ret == count)
      pos:
        line_end: 17192
        line_start: 17192
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17200
      start: 17119
    functionDepth: 1
    functionLinenumber: 17119
    functionLinenumberEnd: 17200
    functionName: roaring::api::roaring_read_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::api::loadfirstvalue
    - const_CAST_bitset
    - const_CAST_run
    - assert
    - roaring::api::minimum_uint32
    - __builtin_ctzll
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_read_uint32_iterator(roaring_uint32_iterator_t *it,
      uint32_t* buf, uint32_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17204
      start: 17204
    functionDepth: 0
    functionLinenumber: 17204
    functionLinenumberEnd: 17204
    functionName: roaring::api::roaring_free_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_free_uint32_iterator(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17233
      start: 17210
    functionDepth: 0
    functionLinenumber: 17210
    functionLinenumberEnd: 17233
    functionName: roaring::api::roaring_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_equals
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_equals(const roaring_bitmap_t *r1,\n                           const
      roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17246,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17247,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17251,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17252,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17253,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17267
      start: 17235
    functionDepth: 0
    functionLinenumber: 17235
    functionLinenumberEnd: 17267
    functionName: roaring::api::roaring_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_is_subset
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_subset(const roaring_bitmap_t *r1,\n                              const
      roaring_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17272,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17273,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17278,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17280,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17283,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17284,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17287,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17290,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ans_arr
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17295
      start: 17269
    functionDepth: 0
    functionLinenumber: 17269
    functionLinenumberEnd: 17295
    functionName: roaring::api::insert_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - container_not_range
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - container_get_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_flipped_container(roaring_array_t *ans_arr,\n                                     const
      roaring_array_t *x1_arr, uint16_t hb,\n                                     uint16_t
      lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17304,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17305,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17309,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17310,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17312,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17313,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17317,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17322
      start: 17297
    functionDepth: 0
    functionLinenumber: 17297
    functionLinenumberEnd: 17322
    functionName: roaring::api::inplace_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_inot_range
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void inplace_flip_container(roaring_array_t *x1_arr, uint16_t hb,\n
      \                                  uint16_t lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17327,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17328,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17333,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17335,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17336,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17337,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17340,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17343,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ans_arr
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17347
      start: 17324
    functionDepth: 0
    functionLinenumber: 17324
    functionLinenumberEnd: 17347
    functionName: roaring::api::insert_fully_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_get_index
    - container_not
    - container_range_of_ones
    - ra_get_container_at_index
    - container_get_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_fully_flipped_container(roaring_array_t *ans_arr,\n                                           const
      roaring_array_t *x1_arr,\n                                           uint16_t
      hb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17350,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17355,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17357,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17359,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17360,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17362,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17363,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17367,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17371
      start: 17349
    functionDepth: 0
    functionLinenumber: 17349
    functionLinenumberEnd: 17371
    functionName: roaring::api::inplace_fully_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_inot
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: void inplace_fully_flip_container(roaring_array_t *x1_arr, uint16_t
      hb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17377,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17379,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17380,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17383,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17384,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17384,1
    - Dst: ra_append_copies_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17391,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17392,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17394,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17401,1
    - Dst: roaring::api::insert_fully_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17410,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17416,1
    - Dst: ra_append_copies_after
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17422,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17425
      start: 17373
    functionDepth: 0
    functionLinenumber: 17373
    functionLinenumberEnd: 17425
    functionName: roaring::api::roaring_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::insert_flipped_container
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - ra_append_copies_until
    - roaring::api::roaring_bitmap_copy
    - roaring::api::insert_fully_flipped_container
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_append_copies_after
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip(const roaring_bitmap_t *x1,\n
      \                                     uint64_t range_start,\n                                      uint64_t
      range_end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17432,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17433,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17442,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17448,1
    - Dst: roaring::api::inplace_fully_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17456,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17465
      start: 17427
    functionDepth: 0
    functionLinenumber: 17427
    functionLinenumberEnd: 17465
    functionName: roaring::api::roaring_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    - roaring::api::inplace_fully_flip_container
    - roaring::api::inplace_flip_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace(roaring_bitmap_t *x1, uint64_t range_start,\n
      \                                uint64_t range_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17468,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17469,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17471,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17481,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17484,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17489,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - k
    - c
    - t
    argTypes:
    - roaring_array_t*
    - int
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17492
      start: 17467
    functionDepth: 0
    functionLinenumber: 17467
    functionLinenumberEnd: 17492
    functionName: roaring::api::offset_append_with_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_append
    - ra_set_container_at_index
    - container_ior
    - container_free
    linkageType: ''
    returnType: void
    signature: void offset_append_with_merge(roaring_array_t *ra, int k, container_t
      *c, uint8_t t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17510,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17516,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17517,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17517,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17525,1
    - Dst: ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17532,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17548,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17559,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17560,1
    - Dst: container_add_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17562,1
    - Dst: roaring::api::offset_append_with_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17564,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17567,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - bm
    - offset
    argTypes:
    - roaring_bitmap_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17572
      start: 17499
    functionDepth: 0
    functionLinenumber: 17499
    functionLinenumberEnd: 17572
    functionName: roaring::api::roaring_bitmap_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - roaring::api::offset_append_with_merge
    - roaring::api::roaring_bitmap_create
    - container_add_offset
    - roaring::api::roaring_bitmap_copy
    - container_unwrap_shared
    - ra_append_copy
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_add_offset(const roaring_bitmap_t
      *bm,\n                                            int64_t offset)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17581,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17584,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17587,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17588,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17591,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17592,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17595,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17597,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17601,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17602,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17605,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17606,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17608,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17611,1
    - Dst: container_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17614,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17620,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17625,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17626,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17629,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17631,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17631,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17632,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17633,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17636,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17639,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17642,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17644,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17644,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17645,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17646,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17649,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17652,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17656,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17658,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17660,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17662,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17665
      start: 17574
    functionDepth: 0
    functionLinenumber: 17574
    functionLinenumberEnd: 17665
    functionName: roaring::api::roaring_bitmap_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_ior
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    - container_mutable_unwrap_shared
    - container_lazy_or
    - get_container_type
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_or(const roaring_bitmap_t *x1,\n
      \                                        const roaring_bitmap_t *x2,\n                                         const
      bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17677,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17682,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17683,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17686,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17688,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17690,1
    - Dst: get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17692,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17697,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17698,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17699,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17703,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17705,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17710,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17713,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17720,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17721,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17726,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17729,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17732,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17732,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17733,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17734,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17737,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17743,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17747,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17748,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17750
      start: 17667
    functionDepth: 0
    functionLinenumber: 17667
    functionLinenumberEnd: 17750
    functionName: roaring::api::roaring_bitmap_lazy_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - get_writable_copy_if_shared
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_lazy_ior
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    - container_mutable_unwrap_shared
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_or_inplace(roaring_bitmap_t *x1,\n                                    const
      roaring_bitmap_t *x2,\n                                    const bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17758,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17761,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17764,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17765,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17768,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17769,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17772,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17774,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17776,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17779,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17780,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17782,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17789,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17790,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17793,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17795,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17795,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17796,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17797,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17800,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17803,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17806,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17808,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17808,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17809,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17810,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17813,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17816,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17820,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17822,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17824,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17826,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17829
      start: 17752
    functionDepth: 0
    functionLinenumber: 17752
    functionLinenumberEnd: 17829
    functionName: roaring::api::roaring_bitmap_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_xor
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_xor(const roaring_bitmap_t *x1,\n
      \                                         const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17833,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17841,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17846,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17847,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17850,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17852,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17863,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17864,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17864,1
    - Dst: container_lazy_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17867,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17870,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17871,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17875,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17876,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17882,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17883,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17888,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17891,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17894,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17894,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17895,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17896,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17899,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17905,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17909,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17910,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 17832
        line_start: 17832
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 17912
      start: 17831
    functionDepth: 0
    functionLinenumber: 17831
    functionLinenumberEnd: 17912
    functionName: roaring::api::roaring_bitmap_lazy_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - container_lazy_ixor
    - roaring::api::is_cow
    - ra_set_container_at_index
    - ra_append_copy_range
    - container_lazy_xor
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_xor_inplace(roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17925
      start: 17914
    functionDepth: 0
    functionLinenumber: 17914
    functionLinenumberEnd: 17925
    functionName: roaring::api::roaring_bitmap_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 8
    functionsReached:
    - container_repair_after_lazy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_repair_after_lazy(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17940,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17951
      start: 17933
    functionDepth: 0
    functionLinenumber: 17933
    functionLinenumberEnd: 17951
    functionName: roaring::api::roaring_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_rank(const roaring_bitmap_t *bm, uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17966
      start: 17957
    functionDepth: 0
    functionLinenumber: 17957
    functionLinenumberEnd: 17966
    functionName: roaring::api::roaring_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_minimum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_minimum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17984
      start: 17972
    functionDepth: 0
    functionLinenumber: 17972
    functionLinenumberEnd: 17984
    functionName: roaring::api::roaring_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_maximum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_maximum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:17998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bm
    - rank
    - element
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18008
      start: 17986
    functionDepth: 0
    functionLinenumber: 17986
    functionLinenumberEnd: 18008
    functionName: roaring::api::roaring_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_select
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_select(const roaring_bitmap_t *bm, uint32_t rank,\n
      \                          uint32_t *element)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18018,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18019,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18023,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18025,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18027,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18032,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18038
      start: 18010
    functionDepth: 0
    functionLinenumber: 18010
    functionLinenumberEnd: 18038
    functionName: roaring::api::roaring_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - container_intersect
    - ra_get_key_at_index
    - ra_advance_until
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect(const roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18047,1
    - Dst: roaring::api::roaring_move_uint32_iterator_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - bm
    - x
    - y
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18057
      start: 18040
    functionDepth: 0
    functionLinenumber: 18040
    functionLinenumberEnd: 18057
    functionName: roaring::api::roaring_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_init_iterator
    - roaring::api::roaring_move_uint32_iterator_equalorlarger
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect_with_range(const roaring_bitmap_t *bm,\n
      \                                        uint64_t x, uint64_t y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18068,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18069,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18073,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18075,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18077,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18081,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18087
      start: 18060
    functionDepth: 0
    functionLinenumber: 18060
    functionLinenumberEnd: 18087
    functionName: roaring::api::roaring_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 12
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_and_cardinality
    - ra_get_container_at_index
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_and_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18091,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18092,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18095
      start: 18089
    functionDepth: 0
    functionLinenumber: 18089
    functionLinenumberEnd: 18095
    functionName: roaring::api::roaring_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring_bitmap_jaccard_index(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18099,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18100,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18103
      start: 18097
    functionDepth: 0
    functionLinenumber: 18097
    functionLinenumberEnd: 18103
    functionName: roaring::api::roaring_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_or_cardinality(const roaring_bitmap_t *x1,\n
      \                                      const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18107,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18110
      start: 18105
    functionDepth: 0
    functionLinenumber: 18105
    functionLinenumberEnd: 18110
    functionName: roaring::api::roaring_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_andnot_cardinality(const roaring_bitmap_t
      *x1,\n                                           const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18114,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18115,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18118
      start: 18112
    functionDepth: 0
    functionLinenumber: 18112
    functionLinenumberEnd: 18118
    functionName: roaring::api::roaring_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_xor_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18126,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18132,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18135
      start: 18121
    functionDepth: 0
    functionLinenumber: 18121
    functionLinenumberEnd: 18135
    functionName: roaring::api::roaring_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_get_index
    - container_contains
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains(const roaring_bitmap_t *r, uint32_t val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18142,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18143,1
    - Dst: roaring::api::roaring_bitmap_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18146,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18150,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18154,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18155,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18163,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18166,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18168,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18171,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18172,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18176,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18177,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18182
      start: 18141
    functionDepth: 0
    functionLinenumber: 18141
    functionLinenumberEnd: 18182
    functionName: roaring::api::roaring_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - container_is_full
    - ra_get_index
    - ra_get_container_at_index
    - UINT64_C
    - roaring::api::roaring_bitmap_contains
    - container_contains_range
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains_range(const roaring_bitmap_t *r, uint64_t
      range_start, uint64_t range_end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18187,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18188,1
    - Dst: roaring::api::roaring_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18190
      start: 18185
    functionDepth: 0
    functionLinenumber: 18185
    functionLinenumberEnd: 18190
    functionName: roaring::api::roaring_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_strict_subset(const roaring_bitmap_t *r1,\n
      \                                    const roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18232,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18238,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - rb
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18249
      start: 18222
    functionDepth: 1
    functionLinenumber: 18222
    functionLinenumberEnd: 18249
    functionName: roaring::api::roaring_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_run
    - __builtin_unreachable
    - const_CAST_array
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_frozen_size_in_bytes(const roaring_bitmap_t *rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena
    - num_bytes
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18255
      start: 18251
    functionDepth: 0
    functionLinenumber: 18251
    functionLinenumberEnd: 18255
    functionName: roaring::api::arena_alloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *arena_alloc(char **arena, size_t num_bytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18276,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18282,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18287,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18291,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18292,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18293,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18294,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18295,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18296,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18297,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18304,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18305,1
    - Dst: bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18311,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18316,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18318,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18325,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18327,1
    - Dst: __builtin_unreachable
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18333,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18335,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18337,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18338,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18340,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - rb
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18341
      start: 18257
    functionDepth: 1
    functionLinenumber: 18257
    functionLinenumberEnd: 18341
    functionName: roaring::api::roaring_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - __builtin_unreachable
    - const_CAST_bitset
    - bitset_container_compute_cardinality
    - const_CAST_run
    - roaring::api::arena_alloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_frozen_serialize(const roaring_bitmap_t *rb, char
      *buf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18354,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18387,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18408,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18414,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18421,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18428,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18435,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18437,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18444,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18454,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18455,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18456,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18459,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18463,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: "(rb ==\n           (roaring_bitmap_t *)((char *)rb->high_low_container.containers
        -\n                                sizeof(roaring_bitmap_t)))"
      pos:
        line_end: 18429
        line_start: 18427
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18469
      start: 18343
    functionDepth: 0
    functionLinenumber: 18343
    functionLinenumberEnd: 18469
    functionName: roaring::api::roaring_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring::api::arena_alloc
    - memcpy
    - UINT32_C
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: 'roaring_bitmap_t *

      roaring_bitmap_frozen_view(const char *buf, size_t length)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18482,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18485,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18514,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18544,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18550,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18555,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18558,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18559,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18566,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18581,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18592,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18596,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18600,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18609,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18623
      start: 18471
    functionDepth: 0
    functionLinenumber: 18471
    functionLinenumberEnd: 18623
    functionName: roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - arena_alloc
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18671,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18680,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18686,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18689,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18690,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18691,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ra
    - new_capacity
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: "((char *)(newtypecodes + new_capacity) ==\n           (char *)bigalloc
        + memoryneeded)"
      pos:
        line_end: 18686
        line_start: 18685
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18699
      start: 18664
    functionDepth: 0
    functionLinenumber: 18664
    functionLinenumberEnd: 18699
    functionName: roaring::internal::realloc_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring_malloc
    - assert
    - memcpy
    - roaring_free
    linkageType: ''
    returnType: bool
    signature: bool realloc_array(roaring_array_t *ra, int32_t new_capacity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18703,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - new_ra
    - cap
    argTypes:
    - roaring_array_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18718
      start: 18701
    functionDepth: 0
    functionLinenumber: 18701
    functionLinenumberEnd: 18718
    functionName: roaring::internal::ra_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_init
    - roaring_malloc
    linkageType: ''
    returnType: bool
    signature: bool ra_init_with_capacity(roaring_array_t *new_ra, uint32_t cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18728
      start: 18720
    functionDepth: 0
    functionLinenumber: 18720
    functionLinenumberEnd: 18728
    functionName: roaring::internal::ra_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: int
    signature: int ra_shrink_to_fit(roaring_array_t *ra)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - new_ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18739
      start: 18730
    functionDepth: 0
    functionLinenumber: 18730
    functionLinenumberEnd: 18739
    functionName: roaring::internal::ra_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ra_init(roaring_array_t *new_ra)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18743,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18749,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18754,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18758,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18762,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18764,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18767,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18771,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18774,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18776,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - source
    - dest
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18782
      start: 18741
    functionDepth: 0
    functionLinenumber: 18741
    functionLinenumberEnd: 18782
    functionName: roaring::internal::ra_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::realloc_array
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_free
    - roaring::internal::ra_clear_containers
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_overwrite(const roaring_array_t *source, roaring_array_t *dest,\n
      \                 bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18788
      start: 18784
    functionDepth: 0
    functionLinenumber: 18784
    functionLinenumberEnd: 18788
    functionName: roaring::internal::ra_clear_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18791,1
    - Dst: roaring::internal::ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18794
      start: 18790
    functionDepth: 0
    functionLinenumber: 18790
    functionLinenumberEnd: 18794
    functionName: roaring::internal::ra_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_shrink_to_fit
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_reset(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18803
      start: 18796
    functionDepth: 0
    functionLinenumber: 18796
    functionLinenumberEnd: 18803
    functionName: roaring::internal::ra_clear_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_without_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18806,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18808
      start: 18805
    functionDepth: 0
    functionLinenumber: 18805
    functionLinenumberEnd: 18808
    functionName: roaring::internal::ra_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_clear(roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18813,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - k
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (desired_size <= max_containers)
      pos:
        line_end: 18812
        line_start: 18812
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18824
      start: 18810
    functionDepth: 0
    functionLinenumber: 18810
    functionLinenumberEnd: 18824
    functionName: roaring::internal::extend_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: bool
    signature: bool extend_array(roaring_array_t *ra, int32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18837
      start: 18826
    functionDepth: 0
    functionLinenumber: 18826
    functionLinenumberEnd: 18837
    functionName: roaring::internal::ra_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append(\n    roaring_array_t *ra, uint16_t key,\n    container_t
      *c, uint8_t typecode\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18841,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18848,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - sa
    - index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18858
      start: 18839
    functionDepth: 0
    functionLinenumber: 18839
    functionLinenumberEnd: 18858
    functionName: roaring::internal::ra_append_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy(roaring_array_t *ra, const roaring_array_t *sa,\n
      \                   uint16_t index, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - sa
    - stopping_key
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18866
      start: 18860
    functionDepth: 0
    functionLinenumber: 18860
    functionLinenumberEnd: 18866
    functionName: roaring::internal::ra_append_copies_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_append_copy
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_until(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t stopping_key, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18871,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18876,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18887
      start: 18868
    functionDepth: 0
    functionLinenumber: 18868
    functionLinenumberEnd: 18887
    functionName: roaring::internal::ra_append_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy_range(roaring_array_t *ra, const roaring_array_t
      *sa,\n                          int32_t start_index, int32_t end_index,\n                          bool
      copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18891,1
    - Dst: roaring::internal::ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ra
    - sa
    - before_start
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18897
      start: 18889
    functionDepth: 0
    functionLinenumber: 18889
    functionLinenumberEnd: 18897
    functionName: roaring::internal::ra_append_copies_after
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_get_index
    - roaring::internal::ra_append_copy_range
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_after(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t before_start, bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18911
      start: 18899
    functionDepth: 0
    functionLinenumber: 18899
    functionLinenumberEnd: 18911
    functionName: roaring::internal::ra_append_move_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_move_range(roaring_array_t *ra, roaring_array_t *sa,\n
      \                         int32_t start_index, int32_t end_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18916,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18922,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18933
      start: 18913
    functionDepth: 0
    functionLinenumber: 18913
    functionLinenumberEnd: 18933
    functionName: roaring::internal::ra_append_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_range(roaring_array_t *ra, roaring_array_t *sa,\n                     int32_t
      start_index, int32_t end_index,\n                     bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ra
    - x
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18942
      start: 18935
    functionDepth: 0
    functionLinenumber: 18935
    functionLinenumberEnd: 18942
    functionName: roaring::internal::ra_get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container(\n    roaring_array_t *ra, uint16_t
      x, uint8_t *typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18963
      start: 18957
    functionDepth: 0
    functionLinenumber: 18957
    functionLinenumberEnd: 18963
    functionName: roaring::internal::ra_advance_until_freeing
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_advance_until_freeing(roaring_array_t *ra, uint16_t x, int32_t
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18969,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18971,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18973,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18981
      start: 18965
    functionDepth: 0
    functionLinenumber: 18965
    functionLinenumberEnd: 18981
    functionName: roaring::internal::ra_insert_new_key_value_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_insert_new_key_value_at(\n    roaring_array_t *ra, int32_t
      i, uint16_t key,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - new_length
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (new_length <= ra->size)
      pos:
        line_end: 18988
        line_start: 18988
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18991
      start: 18988
    functionDepth: 0
    functionLinenumber: 18988
    functionLinenumberEnd: 18991
    functionName: roaring::internal::ra_downsize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ra_downsize(roaring_array_t *ra, int32_t new_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18994,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18996,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19001
      start: 18993
    functionDepth: 0
    functionLinenumber: 18993
    functionLinenumberEnd: 19001
    functionName: roaring::internal::ra_remove_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19004,1
    - Dst: roaring::internal::ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19006
      start: 19003
    functionDepth: 0
    functionLinenumber: 19003
    functionLinenumberEnd: 19006
    functionName: roaring::internal::ra_remove_at_index_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    - roaring::internal::ra_remove_at_index
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index_and_free(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19015,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19016,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19023,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19025,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - begin
    - end
    - new_begin
    argTypes:
    - roaring_array_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (begin <= end)
      pos:
        line_end: 19014
        line_start: 19014
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (new_begin < begin)
      pos:
        line_end: 19015
        line_start: 19015
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19029
      start: 19013
    functionDepth: 0
    functionLinenumber: 19013
    functionLinenumberEnd: 19029
    functionName: roaring::internal::ra_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    linkageType: ''
    returnType: void
    signature: "void ra_copy_range(roaring_array_t *ra, uint32_t begin, uint32_t end,\n
      \                  uint32_t new_begin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19033,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19037,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19039,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ra
    - count
    - distance
    argTypes:
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19044
      start: 19031
    functionDepth: 0
    functionLinenumber: 19031
    functionLinenumberEnd: 19044
    functionName: roaring::internal::ra_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: void ra_shift_tail(roaring_array_t *ra, int32_t count, int32_t distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - ans
    argTypes:
    - roaring_array_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19055
      start: 19047
    functionDepth: 0
    functionLinenumber: 19047
    functionLinenumberEnd: 19055
    functionName: roaring::internal::ra_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void ra_to_uint32_array(const roaring_array_t *ra, uint32_t *ans)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19071,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19075,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19078,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19081,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19081,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19089,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19093,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19097,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19099,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19102,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19104,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19105,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19110,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19112,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19116,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19118,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19122,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19124,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19134,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19135,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 4
    argNames:
    - ra
    - offset
    - limit
    - ans
    argTypes:
    - roaring_array_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19138
      start: 19057
    functionDepth: 0
    functionLinenumber: 19057
    functionLinenumberEnd: 19138
    functionName: roaring::internal::ra_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring_malloc
    - roaring_free
    - free
    - memset
    - roaring::internal::run_container_cardinality
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool ra_range_uint32_array(const roaring_array_t *ra, size_t offset,
      size_t limit, uint32_t *ans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19147
      start: 19140
    functionDepth: 0
    functionLinenumber: 19140
    functionLinenumberEnd: 19147
    functionName: roaring::internal::ra_has_run_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_container_type
    linkageType: ''
    returnType: bool
    signature: bool ra_has_run_container(const roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19160
      start: 19149
    functionDepth: 0
    functionLinenumber: 19149
    functionLinenumberEnd: 19160
    functionName: roaring::internal::ra_portable_header_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_has_run_container
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ra_portable_header_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_portable_header_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19163,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19169
      start: 19162
    functionDepth: 0
    functionLinenumber: 19162
    functionLinenumberEnd: 19169
    functionName: roaring::internal::ra_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_size_in_bytes
    - roaring::internal::ra_portable_header_size
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_size_in_bytes(const roaring_array_t *ra)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19175,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19178,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19181,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19182,1
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19184,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19189,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19191,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19200,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19202,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19208,1
    - Dst: roaring::internal::container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19213,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19214,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19220,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19224,1
    - Dst: roaring::internal::container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - ra
    - buf
    argTypes:
    - roaring_array_t*
    - char*
    assertStmts:
    - condition: (bitmapOfRunContainers != NULL)
      pos:
        line_end: 19181
        line_start: 19181
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19231
      start: 19172
    functionDepth: 0
    functionLinenumber: 19172
    functionLinenumberEnd: 19231
    functionName: roaring::internal::ra_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring::internal::get_container_type
    - assert
    - roaring::internal::ra_has_run_container
    - roaring::internal::container_get_cardinality
    - roaring_free
    - roaring::internal::container_size_in_bytes
    - memcpy
    - roaring::internal::container_write
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_serialize(const roaring_array_t *ra, char *buf)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19244,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19257,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19285,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19304,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19318
      start: 19240
    functionDepth: 0
    functionLinenumber: 19240
    functionLinenumberEnd: 19318
    functionName: roaring::internal::ra_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_deserialize_size(const char *buf, const size_t maxbytes)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19328,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19332,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19336,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19347,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19350,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19354,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19359,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19369,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19379,1
    - Dst: roaring::internal::ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19384,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19386,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19392,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19398,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19399,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19409,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19424,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19425,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19429,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19431,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19432,1
    - Dst: roaring::internal::bitset_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19436,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19443,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19444,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19448,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19452,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19453,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19458,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19460,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19461,1
    - Dst: roaring::internal::run_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19465,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19473,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19474,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19479,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19481,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19482,1
    - Dst: roaring::internal::array_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19486,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 129
    argCount: 4
    argNames:
    - answer
    - buf
    - maxbytes
    - readbytes
    argTypes:
    - roaring_array_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19492
      start: 19325
    functionDepth: 1
    functionLinenumber: 19325
    functionLinenumberEnd: 19492
    functionName: roaring::internal::ra_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::array_container_read
    - roaring::internal::ra_clear
    - roaring::internal::ra_init_with_capacity
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_read
    - roaring::internal::run_container_create
    - fprintf
    - roaring::internal::run_container_read
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: bool ra_portable_deserialize(roaring_array_t *answer, const char *buf,
      const size_t maxbytes, size_t * readbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18671,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18680,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18686,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18689,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18690,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18691,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ra
    - new_capacity
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: "((char *)(newtypecodes + new_capacity) ==\n           (char *)bigalloc
        + memoryneeded)"
      pos:
        line_end: 18686
        line_start: 18685
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18699
      start: 18664
    functionDepth: 0
    functionLinenumber: 18664
    functionLinenumberEnd: 18699
    functionName: roaring::internal::realloc_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring_malloc
    - assert
    - memcpy
    - roaring_free
    linkageType: ''
    returnType: bool
    signature: bool realloc_array(roaring_array_t *ra, int32_t new_capacity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18703,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - new_ra
    - cap
    argTypes:
    - roaring_array_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18718
      start: 18701
    functionDepth: 0
    functionLinenumber: 18701
    functionLinenumberEnd: 18718
    functionName: roaring::internal::ra_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::ra_init
    - roaring_malloc
    linkageType: ''
    returnType: bool
    signature: bool ra_init_with_capacity(roaring_array_t *new_ra, uint32_t cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18728
      start: 18720
    functionDepth: 0
    functionLinenumber: 18720
    functionLinenumberEnd: 18728
    functionName: roaring::internal::ra_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: int
    signature: int ra_shrink_to_fit(roaring_array_t *ra)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - new_ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18739
      start: 18730
    functionDepth: 0
    functionLinenumber: 18730
    functionLinenumberEnd: 18739
    functionName: roaring::internal::ra_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ra_init(roaring_array_t *new_ra)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18743,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18749,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18754,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18758,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18762,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18764,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18767,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18771,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18774,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18776,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - source
    - dest
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18782
      start: 18741
    functionDepth: 0
    functionLinenumber: 18741
    functionLinenumberEnd: 18782
    functionName: roaring::internal::ra_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::realloc_array
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_free
    - roaring::internal::ra_clear_containers
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_overwrite(const roaring_array_t *source, roaring_array_t *dest,\n
      \                 bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18788
      start: 18784
    functionDepth: 0
    functionLinenumber: 18784
    functionLinenumberEnd: 18788
    functionName: roaring::internal::ra_clear_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18791,1
    - Dst: roaring::internal::ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18794
      start: 18790
    functionDepth: 0
    functionLinenumber: 18790
    functionLinenumberEnd: 18794
    functionName: roaring::internal::ra_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_shrink_to_fit
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_reset(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18803
      start: 18796
    functionDepth: 0
    functionLinenumber: 18796
    functionLinenumberEnd: 18803
    functionName: roaring::internal::ra_clear_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_without_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18806,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18808
      start: 18805
    functionDepth: 0
    functionLinenumber: 18805
    functionLinenumberEnd: 18808
    functionName: roaring::internal::ra_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_clear(roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18813,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - k
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (desired_size <= max_containers)
      pos:
        line_end: 18812
        line_start: 18812
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18824
      start: 18810
    functionDepth: 0
    functionLinenumber: 18810
    functionLinenumberEnd: 18824
    functionName: roaring::internal::extend_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - assert
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: bool
    signature: bool extend_array(roaring_array_t *ra, int32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18837
      start: 18826
    functionDepth: 0
    functionLinenumber: 18826
    functionLinenumberEnd: 18837
    functionName: roaring::internal::ra_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append(\n    roaring_array_t *ra, uint16_t key,\n    container_t
      *c, uint8_t typecode\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18841,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18848,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - sa
    - index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18858
      start: 18839
    functionDepth: 0
    functionLinenumber: 18839
    functionLinenumberEnd: 18858
    functionName: roaring::internal::ra_append_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy(roaring_array_t *ra, const roaring_array_t *sa,\n
      \                   uint16_t index, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - sa
    - stopping_key
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18866
      start: 18860
    functionDepth: 0
    functionLinenumber: 18860
    functionLinenumberEnd: 18866
    functionName: roaring::internal::ra_append_copies_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_append_copy
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_until(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t stopping_key, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18871,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18876,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18887
      start: 18868
    functionDepth: 0
    functionLinenumber: 18868
    functionLinenumberEnd: 18887
    functionName: roaring::internal::ra_append_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy_range(roaring_array_t *ra, const roaring_array_t
      *sa,\n                          int32_t start_index, int32_t end_index,\n                          bool
      copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18891,1
    - Dst: roaring::internal::ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ra
    - sa
    - before_start
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18897
      start: 18889
    functionDepth: 0
    functionLinenumber: 18889
    functionLinenumberEnd: 18897
    functionName: roaring::internal::ra_append_copies_after
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_get_index
    - roaring::internal::ra_append_copy_range
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_after(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t before_start, bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18911
      start: 18899
    functionDepth: 0
    functionLinenumber: 18899
    functionLinenumberEnd: 18911
    functionName: roaring::internal::ra_append_move_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_move_range(roaring_array_t *ra, roaring_array_t *sa,\n
      \                         int32_t start_index, int32_t end_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18916,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18922,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18933
      start: 18913
    functionDepth: 0
    functionLinenumber: 18913
    functionLinenumberEnd: 18933
    functionName: roaring::internal::ra_append_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_range(roaring_array_t *ra, roaring_array_t *sa,\n                     int32_t
      start_index, int32_t end_index,\n                     bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ra
    - x
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18942
      start: 18935
    functionDepth: 0
    functionLinenumber: 18935
    functionLinenumberEnd: 18942
    functionName: roaring::internal::ra_get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container(\n    roaring_array_t *ra, uint16_t
      x, uint8_t *typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18963
      start: 18957
    functionDepth: 0
    functionLinenumber: 18957
    functionLinenumberEnd: 18963
    functionName: roaring::internal::ra_advance_until_freeing
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_advance_until_freeing(roaring_array_t *ra, uint16_t x, int32_t
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18969,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18971,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18973,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18981
      start: 18965
    functionDepth: 0
    functionLinenumber: 18965
    functionLinenumberEnd: 18981
    functionName: roaring::internal::ra_insert_new_key_value_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_insert_new_key_value_at(\n    roaring_array_t *ra, int32_t
      i, uint16_t key,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - new_length
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (new_length <= ra->size)
      pos:
        line_end: 18988
        line_start: 18988
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18991
      start: 18988
    functionDepth: 0
    functionLinenumber: 18988
    functionLinenumberEnd: 18991
    functionName: roaring::internal::ra_downsize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ra_downsize(roaring_array_t *ra, int32_t new_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18994,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18996,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19001
      start: 18993
    functionDepth: 0
    functionLinenumber: 18993
    functionLinenumberEnd: 19001
    functionName: roaring::internal::ra_remove_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19004,1
    - Dst: roaring::internal::ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19006
      start: 19003
    functionDepth: 0
    functionLinenumber: 19003
    functionLinenumberEnd: 19006
    functionName: roaring::internal::ra_remove_at_index_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    - roaring::internal::ra_remove_at_index
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index_and_free(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19015,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19016,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19023,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19025,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - begin
    - end
    - new_begin
    argTypes:
    - roaring_array_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (begin <= end)
      pos:
        line_end: 19014
        line_start: 19014
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (new_begin < begin)
      pos:
        line_end: 19015
        line_start: 19015
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19029
      start: 19013
    functionDepth: 0
    functionLinenumber: 19013
    functionLinenumberEnd: 19029
    functionName: roaring::internal::ra_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    linkageType: ''
    returnType: void
    signature: "void ra_copy_range(roaring_array_t *ra, uint32_t begin, uint32_t end,\n
      \                  uint32_t new_begin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19033,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19037,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19039,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ra
    - count
    - distance
    argTypes:
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19044
      start: 19031
    functionDepth: 0
    functionLinenumber: 19031
    functionLinenumberEnd: 19044
    functionName: roaring::internal::ra_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: void ra_shift_tail(roaring_array_t *ra, int32_t count, int32_t distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - ans
    argTypes:
    - roaring_array_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19055
      start: 19047
    functionDepth: 0
    functionLinenumber: 19047
    functionLinenumberEnd: 19055
    functionName: roaring::internal::ra_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void ra_to_uint32_array(const roaring_array_t *ra, uint32_t *ans)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19071,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19075,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19078,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19081,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19081,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19089,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19093,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19097,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19099,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19102,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19104,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19105,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19110,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19112,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19116,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19118,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19122,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19124,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19134,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19135,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 4
    argNames:
    - ra
    - offset
    - limit
    - ans
    argTypes:
    - roaring_array_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19138
      start: 19057
    functionDepth: 0
    functionLinenumber: 19057
    functionLinenumberEnd: 19138
    functionName: roaring::internal::ra_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring_malloc
    - roaring_free
    - free
    - memset
    - roaring::internal::run_container_cardinality
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool ra_range_uint32_array(const roaring_array_t *ra, size_t offset,
      size_t limit, uint32_t *ans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19147
      start: 19140
    functionDepth: 0
    functionLinenumber: 19140
    functionLinenumberEnd: 19147
    functionName: roaring::internal::ra_has_run_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::get_container_type
    linkageType: ''
    returnType: bool
    signature: bool ra_has_run_container(const roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19160
      start: 19149
    functionDepth: 0
    functionLinenumber: 19149
    functionLinenumberEnd: 19160
    functionName: roaring::internal::ra_portable_header_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::internal::ra_has_run_container
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ra_portable_header_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_portable_header_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19163,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19169
      start: 19162
    functionDepth: 0
    functionLinenumber: 19162
    functionLinenumberEnd: 19169
    functionName: roaring::internal::ra_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_size_in_bytes
    - roaring::internal::ra_portable_header_size
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_size_in_bytes(const roaring_array_t *ra)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19175,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19178,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19181,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19182,1
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19184,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19189,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19191,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19200,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19202,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19208,1
    - Dst: roaring::internal::container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19213,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19214,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19220,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19224,1
    - Dst: roaring::internal::container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - ra
    - buf
    argTypes:
    - roaring_array_t*
    - char*
    assertStmts:
    - condition: (bitmapOfRunContainers != NULL)
      pos:
        line_end: 19181
        line_start: 19181
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19231
      start: 19172
    functionDepth: 0
    functionLinenumber: 19172
    functionLinenumberEnd: 19231
    functionName: roaring::internal::ra_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring::internal::get_container_type
    - assert
    - roaring::internal::ra_has_run_container
    - roaring::internal::container_get_cardinality
    - roaring_free
    - roaring::internal::container_size_in_bytes
    - memcpy
    - roaring::internal::container_write
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_serialize(const roaring_array_t *ra, char *buf)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19244,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19257,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19285,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19304,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19318
      start: 19240
    functionDepth: 0
    functionLinenumber: 19240
    functionLinenumberEnd: 19318
    functionName: roaring::internal::ra_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_deserialize_size(const char *buf, const size_t maxbytes)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19328,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19332,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19336,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19347,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19350,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19354,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19359,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19369,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19379,1
    - Dst: roaring::internal::ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19384,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19386,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19392,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19398,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19399,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19409,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19424,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19425,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19429,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19431,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19432,1
    - Dst: roaring::internal::bitset_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19436,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19443,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19444,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19448,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19452,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19453,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19458,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19460,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19461,1
    - Dst: roaring::internal::run_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19465,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19473,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19474,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19479,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19481,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19482,1
    - Dst: roaring::internal::array_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19486,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 129
    argCount: 4
    argNames:
    - answer
    - buf
    - maxbytes
    - readbytes
    argTypes:
    - roaring_array_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19492
      start: 19325
    functionDepth: 1
    functionLinenumber: 19325
    functionLinenumberEnd: 19492
    functionName: roaring::internal::ra_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::array_container_read
    - roaring::internal::ra_clear
    - roaring::internal::ra_init_with_capacity
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_read
    - roaring::internal::run_container_create
    - fprintf
    - roaring::internal::run_container_read
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: bool ra_portable_deserialize(roaring_array_t *answer, const char *buf,
      const size_t maxbytes, size_t * readbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18671,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18680,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18686,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18689,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18690,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18691,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ra
    - new_capacity
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: "((char *)(newtypecodes + new_capacity) ==\n           (char *)bigalloc
        + memoryneeded)"
      pos:
        line_end: 18686
        line_start: 18685
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18699
      start: 18664
    functionDepth: 0
    functionLinenumber: 18664
    functionLinenumberEnd: 18699
    functionName: roaring::internal::realloc_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring_malloc
    - assert
    - memcpy
    - roaring_free
    linkageType: ''
    returnType: bool
    signature: bool realloc_array(roaring_array_t *ra, int32_t new_capacity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18703,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - new_ra
    - cap
    argTypes:
    - roaring_array_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18718
      start: 18701
    functionDepth: 0
    functionLinenumber: 18701
    functionLinenumberEnd: 18718
    functionName: roaring::internal::ra_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::ra_init
    - roaring_malloc
    linkageType: ''
    returnType: bool
    signature: bool ra_init_with_capacity(roaring_array_t *new_ra, uint32_t cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18728
      start: 18720
    functionDepth: 0
    functionLinenumber: 18720
    functionLinenumberEnd: 18728
    functionName: roaring::internal::ra_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: int
    signature: int ra_shrink_to_fit(roaring_array_t *ra)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - new_ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18739
      start: 18730
    functionDepth: 0
    functionLinenumber: 18730
    functionLinenumberEnd: 18739
    functionName: roaring::internal::ra_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ra_init(roaring_array_t *new_ra)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18743,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18749,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18754,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18758,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18762,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18764,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18767,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18771,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18774,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18776,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - source
    - dest
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18782
      start: 18741
    functionDepth: 0
    functionLinenumber: 18741
    functionLinenumberEnd: 18782
    functionName: roaring::internal::ra_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::realloc_array
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_free
    - roaring::internal::ra_clear_containers
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_overwrite(const roaring_array_t *source, roaring_array_t *dest,\n
      \                 bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18788
      start: 18784
    functionDepth: 0
    functionLinenumber: 18784
    functionLinenumberEnd: 18788
    functionName: roaring::internal::ra_clear_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18791,1
    - Dst: roaring::internal::ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18794
      start: 18790
    functionDepth: 0
    functionLinenumber: 18790
    functionLinenumberEnd: 18794
    functionName: roaring::internal::ra_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_shrink_to_fit
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_reset(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18803
      start: 18796
    functionDepth: 0
    functionLinenumber: 18796
    functionLinenumberEnd: 18803
    functionName: roaring::internal::ra_clear_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 5
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_without_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18806,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18808
      start: 18805
    functionDepth: 0
    functionLinenumber: 18805
    functionLinenumberEnd: 18808
    functionName: roaring::internal::ra_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_clear(roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18813,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - k
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (desired_size <= max_containers)
      pos:
        line_end: 18812
        line_start: 18812
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18824
      start: 18810
    functionDepth: 0
    functionLinenumber: 18810
    functionLinenumberEnd: 18824
    functionName: roaring::internal::extend_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 14
    functionsReached:
    - assert
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: bool
    signature: bool extend_array(roaring_array_t *ra, int32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18837
      start: 18826
    functionDepth: 0
    functionLinenumber: 18826
    functionLinenumberEnd: 18837
    functionName: roaring::internal::ra_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append(\n    roaring_array_t *ra, uint16_t key,\n    container_t
      *c, uint8_t typecode\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18841,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18848,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - sa
    - index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18858
      start: 18839
    functionDepth: 0
    functionLinenumber: 18839
    functionLinenumberEnd: 18858
    functionName: roaring::internal::ra_append_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy(roaring_array_t *ra, const roaring_array_t *sa,\n
      \                   uint16_t index, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - sa
    - stopping_key
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18866
      start: 18860
    functionDepth: 0
    functionLinenumber: 18860
    functionLinenumberEnd: 18866
    functionName: roaring::internal::ra_append_copies_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_append_copy
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_until(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t stopping_key, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18871,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18876,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18887
      start: 18868
    functionDepth: 0
    functionLinenumber: 18868
    functionLinenumberEnd: 18887
    functionName: roaring::internal::ra_append_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy_range(roaring_array_t *ra, const roaring_array_t
      *sa,\n                          int32_t start_index, int32_t end_index,\n                          bool
      copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18891,1
    - Dst: roaring::internal::ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ra
    - sa
    - before_start
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18897
      start: 18889
    functionDepth: 0
    functionLinenumber: 18889
    functionLinenumberEnd: 18897
    functionName: roaring::internal::ra_append_copies_after
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_get_index
    - roaring::internal::ra_append_copy_range
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_after(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t before_start, bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18911
      start: 18899
    functionDepth: 0
    functionLinenumber: 18899
    functionLinenumberEnd: 18911
    functionName: roaring::internal::ra_append_move_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_move_range(roaring_array_t *ra, roaring_array_t *sa,\n
      \                         int32_t start_index, int32_t end_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18916,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18922,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18933
      start: 18913
    functionDepth: 0
    functionLinenumber: 18913
    functionLinenumberEnd: 18933
    functionName: roaring::internal::ra_append_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_range(roaring_array_t *ra, roaring_array_t *sa,\n                     int32_t
      start_index, int32_t end_index,\n                     bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ra
    - x
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18942
      start: 18935
    functionDepth: 0
    functionLinenumber: 18935
    functionLinenumberEnd: 18942
    functionName: roaring::internal::ra_get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container(\n    roaring_array_t *ra, uint16_t
      x, uint8_t *typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18963
      start: 18957
    functionDepth: 0
    functionLinenumber: 18957
    functionLinenumberEnd: 18963
    functionName: roaring::internal::ra_advance_until_freeing
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_advance_until_freeing(roaring_array_t *ra, uint16_t x, int32_t
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18969,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18971,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18973,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18981
      start: 18965
    functionDepth: 0
    functionLinenumber: 18965
    functionLinenumberEnd: 18981
    functionName: roaring::internal::ra_insert_new_key_value_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_insert_new_key_value_at(\n    roaring_array_t *ra, int32_t
      i, uint16_t key,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - new_length
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (new_length <= ra->size)
      pos:
        line_end: 18988
        line_start: 18988
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18991
      start: 18988
    functionDepth: 0
    functionLinenumber: 18988
    functionLinenumberEnd: 18991
    functionName: roaring::internal::ra_downsize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ra_downsize(roaring_array_t *ra, int32_t new_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18994,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18996,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19001
      start: 18993
    functionDepth: 0
    functionLinenumber: 18993
    functionLinenumberEnd: 19001
    functionName: roaring::internal::ra_remove_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19004,1
    - Dst: roaring::internal::ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19006
      start: 19003
    functionDepth: 0
    functionLinenumber: 19003
    functionLinenumberEnd: 19006
    functionName: roaring::internal::ra_remove_at_index_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    - roaring::internal::ra_remove_at_index
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index_and_free(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19015,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19016,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19023,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19025,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - begin
    - end
    - new_begin
    argTypes:
    - roaring_array_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (begin <= end)
      pos:
        line_end: 19014
        line_start: 19014
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (new_begin < begin)
      pos:
        line_end: 19015
        line_start: 19015
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19029
      start: 19013
    functionDepth: 0
    functionLinenumber: 19013
    functionLinenumberEnd: 19029
    functionName: roaring::internal::ra_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    linkageType: ''
    returnType: void
    signature: "void ra_copy_range(roaring_array_t *ra, uint32_t begin, uint32_t end,\n
      \                  uint32_t new_begin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19033,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19037,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19039,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ra
    - count
    - distance
    argTypes:
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19044
      start: 19031
    functionDepth: 0
    functionLinenumber: 19031
    functionLinenumberEnd: 19044
    functionName: roaring::internal::ra_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: void ra_shift_tail(roaring_array_t *ra, int32_t count, int32_t distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - ans
    argTypes:
    - roaring_array_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19055
      start: 19047
    functionDepth: 0
    functionLinenumber: 19047
    functionLinenumberEnd: 19055
    functionName: roaring::internal::ra_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void ra_to_uint32_array(const roaring_array_t *ra, uint32_t *ans)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19071,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19075,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19078,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19081,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19081,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19089,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19093,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19097,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19099,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19102,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19104,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19105,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19110,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19112,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19116,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19118,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19122,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19124,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19134,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19135,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 4
    argNames:
    - ra
    - offset
    - limit
    - ans
    argTypes:
    - roaring_array_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19138
      start: 19057
    functionDepth: 0
    functionLinenumber: 19057
    functionLinenumberEnd: 19138
    functionName: roaring::internal::ra_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring_malloc
    - roaring_free
    - free
    - memset
    - roaring::internal::run_container_cardinality
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool ra_range_uint32_array(const roaring_array_t *ra, size_t offset,
      size_t limit, uint32_t *ans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19147
      start: 19140
    functionDepth: 0
    functionLinenumber: 19140
    functionLinenumberEnd: 19147
    functionName: roaring::internal::ra_has_run_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::internal::get_container_type
    linkageType: ''
    returnType: bool
    signature: bool ra_has_run_container(const roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19160
      start: 19149
    functionDepth: 0
    functionLinenumber: 19149
    functionLinenumberEnd: 19160
    functionName: roaring::internal::ra_portable_header_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::internal::ra_has_run_container
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ra_portable_header_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_portable_header_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19163,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19169
      start: 19162
    functionDepth: 0
    functionLinenumber: 19162
    functionLinenumberEnd: 19169
    functionName: roaring::internal::ra_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_size_in_bytes
    - roaring::internal::ra_portable_header_size
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_size_in_bytes(const roaring_array_t *ra)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19175,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19178,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19181,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19182,1
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19184,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19189,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19191,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19200,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19202,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19208,1
    - Dst: roaring::internal::container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19213,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19214,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19220,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19224,1
    - Dst: roaring::internal::container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - ra
    - buf
    argTypes:
    - roaring_array_t*
    - char*
    assertStmts:
    - condition: (bitmapOfRunContainers != NULL)
      pos:
        line_end: 19181
        line_start: 19181
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19231
      start: 19172
    functionDepth: 0
    functionLinenumber: 19172
    functionLinenumberEnd: 19231
    functionName: roaring::internal::ra_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring::internal::get_container_type
    - assert
    - roaring::internal::ra_has_run_container
    - roaring::internal::container_get_cardinality
    - roaring_free
    - roaring::internal::container_size_in_bytes
    - memcpy
    - roaring::internal::container_write
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_serialize(const roaring_array_t *ra, char *buf)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19244,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19257,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19285,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19304,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19318
      start: 19240
    functionDepth: 0
    functionLinenumber: 19240
    functionLinenumberEnd: 19318
    functionName: roaring::internal::ra_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_deserialize_size(const char *buf, const size_t maxbytes)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19328,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19332,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19336,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19347,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19350,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19354,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19359,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19369,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19379,1
    - Dst: roaring::internal::ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19384,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19386,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19392,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19398,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19399,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19409,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19424,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19425,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19429,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19431,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19432,1
    - Dst: roaring::internal::bitset_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19436,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19443,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19444,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19448,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19452,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19453,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19458,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19460,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19461,1
    - Dst: roaring::internal::run_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19465,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19473,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19474,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19479,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19481,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19482,1
    - Dst: roaring::internal::array_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19486,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 129
    argCount: 4
    argNames:
    - answer
    - buf
    - maxbytes
    - readbytes
    argTypes:
    - roaring_array_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19492
      start: 19325
    functionDepth: 1
    functionLinenumber: 19325
    functionLinenumberEnd: 19492
    functionName: roaring::internal::ra_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::array_container_read
    - roaring::internal::ra_clear
    - roaring::internal::ra_init_with_capacity
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_read
    - roaring::internal::run_container_create
    - fprintf
    - roaring::internal::run_container_read
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: bool ra_portable_deserialize(roaring_array_t *answer, const char *buf,
      const size_t maxbytes, size_t * readbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18671,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18680,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18686,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18689,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18690,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18691,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ra
    - new_capacity
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: "((char *)(newtypecodes + new_capacity) ==\n           (char *)bigalloc
        + memoryneeded)"
      pos:
        line_end: 18686
        line_start: 18685
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18699
      start: 18664
    functionDepth: 0
    functionLinenumber: 18664
    functionLinenumberEnd: 18699
    functionName: roaring::internal::realloc_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 9
    functionsReached:
    - roaring_malloc
    - assert
    - memcpy
    - roaring_free
    linkageType: ''
    returnType: bool
    signature: bool realloc_array(roaring_array_t *ra, int32_t new_capacity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_init
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18703,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - new_ra
    - cap
    argTypes:
    - roaring_array_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18718
      start: 18701
    functionDepth: 0
    functionLinenumber: 18701
    functionLinenumberEnd: 18718
    functionName: roaring::internal::ra_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::internal::ra_init
    - roaring_malloc
    linkageType: ''
    returnType: bool
    signature: bool ra_init_with_capacity(roaring_array_t *new_ra, uint32_t cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18728
      start: 18720
    functionDepth: 0
    functionLinenumber: 18720
    functionLinenumberEnd: 18728
    functionName: roaring::internal::ra_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: int
    signature: int ra_shrink_to_fit(roaring_array_t *ra)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - new_ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18739
      start: 18730
    functionDepth: 0
    functionLinenumber: 18730
    functionLinenumberEnd: 18739
    functionName: roaring::internal::ra_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ra_init(roaring_array_t *new_ra)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18743,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18749,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18754,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18758,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18762,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18764,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18767,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18771,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18774,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18776,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - source
    - dest
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18782
      start: 18741
    functionDepth: 0
    functionLinenumber: 18741
    functionLinenumberEnd: 18782
    functionName: roaring::internal::ra_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::realloc_array
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_free
    - roaring::internal::ra_clear_containers
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_overwrite(const roaring_array_t *source, roaring_array_t *dest,\n
      \                 bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18788
      start: 18784
    functionDepth: 0
    functionLinenumber: 18784
    functionLinenumberEnd: 18788
    functionName: roaring::internal::ra_clear_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 10
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18791,1
    - Dst: roaring::internal::ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18794
      start: 18790
    functionDepth: 0
    functionLinenumber: 18790
    functionLinenumberEnd: 18794
    functionName: roaring::internal::ra_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_shrink_to_fit
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_reset(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18803
      start: 18796
    functionDepth: 0
    functionLinenumber: 18796
    functionLinenumberEnd: 18803
    functionName: roaring::internal::ra_clear_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 7
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_without_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18806,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18808
      start: 18805
    functionDepth: 0
    functionLinenumber: 18805
    functionLinenumberEnd: 18808
    functionName: roaring::internal::ra_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_clear(roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18813,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - k
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (desired_size <= max_containers)
      pos:
        line_end: 18812
        line_start: 18812
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18824
      start: 18810
    functionDepth: 0
    functionLinenumber: 18810
    functionLinenumberEnd: 18824
    functionName: roaring::internal::extend_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 21
    functionsReached:
    - assert
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: bool
    signature: bool extend_array(roaring_array_t *ra, int32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18837
      start: 18826
    functionDepth: 0
    functionLinenumber: 18826
    functionLinenumberEnd: 18837
    functionName: roaring::internal::ra_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append(\n    roaring_array_t *ra, uint16_t key,\n    container_t
      *c, uint8_t typecode\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18841,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18848,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - sa
    - index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18858
      start: 18839
    functionDepth: 0
    functionLinenumber: 18839
    functionLinenumberEnd: 18858
    functionName: roaring::internal::ra_append_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy(roaring_array_t *ra, const roaring_array_t *sa,\n
      \                   uint16_t index, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - sa
    - stopping_key
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18866
      start: 18860
    functionDepth: 0
    functionLinenumber: 18860
    functionLinenumberEnd: 18866
    functionName: roaring::internal::ra_append_copies_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_append_copy
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_until(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t stopping_key, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18871,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18876,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18887
      start: 18868
    functionDepth: 0
    functionLinenumber: 18868
    functionLinenumberEnd: 18887
    functionName: roaring::internal::ra_append_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy_range(roaring_array_t *ra, const roaring_array_t
      *sa,\n                          int32_t start_index, int32_t end_index,\n                          bool
      copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18891,1
    - Dst: roaring::internal::ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ra
    - sa
    - before_start
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18897
      start: 18889
    functionDepth: 0
    functionLinenumber: 18889
    functionLinenumberEnd: 18897
    functionName: roaring::internal::ra_append_copies_after
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_get_index
    - roaring::internal::ra_append_copy_range
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_after(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t before_start, bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18911
      start: 18899
    functionDepth: 0
    functionLinenumber: 18899
    functionLinenumberEnd: 18911
    functionName: roaring::internal::ra_append_move_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_move_range(roaring_array_t *ra, roaring_array_t *sa,\n
      \                         int32_t start_index, int32_t end_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18916,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18922,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18933
      start: 18913
    functionDepth: 0
    functionLinenumber: 18913
    functionLinenumberEnd: 18933
    functionName: roaring::internal::ra_append_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_range(roaring_array_t *ra, roaring_array_t *sa,\n                     int32_t
      start_index, int32_t end_index,\n                     bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ra
    - x
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18942
      start: 18935
    functionDepth: 0
    functionLinenumber: 18935
    functionLinenumberEnd: 18942
    functionName: roaring::internal::ra_get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container(\n    roaring_array_t *ra, uint16_t
      x, uint8_t *typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18963
      start: 18957
    functionDepth: 0
    functionLinenumber: 18957
    functionLinenumberEnd: 18963
    functionName: roaring::internal::ra_advance_until_freeing
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_advance_until_freeing(roaring_array_t *ra, uint16_t x, int32_t
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18969,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18971,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18973,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18981
      start: 18965
    functionDepth: 0
    functionLinenumber: 18965
    functionLinenumberEnd: 18981
    functionName: roaring::internal::ra_insert_new_key_value_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_insert_new_key_value_at(\n    roaring_array_t *ra, int32_t
      i, uint16_t key,\n    container_t *c, uint8_t typecode\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - new_length
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (new_length <= ra->size)
      pos:
        line_end: 18988
        line_start: 18988
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 18991
      start: 18988
    functionDepth: 0
    functionLinenumber: 18988
    functionLinenumberEnd: 18991
    functionName: roaring::internal::ra_downsize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ra_downsize(roaring_array_t *ra, int32_t new_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18994,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18996,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:18998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19001
      start: 18993
    functionDepth: 0
    functionLinenumber: 18993
    functionLinenumberEnd: 19001
    functionName: roaring::internal::ra_remove_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19004,1
    - Dst: roaring::internal::ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19006
      start: 19003
    functionDepth: 0
    functionLinenumber: 19003
    functionLinenumberEnd: 19006
    functionName: roaring::internal::ra_remove_at_index_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    - roaring::internal::ra_remove_at_index
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index_and_free(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19015,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19016,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19023,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19025,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - begin
    - end
    - new_begin
    argTypes:
    - roaring_array_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (begin <= end)
      pos:
        line_end: 19014
        line_start: 19014
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (new_begin < begin)
      pos:
        line_end: 19015
        line_start: 19015
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19029
      start: 19013
    functionDepth: 0
    functionLinenumber: 19013
    functionLinenumberEnd: 19029
    functionName: roaring::internal::ra_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    linkageType: ''
    returnType: void
    signature: "void ra_copy_range(roaring_array_t *ra, uint32_t begin, uint32_t end,\n
      \                  uint32_t new_begin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19033,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19037,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19039,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ra
    - count
    - distance
    argTypes:
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19044
      start: 19031
    functionDepth: 0
    functionLinenumber: 19031
    functionLinenumberEnd: 19044
    functionName: roaring::internal::ra_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: void ra_shift_tail(roaring_array_t *ra, int32_t count, int32_t distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - ans
    argTypes:
    - roaring_array_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19055
      start: 19047
    functionDepth: 0
    functionLinenumber: 19047
    functionLinenumberEnd: 19055
    functionName: roaring::internal::ra_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void ra_to_uint32_array(const roaring_array_t *ra, uint32_t *ans)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19071,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19075,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19078,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19081,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19081,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19089,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19093,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19097,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19099,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19102,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19104,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19105,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19110,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19112,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19116,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19118,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19122,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19124,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19134,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19135,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 4
    argNames:
    - ra
    - offset
    - limit
    - ans
    argTypes:
    - roaring_array_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19138
      start: 19057
    functionDepth: 0
    functionLinenumber: 19057
    functionLinenumberEnd: 19138
    functionName: roaring::internal::ra_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring_malloc
    - roaring_free
    - free
    - memset
    - roaring::internal::run_container_cardinality
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool ra_range_uint32_array(const roaring_array_t *ra, size_t offset,
      size_t limit, uint32_t *ans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19147
      start: 19140
    functionDepth: 0
    functionLinenumber: 19140
    functionLinenumberEnd: 19147
    functionName: roaring::internal::ra_has_run_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::internal::get_container_type
    linkageType: ''
    returnType: bool
    signature: bool ra_has_run_container(const roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19160
      start: 19149
    functionDepth: 0
    functionLinenumber: 19149
    functionLinenumberEnd: 19160
    functionName: roaring::internal::ra_portable_header_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::internal::ra_has_run_container
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ra_portable_header_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_portable_header_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19163,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19169
      start: 19162
    functionDepth: 0
    functionLinenumber: 19162
    functionLinenumberEnd: 19169
    functionName: roaring::internal::ra_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_size_in_bytes
    - roaring::internal::ra_portable_header_size
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_size_in_bytes(const roaring_array_t *ra)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19175,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19178,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19181,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19182,1
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19184,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19189,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19191,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19200,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19202,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19208,1
    - Dst: roaring::internal::container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19213,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19214,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19220,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19224,1
    - Dst: roaring::internal::container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - ra
    - buf
    argTypes:
    - roaring_array_t*
    - char*
    assertStmts:
    - condition: (bitmapOfRunContainers != NULL)
      pos:
        line_end: 19181
        line_start: 19181
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19231
      start: 19172
    functionDepth: 0
    functionLinenumber: 19172
    functionLinenumberEnd: 19231
    functionName: roaring::internal::ra_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring::internal::get_container_type
    - assert
    - roaring::internal::ra_has_run_container
    - roaring::internal::container_get_cardinality
    - roaring_free
    - roaring::internal::container_size_in_bytes
    - memcpy
    - roaring::internal::container_write
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_serialize(const roaring_array_t *ra, char *buf)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19244,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19257,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19285,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19304,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19318
      start: 19240
    functionDepth: 0
    functionLinenumber: 19240
    functionLinenumberEnd: 19318
    functionName: roaring::internal::ra_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_deserialize_size(const char *buf, const size_t maxbytes)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19328,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19332,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19336,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19347,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19350,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19354,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19359,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19369,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19379,1
    - Dst: roaring::internal::ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19384,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19386,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19392,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19398,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19399,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19409,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19424,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19425,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19429,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19431,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19432,1
    - Dst: roaring::internal::bitset_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19436,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19443,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19444,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19448,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19452,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19453,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19458,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19460,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19461,1
    - Dst: roaring::internal::run_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19465,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19473,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19474,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19479,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19481,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19482,1
    - Dst: roaring::internal::array_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19486,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 129
    argCount: 4
    argNames:
    - answer
    - buf
    - maxbytes
    - readbytes
    argTypes:
    - roaring_array_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19492
      start: 19325
    functionDepth: 1
    functionLinenumber: 19325
    functionLinenumberEnd: 19492
    functionName: roaring::internal::ra_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::array_container_read
    - roaring::internal::ra_clear
    - roaring::internal::ra_init_with_capacity
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_read
    - roaring::internal::run_container_create
    - fprintf
    - roaring::internal::run_container_read
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: bool ra_portable_deserialize(roaring_array_t *answer, const char *buf,
      const size_t maxbytes, size_t * readbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - roaring_pq_element_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19524
      start: 19522
    functionDepth: 0
    functionLinenumber: 19522
    functionLinenumberEnd: 19524
    functionName: roaring::api::compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool compare(roaring_pq_element_t *t1, roaring_pq_element_t *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pq
    - t
    argTypes:
    - roaring_pq_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19537
      start: 19526
    functionDepth: 0
    functionLinenumber: 19526
    functionLinenumberEnd: 19537
    functionName: roaring::api::pq_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void pq_add(roaring_pq_t *pq, roaring_pq_element_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19541
      start: 19539
    functionDepth: 0
    functionLinenumber: 19539
    functionLinenumberEnd: 19541
    functionName: roaring::api::pq_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void pq_free(roaring_pq_t *pq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19552,1
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - i
    argTypes:
    - roaring_pq_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19564
      start: 19543
    functionDepth: 0
    functionLinenumber: 19543
    functionLinenumberEnd: 19564
    functionName: roaring::api::percolate_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void percolate_down(roaring_pq_t *pq, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19568,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19575,1
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - length
    argTypes:
    - roaring_bitmap_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19584
      start: 19566
    functionDepth: 0
    functionLinenumber: 19566
    functionLinenumberEnd: 19584
    functionName: roaring::api::create_pq
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::percolate_down
    - roaring_malloc
    linkageType: ''
    returnType: roaring_pq_t
    signature: roaring_pq_t *create_pq(const roaring_bitmap_t **arr, uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19595
      start: 19586
    functionDepth: 0
    functionLinenumber: 19586
    functionLinenumberEnd: 19595
    functionName: roaring::api::pq_poll
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::percolate_down
    linkageType: ''
    returnType: roaring_pq_element_t
    signature: roaring_pq_element_t pq_poll(roaring_pq_t *pq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19601,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19602,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19604,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19608,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19612,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19615,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19616,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19623,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19624,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19626,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19628,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19629,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19631,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19638,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19639,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19641,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19644,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19645,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19647,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19653,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19658,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19659,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19662,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19664,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19667,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19670,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19672,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19675,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19679,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19682,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19685,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19686,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19687,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19688,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (type2 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 19630
        line_start: 19630
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 19625
        line_start: 19625
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19690
      start: 19598
    functionDepth: 0
    functionLinenumber: 19598
    functionLinenumberEnd: 19690
    functionName: roaring::api::lazy_or_from_lazy_inputs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_append_move_range
    - ra_get_container_at_index
    - ra_append
    - assert
    - roaring::api::roaring_bitmap_free
    - container_lazy_ior
    - roaring_free
    - ra_clear_without_containers
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *lazy_or_from_lazy_inputs(roaring_bitmap_t *x1,\n
      \                                                 roaring_bitmap_t *x2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19701,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19704,1
    - Dst: roaring::api::create_pq
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19706,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19708,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19709,1
    - Dst: roaring::api::lazy_or_from_lazy_inputs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19713,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19717,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19720,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19722,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19723,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19724,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19726,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19727,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19729,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19732,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19733,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19737,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19740,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19742,1
    - Dst: roaring::api::pq_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19743,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - uint32_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19745
      start: 19698
    functionDepth: 0
    functionLinenumber: 19698
    functionLinenumberEnd: 19745
    functionName: roaring::api::roaring_bitmap_or_many_heap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::pq_free
    - roaring::api::lazy_or_from_lazy_inputs
    - roaring::api::create_pq
    - roaring::api::pq_add
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::pq_poll
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many_heap(uint32_t number,\n                                              const
      roaring_bitmap_t **x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - roaring_pq_element_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19524
      start: 19522
    functionDepth: 0
    functionLinenumber: 19522
    functionLinenumberEnd: 19524
    functionName: roaring::api::compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool compare(roaring_pq_element_t *t1, roaring_pq_element_t *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pq
    - t
    argTypes:
    - roaring_pq_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19537
      start: 19526
    functionDepth: 0
    functionLinenumber: 19526
    functionLinenumberEnd: 19537
    functionName: roaring::api::pq_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void pq_add(roaring_pq_t *pq, roaring_pq_element_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19541
      start: 19539
    functionDepth: 0
    functionLinenumber: 19539
    functionLinenumberEnd: 19541
    functionName: roaring::api::pq_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void pq_free(roaring_pq_t *pq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19552,1
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - i
    argTypes:
    - roaring_pq_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19564
      start: 19543
    functionDepth: 0
    functionLinenumber: 19543
    functionLinenumberEnd: 19564
    functionName: roaring::api::percolate_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void percolate_down(roaring_pq_t *pq, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19568,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19575,1
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - length
    argTypes:
    - roaring_bitmap_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19584
      start: 19566
    functionDepth: 0
    functionLinenumber: 19566
    functionLinenumberEnd: 19584
    functionName: roaring::api::create_pq
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::percolate_down
    - roaring_malloc
    linkageType: ''
    returnType: roaring_pq_t
    signature: roaring_pq_t *create_pq(const roaring_bitmap_t **arr, uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19595
      start: 19586
    functionDepth: 0
    functionLinenumber: 19586
    functionLinenumberEnd: 19595
    functionName: roaring::api::pq_poll
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - roaring::api::percolate_down
    linkageType: ''
    returnType: roaring_pq_element_t
    signature: roaring_pq_element_t pq_poll(roaring_pq_t *pq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19601,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19602,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19604,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19608,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19612,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19615,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19616,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19623,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19624,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19626,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19628,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19629,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19631,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19638,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19639,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19641,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19644,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19645,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19647,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19653,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19658,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19659,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19662,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19664,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19667,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19670,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19672,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19675,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19679,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19682,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19685,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19686,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19687,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19688,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (type2 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 19630
        line_start: 19630
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 19625
        line_start: 19625
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19690
      start: 19598
    functionDepth: 0
    functionLinenumber: 19598
    functionLinenumberEnd: 19690
    functionName: roaring::api::lazy_or_from_lazy_inputs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 1
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_append_move_range
    - ra_get_container_at_index
    - ra_append
    - assert
    - roaring::api::roaring_bitmap_free
    - container_lazy_ior
    - roaring_free
    - ra_clear_without_containers
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *lazy_or_from_lazy_inputs(roaring_bitmap_t *x1,\n
      \                                                 roaring_bitmap_t *x2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19701,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19704,1
    - Dst: roaring::api::create_pq
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19706,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19708,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19709,1
    - Dst: roaring::api::lazy_or_from_lazy_inputs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19713,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19717,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19720,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19722,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19723,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19724,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19726,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19727,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19729,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19732,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19733,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19737,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19740,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19742,1
    - Dst: roaring::api::pq_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19743,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - uint32_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19745
      start: 19698
    functionDepth: 0
    functionLinenumber: 19698
    functionLinenumberEnd: 19745
    functionName: roaring::api::roaring_bitmap_or_many_heap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::pq_free
    - roaring::api::lazy_or_from_lazy_inputs
    - roaring::api::create_pq
    - roaring::api::pq_add
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::pq_poll
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many_heap(uint32_t number,\n                                              const
      roaring_bitmap_t **x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - roaring_pq_element_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19524
      start: 19522
    functionDepth: 0
    functionLinenumber: 19522
    functionLinenumberEnd: 19524
    functionName: roaring::api::compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool compare(roaring_pq_element_t *t1, roaring_pq_element_t *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pq
    - t
    argTypes:
    - roaring_pq_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19537
      start: 19526
    functionDepth: 0
    functionLinenumber: 19526
    functionLinenumberEnd: 19537
    functionName: roaring::api::pq_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void pq_add(roaring_pq_t *pq, roaring_pq_element_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19541
      start: 19539
    functionDepth: 0
    functionLinenumber: 19539
    functionLinenumberEnd: 19541
    functionName: roaring::api::pq_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void pq_free(roaring_pq_t *pq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19552,1
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - i
    argTypes:
    - roaring_pq_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19564
      start: 19543
    functionDepth: 0
    functionLinenumber: 19543
    functionLinenumberEnd: 19564
    functionName: roaring::api::percolate_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 4
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void percolate_down(roaring_pq_t *pq, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19568,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19575,1
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - length
    argTypes:
    - roaring_bitmap_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19584
      start: 19566
    functionDepth: 0
    functionLinenumber: 19566
    functionLinenumberEnd: 19584
    functionName: roaring::api::create_pq
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::percolate_down
    - roaring_malloc
    linkageType: ''
    returnType: roaring_pq_t
    signature: roaring_pq_t *create_pq(const roaring_bitmap_t **arr, uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19595
      start: 19586
    functionDepth: 0
    functionLinenumber: 19586
    functionLinenumberEnd: 19595
    functionName: roaring::api::pq_poll
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - roaring::api::percolate_down
    linkageType: ''
    returnType: roaring_pq_element_t
    signature: roaring_pq_element_t pq_poll(roaring_pq_t *pq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19601,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19602,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19604,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19608,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19612,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19615,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19616,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19623,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19624,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19626,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19628,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19629,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19631,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19638,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19639,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19641,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19644,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19645,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19647,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19653,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19658,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19659,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19662,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19664,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19667,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19670,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19672,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19675,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19679,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19682,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19685,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19686,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19687,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19688,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (type2 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 19630
        line_start: 19630
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 19625
        line_start: 19625
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19690
      start: 19598
    functionDepth: 0
    functionLinenumber: 19598
    functionLinenumberEnd: 19690
    functionName: roaring::api::lazy_or_from_lazy_inputs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 2
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_append_move_range
    - ra_get_container_at_index
    - ra_append
    - assert
    - roaring::api::roaring_bitmap_free
    - container_lazy_ior
    - roaring_free
    - ra_clear_without_containers
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *lazy_or_from_lazy_inputs(roaring_bitmap_t *x1,\n
      \                                                 roaring_bitmap_t *x2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19701,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19704,1
    - Dst: roaring::api::create_pq
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19706,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19708,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19709,1
    - Dst: roaring::api::lazy_or_from_lazy_inputs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19713,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19717,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19720,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19722,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19723,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19724,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19726,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19727,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19729,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19732,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19733,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19737,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19740,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19742,1
    - Dst: roaring::api::pq_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19743,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - uint32_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19745
      start: 19698
    functionDepth: 0
    functionLinenumber: 19698
    functionLinenumberEnd: 19745
    functionName: roaring::api::roaring_bitmap_or_many_heap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::pq_free
    - roaring::api::lazy_or_from_lazy_inputs
    - roaring::api::create_pq
    - roaring::api::pq_add
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::pq_poll
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many_heap(uint32_t number,\n                                              const
      roaring_bitmap_t **x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - roaring_pq_element_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19524
      start: 19522
    functionDepth: 0
    functionLinenumber: 19522
    functionLinenumberEnd: 19524
    functionName: roaring::api::compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool compare(roaring_pq_element_t *t1, roaring_pq_element_t *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pq
    - t
    argTypes:
    - roaring_pq_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19537
      start: 19526
    functionDepth: 0
    functionLinenumber: 19526
    functionLinenumberEnd: 19537
    functionName: roaring::api::pq_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void pq_add(roaring_pq_t *pq, roaring_pq_element_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19541
      start: 19539
    functionDepth: 0
    functionLinenumber: 19539
    functionLinenumberEnd: 19541
    functionName: roaring::api::pq_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void pq_free(roaring_pq_t *pq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19552,1
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - i
    argTypes:
    - roaring_pq_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19564
      start: 19543
    functionDepth: 0
    functionLinenumber: 19543
    functionLinenumberEnd: 19564
    functionName: roaring::api::percolate_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 6
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void percolate_down(roaring_pq_t *pq, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19568,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19575,1
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - length
    argTypes:
    - roaring_bitmap_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19584
      start: 19566
    functionDepth: 0
    functionLinenumber: 19566
    functionLinenumberEnd: 19584
    functionName: roaring::api::create_pq
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::percolate_down
    - roaring_malloc
    linkageType: ''
    returnType: roaring_pq_t
    signature: roaring_pq_t *create_pq(const roaring_bitmap_t **arr, uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19595
      start: 19586
    functionDepth: 0
    functionLinenumber: 19586
    functionLinenumberEnd: 19595
    functionName: roaring::api::pq_poll
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - roaring::api::percolate_down
    linkageType: ''
    returnType: roaring_pq_element_t
    signature: roaring_pq_element_t pq_poll(roaring_pq_t *pq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19601,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19602,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19604,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19608,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19612,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19615,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19616,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19623,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19624,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19626,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19628,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19629,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19631,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19638,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19639,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19641,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19644,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19645,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19647,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19653,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19658,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19659,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19662,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19664,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19667,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19670,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19672,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19675,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19679,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19682,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19685,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19686,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19687,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19688,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (type2 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 19630
        line_start: 19630
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 19625
        line_start: 19625
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    constantsTouched: []
    func_position:
      end: 19690
      start: 19598
    functionDepth: 0
    functionLinenumber: 19598
    functionLinenumberEnd: 19690
    functionName: roaring::api::lazy_or_from_lazy_inputs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 3
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_append_move_range
    - ra_get_container_at_index
    - ra_append
    - assert
    - roaring::api::roaring_bitmap_free
    - container_lazy_ior
    - roaring_free
    - ra_clear_without_containers
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *lazy_or_from_lazy_inputs(roaring_bitmap_t *x1,\n
      \                                                 roaring_bitmap_t *x2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19701,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19704,1
    - Dst: roaring::api::create_pq
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19706,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19708,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19709,1
    - Dst: roaring::api::lazy_or_from_lazy_inputs
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19713,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19717,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19720,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19722,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19723,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19724,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19726,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19727,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19729,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19732,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19733,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19737,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19740,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19742,1
    - Dst: roaring::api::pq_free
      Src: /src/ndpi/src/lib/third_party/src/roaring_v2.c:19743,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - uint32_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19745
      start: 19698
    functionDepth: 0
    functionLinenumber: 19698
    functionLinenumberEnd: 19745
    functionName: roaring::api::roaring_bitmap_or_many_heap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    functionUses: 0
    functionsReached:
    - roaring::api::pq_free
    - roaring::api::lazy_or_from_lazy_inputs
    - roaring::api::create_pq
    - roaring::api::pq_add
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::pq_poll
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many_heap(uint32_t number,\n                                              const
      roaring_bitmap_t **x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: TRACE
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - hs
    - s
    - len
    - flags
    argTypes:
    - h5_state_t*
    - char*
    - size_t
    - enum html5_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 89
    functionName: libinjection_h5_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void libinjection_h5_init(h5_state_t* hs, const char* s, size_t len,
      enum html5_flags flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts:
    - condition: (hs->state != NULL)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: libinjection_h5_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int libinjection_h5_next(h5_state_t* hs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: h5_is_white
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int h5_is_white(char ch)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 138
    functionName: h5_skip_white
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h5_skip_white(h5_state_t* hs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: h5_state_eof
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int h5_state_eof(h5_state_t* hs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:151,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:152,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:153,1
    - Dst: h5_state_tag_open
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts:
    - condition: (hs->len >= hs->pos)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: h5_state_data
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached:
    - assert
    - TRACE
    - memchr
    - h5_state_tag_open
    linkageType: ''
    returnType: int
    signature: int h5_state_data(h5_state_t* hs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:182,1
    - Dst: h5_state_markup_declaration_open
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:189,1
    - Dst: h5_state_end_tag_open
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:193,1
    - Dst: h5_state_bogus_comment
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:196,1
    - Dst: h5_state_bogus_comment2
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:201,1
    - Dst: h5_state_tag_name
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:203,1
    - Dst: h5_state_tag_name
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:206,1
    - Dst: h5_state_data
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 218
    functionName: h5_state_tag_open
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - h5_state_tag_name
    - h5_state_data
    - h5_state_markup_declaration_open
    - TRACE
    - h5_state_bogus_comment2
    - h5_state_end_tag_open
    - h5_state_bogus_comment
    linkageType: ''
    returnType: int
    signature: int h5_state_tag_open(h5_state_t* hs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:226,1
    - Dst: h5_state_data
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:233,1
    - Dst: h5_state_tag_name
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:235,1
    - Dst: h5_state_bogus_comment
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: h5_state_end_tag_open
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - h5_state_data
    - TRACE
    - h5_state_tag_name
    - h5_state_bogus_comment
    linkageType: ''
    returnType: int
    signature: int h5_state_end_tag_open(h5_state_t* hs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: h5_state_tag_name_close
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached:
    - TRACE
    linkageType: ''
    returnType: int
    signature: int h5_state_tag_name_close(h5_state_t* hs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:269,1
    - Dst: h5_is_white
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 316
    functionName: h5_state_tag_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 2
    functionsReached:
    - TRACE
    - h5_is_white
    linkageType: ''
    returnType: int
    signature: int h5_state_tag_name(h5_state_t* hs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:325,1
    - Dst: h5_skip_white
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:330,1
    - Dst: h5_state_self_closing_start_tag
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:349,1
    - Dst: h5_state_attribute_name
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 363
    functionName: h5_state_before_attribute_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached:
    - h5_skip_white
    - h5_state_self_closing_start_tag
    - h5_state_attribute_name
    - TRACE
    linkageType: ''
    returnType: int
    signature: int h5_state_before_attribute_name(h5_state_t* hs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:370,1
    - Dst: h5_is_white
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 413
    functionName: h5_state_attribute_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - TRACE
    - h5_is_white
    linkageType: ''
    returnType: int
    signature: int h5_state_attribute_name(h5_state_t* hs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:422,1
    - Dst: h5_skip_white
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:423,1
    - Dst: h5_state_self_closing_start_tag
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:430,1
    - Dst: h5_state_before_attribute_value
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:434,1
    - Dst: h5_state_tag_name_close
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:437,1
    - Dst: h5_state_attribute_name
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 443
    functionName: h5_state_after_attribute_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached:
    - h5_state_tag_name_close
    - h5_state_attribute_name
    - TRACE
    - h5_state_before_attribute_value
    - h5_skip_white
    - h5_state_self_closing_start_tag
    linkageType: ''
    returnType: int
    signature: int h5_state_after_attribute_name(h5_state_t* hs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:451,1
    - Dst: h5_skip_white
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:453,1
    - Dst: h5_state_attribute_value_double_quote
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:461,1
    - Dst: h5_state_attribute_value_single_quote
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:463,1
    - Dst: h5_state_attribute_value_back_quote
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:466,1
    - Dst: h5_state_attribute_value_no_quote
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 470
    functionName: h5_state_before_attribute_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - h5_state_attribute_value_back_quote
    - h5_state_attribute_value_double_quote
    - h5_state_attribute_value_no_quote
    - TRACE
    - h5_skip_white
    - h5_state_attribute_value_single_quote
    linkageType: ''
    returnType: int
    signature: int h5_state_before_attribute_value(h5_state_t* hs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:477,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - hs
    - qchar
    argTypes:
    - h5_state_t*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 503
    functionName: h5_state_attribute_value_quote
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached:
    - memchr
    - TRACE
    linkageType: ''
    returnType: int
    signature: int h5_state_attribute_value_quote(h5_state_t* hs, char qchar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:508,1
    - Dst: h5_state_attribute_value_quote
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: h5_state_attribute_value_double_quote
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - TRACE
    - h5_state_attribute_value_quote
    linkageType: ''
    returnType: int
    signature: int h5_state_attribute_value_double_quote(h5_state_t* hs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:515,1
    - Dst: h5_state_attribute_value_quote
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: h5_state_attribute_value_single_quote
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - TRACE
    - h5_state_attribute_value_quote
    linkageType: ''
    returnType: int
    signature: int h5_state_attribute_value_single_quote(h5_state_t* hs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:522,1
    - Dst: h5_state_attribute_value_quote
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 524
    functionName: h5_state_attribute_value_back_quote
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - TRACE
    - h5_state_attribute_value_quote
    linkageType: ''
    returnType: int
    signature: int h5_state_attribute_value_back_quote(h5_state_t* hs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:531,1
    - Dst: h5_is_white
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:535,1
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 559
    functionName: h5_state_attribute_value_no_quote
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - TRACE
    - h5_is_white
    linkageType: ''
    returnType: int
    signature: int h5_state_attribute_value_no_quote(h5_state_t* hs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:568,1
    - Dst: h5_is_white
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:573,1
    - Dst: h5_state_before_attribute_name
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:575,1
    - Dst: h5_state_self_closing_start_tag
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:578,1
    - Dst: h5_state_before_attribute_name
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 589
    functionName: h5_state_after_attribute_value_quoted_state
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 0
    functionsReached:
    - h5_state_self_closing_start_tag
    - TRACE
    - h5_is_white
    - h5_state_before_attribute_name
    linkageType: ''
    returnType: int
    signature: int h5_state_after_attribute_value_quoted_state(h5_state_t* hs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:600,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:606,1
    - Dst: h5_state_before_attribute_name
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts:
    - condition: (hs->pos > 0)
      pos:
        line_end: 605
        line_start: 605
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    constantsTouched: []
    func_position:
      end: 616
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 616
    functionName: h5_state_self_closing_start_tag
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 3
    functionsReached:
    - assert
    - TRACE
    - h5_state_before_attribute_name
    linkageType: ''
    returnType: int
    signature: int h5_state_self_closing_start_tag(h5_state_t* hs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:625,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 641
    functionName: h5_state_bogus_comment
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 2
    functionsReached:
    - memchr
    - TRACE
    linkageType: ''
    returnType: int
    signature: int h5_state_bogus_comment(h5_state_t* hs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:651,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 677
    functionName: h5_state_bogus_comment2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - memchr
    - TRACE
    linkageType: ''
    returnType: int
    signature: int h5_state_bogus_comment2(h5_state_t* hs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:686,1
    - Dst: h5_state_doctype
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:698,1
    - Dst: h5_state_cdata
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:710,1
    - Dst: h5_state_comment
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:715,1
    - Dst: h5_state_bogus_comment
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:718,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 15
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 719
    functionName: h5_state_markup_declaration_open
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - h5_state_comment
    - h5_state_cdata
    - h5_state_doctype
    - TRACE
    - h5_state_bogus_comment
    linkageType: ''
    returnType: int
    signature: int h5_state_markup_declaration_open(h5_state_t* hs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:740,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:744,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 814
    functionName: h5_state_comment
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - memchr
    - TRACE
    linkageType: ''
    returnType: int
    signature: int h5_state_comment(h5_state_t* hs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:821,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 844
    functionName: h5_state_cdata
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - memchr
    - TRACE
    linkageType: ''
    returnType: int
    signature: int h5_state_cdata(h5_state_t* hs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:854,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_html5.c:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - hs
    argTypes:
    - h5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 868
    functionName: h5_state_doctype
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
    functionUses: 1
    functionsReached:
    - memchr
    - TRACE
    linkageType: ''
    returnType: int
    signature: int h5_state_doctype(h5_state_t* hs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: ROTLEFT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTLEFT(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: ROTRIGHT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTRIGHT(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: CH
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CH(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: MAJ
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAJ(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: EP0
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EP0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: EP1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EP1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: SIG0
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIG0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: SIG1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIG1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIG1
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c:53,1
    - Dst: SIG0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c:53,1
    - Dst: EP1
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c:65,1
    - Dst: CH
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c:65,1
    - Dst: EP0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c:66,1
    - Dst: MAJ
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - ndpi_SHA256_CTX*
    - u_int8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 85
    functionName: sha256_transform
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 0
    functionsReached:
    - MAJ
    - SIG1
    - CH
    - SIG0
    - EP0
    - EP1
    linkageType: ''
    returnType: void
    signature: void sha256_transform(ndpi_SHA256_CTX *ctx, const u_int8_t data[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ndpi_SHA256_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: ndpi_sha256_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_sha256_init(ndpi_SHA256_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sha256_transform
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - ndpi_SHA256_CTX*
    - u_int8_t[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: ndpi_sha256_update
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 1
    functionsReached:
    - sha256_transform
    linkageType: ''
    returnType: void
    signature: void ndpi_sha256_update(ndpi_SHA256_CTX *ctx, const u_int8_t data[],
      size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sha256_transform
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c:132,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c:133,1
    - Dst: sha256_transform
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - ctx
    - hash
    argTypes:
    - ndpi_SHA256_CTX*
    - u_int8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 160
    functionName: ndpi_sha256_final
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
    functionUses: 1
    functionsReached:
    - memset
    - sha256_transform
    linkageType: ''
    returnType: void
    signature: void ndpi_sha256_final(ndpi_SHA256_CTX *ctx, u_int8_t hash[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: edge_get_alpha
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AC_ALPHABET_t
    signature: AC_ALPHABET_t *edge_get_alpha(struct edge *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: edge_data_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t edge_data_size(int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kcalloc
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: acho_calloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - kcalloc
    linkageType: ''
    returnType: void
    signature: void *acho_calloc(size_t nmemb, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kmalloc
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: acho_malloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - kmalloc
    linkageType: ''
    returnType: void
    signature: void *acho_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kfree
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - old
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: acho_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - kfree
    linkageType: ''
    returnType: void
    signature: void acho_free(void *old)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: acho_calloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: acho_calloc(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: acho_malloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: acho_malloc(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: acho_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: acho_free(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acho_calloc
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:167,1
    - Dst: node_create
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:169,1
    - Dst: acho_free
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - mc
    argTypes:
    - MATCH_CALLBACK_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: ac_automata_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 4
    functionsReached:
    - acho_calloc
    - acho_free
    - node_create
    linkageType: ''
    returnType: AC_AUTOMATA_t
    signature: AC_AUTOMATA_t * ac_automata_init (MATCH_CALLBACK_f mc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - thiz
    - feature
    argTypes:
    - AC_AUTOMATA_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: ac_automata_feature
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: AC_ERROR_t
    signature: AC_ERROR_t ac_automata_feature (AC_AUTOMATA_t * thiz, unsigned int
      feature)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - thiz
    - name
    - debug
    argTypes:
    - AC_AUTOMATA_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: ac_automata_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 2
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: AC_ERROR_t
    signature: AC_ERROR_t ac_automata_name (AC_AUTOMATA_t * thiz, char *name, int
      debug)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - debug
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: ac_automata_enable_debug
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ac_automata_enable_debug (int debug)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: node_find_next
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:251,1
    - Dst: node_create_next
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:255,1
    - Dst: node_register_matchstr
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:270,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - thiz
    - patt
    argTypes:
    - AC_AUTOMATA_t*
    - AC_PATTERN_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 276
    functionName: ac_automata_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 4
    functionsReached:
    - node_find_next
    - node_create_next
    - node_register_matchstr
    linkageType: ''
    returnType: AC_ERROR_t
    signature: AC_ERROR_t ac_automata_add (AC_AUTOMATA_t * thiz, AC_PATTERN_t * patt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: node_cb
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:296,1
    - Dst: node_cb
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:314,1
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:322,1
    - Dst: alpha_cb
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:324,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 4
    argNames:
    - thiz
    - node_cb
    - alpha_cb
    - data
    argTypes:
    - AC_AUTOMATA_t*
    - NODE_CALLBACK_f
    - ALPHA_CALLBACK_f
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 338
    functionName: ac_automata_walk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - edge_get_alpha
    - node_cb
    - alpha_cb
    linkageType: ''
    returnType: AC_ERROR_t
    signature: "AC_ERROR_t ac_automata_walk(AC_AUTOMATA_t * thiz,\n        NODE_CALLBACK_f
      node_cb, ALPHA_CALLBACK_f alpha_cb, void *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ac_automata_union_matchstrs
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:345,1
    - Dst: node_range_edges
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:349,1
    - Dst: node_sort_edges
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:350,1
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - thiz
    - n
    - idx
    - data
    argTypes:
    - AC_AUTOMATA_t*
    - AC_NODE_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 362
    functionName: ac_finalize_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - edge_get_alpha
    - node_range_edges
    - node_sort_edges
    - ac_automata_union_matchstrs
    linkageType: ''
    returnType: AC_ERROR_t
    signature: AC_ERROR_t ac_finalize_node(AC_AUTOMATA_t * thiz,AC_NODE_t * n, int
      idx, void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ac_automata_traverse_setfailure
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:380,1
    - Dst: ac_automata_walk
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - thiz
    argTypes:
    - AC_AUTOMATA_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: ac_automata_finalize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 3
    functionsReached:
    - ac_automata_traverse_setfailure
    - ac_automata_walk
    linkageType: ''
    returnType: AC_ERROR_t
    signature: AC_ERROR_t ac_automata_finalize (AC_AUTOMATA_t * thiz)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:421,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:424,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 32
    argCount: 3
    argNames:
    - mp
    - pos
    - txt
    argTypes:
    - AC_PATTERNS_t*
    - int
    - AC_TEXT_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 443
    functionName: ac_automata_exact_match
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - strchr
    - strlen
    linkageType: ''
    returnType: int
    signature: int ac_automata_exact_match(AC_PATTERNS_t *mp,int pos, AC_TEXT_t *txt)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:485,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:489,1
    - Dst: node_findbs_next_ac
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:500,1
    - Dst: ac_automata_exact_match
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:510,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:520,1
    - Dst: AC_AUTOMATA_t*::match_handler
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:536,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:558,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 3
    argNames:
    - thiz
    - txt
    - param
    argTypes:
    - AC_AUTOMATA_t*
    - AC_TEXT_t*
    - AC_REP_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 570
    functionName: ac_automata_search
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 3
    functionsReached:
    - node_findbs_next_ac
    - ac_automata_exact_match
    - AC_AUTOMATA_t*::match_handler
    - printf
    - memset
    linkageType: ''
    returnType: int
    signature: "int ac_automata_search (AC_AUTOMATA_t * thiz,\n        AC_TEXT_t *
      txt, AC_REP_t * param)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: node_release
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - thiz
    - n
    - idx
    - data
    argTypes:
    - AC_AUTOMATA_t*
    - AC_NODE_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 596
    functionName: ac_automata_release_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - node_release
    linkageType: ''
    returnType: AC_ERROR_t
    signature: "AC_ERROR_t ac_automata_release_node(AC_AUTOMATA_t * thiz,\n        AC_NODE_t
      *n, int idx, void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ac_automata_walk
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:602,1
    - Dst: node_release
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:605,1
    - Dst: acho_free
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:607,1
    - Dst: acho_free
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:621,1
    - Dst: acho_free
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - thiz
    - free_pattern
    argTypes:
    - AC_AUTOMATA_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 631
    functionName: ac_automata_release
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 2
    functionsReached:
    - node_release
    - ac_automata_walk
    - acho_free
    linkageType: ''
    returnType: void
    signature: void ac_automata_release (AC_AUTOMATA_t * thiz, uint8_t free_pattern)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:638,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:639,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:640,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:646,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:649,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:654,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:657,1
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:658,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:666,1
    - Dst: edge_data_size
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:669,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - n
    - ai
    argTypes:
    - AC_NODE_t*
    - struct aho_dump_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 670
    functionName: dump_node_header
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - edge_get_alpha
    - fprintf
    - edge_data_size
    linkageType: ''
    returnType: void
    signature: void dump_node_header(AC_NODE_t * n, struct aho_dump_info *ai)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dump_node_header
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:678,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:683,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:687,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:692,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:701,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - thiz
    - n
    - idx
    - data
    argTypes:
    - AC_AUTOMATA_t*
    - AC_NODE_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 704
    functionName: dump_node_common
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - dump_node_header
    - fprintf
    - ndpi_snprintf
    linkageType: ''
    returnType: AC_ERROR_t
    signature: "AC_ERROR_t dump_node_common(AC_AUTOMATA_t * thiz,\n        AC_NODE_t
      * n, int idx, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - thiz
    - node
    - next
    - idx
    - data
    argTypes:
    - AC_AUTOMATA_t*
    - AC_NODE_t*
    - AC_NODE_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 710
    functionName: dump_node_str
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dump_node_str(AC_AUTOMATA_t * thiz, AC_NODE_t * node,\n        AC_NODE_t
      * next, int idx, void *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:728,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:730,1
    - Dst: acho_malloc
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:735,1
    - Dst: ac_automata_walk
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:740,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:742,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:745,1
    - Dst: acho_free
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - thiz
    - file
    argTypes:
    - AC_AUTOMATA_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 749
    functionName: ac_automata_dump
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - ac_automata_walk
    - acho_malloc
    - memset
    - fprintf
    - acho_free
    linkageType: ''
    returnType: void
    signature: void ac_automata_dump(AC_AUTOMATA_t * thiz, FILE *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: node_register_matchstr
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - AC_NODE_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 773
    functionName: ac_automata_union_matchstrs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached:
    - node_register_matchstr
    linkageType: ''
    returnType: int
    signature: int ac_automata_union_matchstrs (AC_NODE_t * node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: node_find_next
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - thiz
    - node
    - next
    - idx
    - data
    argTypes:
    - AC_AUTOMATA_t*
    - AC_NODE_t*
    - AC_NODE_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 798
    functionName: ac_automata_set_failure
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - node_find_next
    linkageType: ''
    returnType: void
    signature: 'void ac_automata_set_failure

      (AC_AUTOMATA_t * thiz, AC_NODE_t * node, AC_NODE_t * next, int idx, void *data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ac_automata_walk
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thiz
    argTypes:
    - AC_AUTOMATA_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: ac_automata_traverse_setfailure
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached:
    - ac_automata_walk
    linkageType: ''
    returnType: void
    signature: void ac_automata_traverse_setfailure (AC_AUTOMATA_t * thiz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acho_calloc
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: node_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached:
    - acho_calloc
    linkageType: ''
    returnType: AC_NODE_t
    signature: AC_NODE_t * node_create(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acho_free
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - thiz
    argTypes:
    - AC_NODE_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 837
    functionName: node_release_pattern
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - acho_free
    linkageType: ''
    returnType: void
    signature: void node_release_pattern(AC_NODE_t * thiz)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: node_release_pattern
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:848,1
    - Dst: acho_free
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:851,1
    - Dst: acho_free
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:855,1
    - Dst: acho_free
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:858,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - thiz
    - free_pattern
    argTypes:
    - AC_NODE_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 859
    functionName: node_release
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 2
    functionsReached:
    - node_release_pattern
    - acho_free
    linkageType: ''
    returnType: void
    signature: void node_release(AC_NODE_t * thiz, int free_pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 864
    functionName: UNALIGNED
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 869
    functionName: DETECTNULL
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DETECTNULL(X)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctz
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - bits
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 882
    functionName: bsf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached:
    - __builtin_ctz
    linkageType: ''
    returnType: size_t
    signature: size_t bsf(uint32_t bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 886
    functionName: DETECTNULL
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DETECTNULL(X)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - bits
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 900
    functionName: bsf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: size_t
    signature: size_t bsf(uint64_t bits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:907,1
    - Dst: DETECTNULL
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:912,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:912,1
    - Dst: DETECTNULL
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:914,1
    - Dst: le64toh
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:914,1
    - Dst: bsf
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:917,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - s
    - c
    - n
    argTypes:
    - unsigned char*
    - unsigned char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 928
    functionName: xmemchr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - le64toh
    - le32toh
    - bsf
    - UNALIGNED
    - DETECTNULL
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      xmemchr(unsigned char *s, unsigned char c,int n)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:944,1
    - Dst: xmemchr
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - thiz
    - alpha
    argTypes:
    - AC_NODE_t*
    - AC_ALPHABET_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 947
    functionName: node_find_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 2
    functionsReached:
    - edge_get_alpha
    - xmemchr
    linkageType: ''
    returnType: AC_NODE_t
    signature: AC_NODE_t * node_find_next(AC_NODE_t * thiz, AC_ALPHABET_t alpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xmemchr
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - thiz
    - alpha
    argTypes:
    - AC_NODE_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 970
    functionName: node_findbs_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - xmemchr
    linkageType: ''
    returnType: AC_NODE_t
    signature: AC_NODE_t *node_findbs_next (AC_NODE_t * thiz, uint8_t alpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: node_findbs_next
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:978,1
    - Dst: node_findbs_next
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - thiz
    - alpha
    - icase
    argTypes:
    - AC_NODE_t*
    - uint8_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 972
    functionDepth: 3
    functionLinenumber: 972
    functionLinenumberEnd: 984
    functionName: node_findbs_next_ac
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached:
    - node_findbs_next
    linkageType: ''
    returnType: AC_NODE_t
    signature: AC_NODE_t *node_findbs_next_ac (AC_NODE_t * thiz, uint8_t alpha,int
      icase)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1004,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - thiz
    - newstr
    argTypes:
    - AC_NODE_t*
    - AC_PATTERN_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1009
    functionName: node_has_matchstr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int node_has_matchstr (AC_NODE_t * thiz, AC_PATTERN_t * newstr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: node_find_next
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1018,1
    - Dst: node_create
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1023,1
    - Dst: node_register_outgoing
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1025,1
    - Dst: node_release
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - thiz
    - alpha
    argTypes:
    - AC_NODE_t*
    - AC_ALPHABET_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1033
    functionName: node_create_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached:
    - node_find_next
    - node_register_outgoing
    - node_create
    - node_release
    linkageType: ''
    returnType: AC_NODE_t
    signature: AC_NODE_t * node_create_next (AC_NODE_t * thiz, AC_ALPHABET_t alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1037
    functionName: mp_data_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t mp_data_size(int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: acho_calloc
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1043,1
    - Dst: mp_data_size
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1043,1
    - Dst: acho_malloc
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1048,1
    - Dst: mp_data_size
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1048,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1050,1
    - Dst: mp_data_size
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1050,1
    - Dst: acho_free
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - m
    argTypes:
    - AC_PATTERNS_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1054
    functionName: node_resize_mp
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - acho_calloc
    - acho_malloc
    - mp_data_size
    - acho_free
    - memcpy
    linkageType: ''
    returnType: AC_PATTERNS_t
    signature: AC_PATTERNS_t * node_resize_mp(AC_PATTERNS_t *m)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: node_has_matchstr
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1067,1
    - Dst: node_resize_mp
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1071,1
    - Dst: node_resize_mp
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1078,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - thiz
    - str
    - is_existing
    argTypes:
    - AC_NODE_t*
    - AC_PATTERN_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1089
    functionName: node_register_matchstr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 2
    functionsReached:
    - node_resize_mp
    - node_has_matchstr
    linkageType: ''
    returnType: int
    signature: int node_register_matchstr (AC_NODE_t * thiz, AC_PATTERN_t * str,int
      is_existing)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: acho_calloc
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1097,1
    - Dst: edge_data_size
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1097,1
    - Dst: edge_data_size
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1102,1
    - Dst: acho_calloc
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1103,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1105,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1109,1
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1109,1
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1109,1
    - Dst: acho_free
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - e
    - added
    argTypes:
    - struct edge*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1113
    functionName: node_resize_outgoing
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - edge_get_alpha
    - acho_calloc
    - edge_data_size
    - acho_free
    - memcpy
    linkageType: ''
    returnType: struct edge
    signature: struct edge *node_resize_outgoing(struct edge * e,size_t added)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: node_resize_outgoing
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1131,1
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1134,1
    - Dst: node_resize_outgoing
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1146,1
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - thiz
    - next
    - alpha
    argTypes:
    - AC_NODE_t*
    - AC_NODE_t*
    - AC_ALPHABET_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1119
    functionDepth: 2
    functionLinenumber: 1119
    functionLinenumberEnd: 1156
    functionName: node_register_outgoing
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached:
    - edge_get_alpha
    - node_resize_outgoing
    linkageType: ''
    returnType: int
    signature: 'int node_register_outgoing

      (AC_NODE_t * thiz, AC_NODE_t * next, AC_ALPHABET_t alpha)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - e
    - a
    - b
    argTypes:
    - struct edge*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1165
    functionName: node_edge_compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - edge_get_alpha
    linkageType: ''
    returnType: int
    signature: int node_edge_compare (struct edge * e, int a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - e
    - a
    - b
    argTypes:
    - struct edge*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1174
    functionName: node_edge_swap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - edge_get_alpha
    linkageType: ''
    returnType: void
    signature: void node_edge_swap (struct edge * e, int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - thiz
    - low
    - high
    argTypes:
    - AC_NODE_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1194
    functionName: acho_2range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 0
    functionsReached:
    - edge_get_alpha
    linkageType: ''
    returnType: void
    signature: void acho_2range(AC_NODE_t * thiz,uint8_t low, uint8_t high)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: edge_get_alpha
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1203,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1207,1
    - Dst: acho_2range
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1220,1
    - Dst: node_resize_outgoing
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1231,1
    - Dst: acho_2range
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1234,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - thiz
    - node
    argTypes:
    - AC_AUTOMATA_t*
    - AC_NODE_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1241
    functionName: node_range_edges
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached:
    - edge_get_alpha
    - memset
    - node_resize_outgoing
    - acho_2range
    linkageType: ''
    returnType: int
    signature: int node_range_edges (AC_AUTOMATA_t *thiz, AC_NODE_t * node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acho_sort
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thiz
    argTypes:
    - AC_NODE_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1251
    functionName: node_sort_edges
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached:
    - acho_sort
    linkageType: ''
    returnType: void
    signature: void node_sort_edges (AC_NODE_t * thiz)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmp_func
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1284,1
    - Dst: cmp_func
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1286,1
    - Dst: swap_func
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1288,1
    - Dst: swap_func
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1294,1
    - Dst: cmp_func
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1297,1
    - Dst: cmp_func
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1299,1
    - Dst: swap_func
      Src: /src/ndpi/src/lib/third_party/src/ahocorasick.c:1301,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 2
    argNames:
    - e
    - num
    argTypes:
    - struct edge*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1304
    functionName: acho_sort
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached:
    - cmp_func
    - swap_func
    linkageType: ''
    returnType: void
    signature: "void acho_sort(struct edge *e, size_t num,\n      int (*cmp_func)(struct
      edge *e, int a, int b),\n      void (*swap_func)(struct edge *e, int a, int
      b))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - thiz
    - stats
    argTypes:
    - AC_AUTOMATA_t*
    - struct ac_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1315
    functionName: ac_automata_get_stats
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ac_automata_get_stats(AC_AUTOMATA_t * thiz, struct ac_stats *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Derived **>
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr_to_ptr
    argTypes:
    - Base**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: roaring::internal::movable_CAST_HELPER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Derived **>
    linkageType: ''
    returnType: PPDerived
    signature: PPDerived movable_CAST_HELPER(Base **ptr_to_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: movable_CAST_base
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_base(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Derived **>
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr_to_ptr
    argTypes:
    - Base**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: roaring::internal::movable_CAST_HELPER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Derived **>
    linkageType: ''
    returnType: PPDerived
    signature: PPDerived movable_CAST_HELPER(Base **ptr_to_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: movable_CAST_base
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_base(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Derived **>
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr_to_ptr
    argTypes:
    - Base**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: roaring::internal::movable_CAST_HELPER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Derived **>
    linkageType: ''
    returnType: PPDerived
    signature: PPDerived movable_CAST_HELPER(Base **ptr_to_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: movable_CAST_base
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_base(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_CONTAINER(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Derived **>
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr_to_ptr
    argTypes:
    - Base**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: roaring::internal::movable_CAST_HELPER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Derived **>
    linkageType: ''
    returnType: PPDerived
    signature: PPDerived movable_CAST_HELPER(Base **ptr_to_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: movable_CAST
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: movable_CAST_base
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_base(c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 316
    functionName: roaring::internal::binarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t binarySearch(const uint16_t *array, int32_t lenarray,\n                            uint16_t
      ikey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - array
    - pos
    - length
    - min
    argTypes:
    - uint16_t*
    - int32_t
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 368
    functionName: roaring::internal::advanceUntil
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t advanceUntil(const uint16_t *array, int32_t pos,\n                                   int32_t
      length, uint16_t min)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: roaring::internal::count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_less(const uint16_t *array, int32_t lenarray,\n                                 uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 394
    functionName: roaring::internal::count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_greater(const uint16_t *array, int32_t lenarray,\n                                    uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 316
    functionName: roaring::internal::binarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t binarySearch(const uint16_t *array, int32_t lenarray,\n                            uint16_t
      ikey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - array
    - pos
    - length
    - min
    argTypes:
    - uint16_t*
    - int32_t
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 368
    functionName: roaring::internal::advanceUntil
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t advanceUntil(const uint16_t *array, int32_t pos,\n                                   int32_t
      length, uint16_t min)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: roaring::internal::count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_less(const uint16_t *array, int32_t lenarray,\n                                 uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 394
    functionName: roaring::internal::count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_greater(const uint16_t *array, int32_t lenarray,\n                                    uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 316
    functionName: roaring::internal::binarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t binarySearch(const uint16_t *array, int32_t lenarray,\n                            uint16_t
      ikey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - array
    - pos
    - length
    - min
    argTypes:
    - uint16_t*
    - int32_t
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 368
    functionName: roaring::internal::advanceUntil
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t advanceUntil(const uint16_t *array, int32_t pos,\n                                   int32_t
      length, uint16_t min)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: roaring::internal::count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_less(const uint16_t *array, int32_t lenarray,\n                                 uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 394
    functionName: roaring::internal::count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_greater(const uint16_t *array, int32_t lenarray,\n                                    uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 316
    functionName: roaring::internal::binarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t binarySearch(const uint16_t *array, int32_t lenarray,\n                            uint16_t
      ikey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - array
    - pos
    - length
    - min
    argTypes:
    - uint16_t*
    - int32_t
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 368
    functionName: roaring::internal::advanceUntil
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t advanceUntil(const uint16_t *array, int32_t pos,\n                                   int32_t
      length, uint16_t min)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: roaring::internal::count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_less(const uint16_t *array, int32_t lenarray,\n                                 uint16_t
      ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 394
    functionName: roaring::internal::count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: "int32_t count_greater(const uint16_t *array, int32_t lenarray,\n                                    uint16_t
      ikey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - ','
    - destReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: ASM_SHIFT_RIGHT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SHIFT_RIGHT(srcReg, bitsReg, destReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: ASM_INPLACESHIFT_RIGHT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_INPLACESHIFT_RIGHT(srcReg, bitsReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - ','
    - destReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: ASM_SHIFT_LEFT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SHIFT_LEFT(srcReg, bitsReg, destReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - testByte
    - ','
    - testBit
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: ASM_SET_BIT_INC_WAS_CLEAR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SET_BIT_INC_WAS_CLEAR(testByte, testBit, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - testByte
    - ','
    - testBit
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: ASM_CLEAR_BIT_DEC_WAS_SET
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_CLEAR_BIT_DEC_WAS_SET(testByte, testBit, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - ','
    - destReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: ASM_SHIFT_RIGHT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SHIFT_RIGHT(srcReg, bitsReg, destReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: ASM_INPLACESHIFT_RIGHT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_INPLACESHIFT_RIGHT(srcReg, bitsReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - srcReg
    - ','
    - bitsReg
    - ','
    - destReg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: ASM_SHIFT_LEFT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SHIFT_LEFT(srcReg, bitsReg, destReg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - testByte
    - ','
    - testBit
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: ASM_SET_BIT_INC_WAS_CLEAR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_SET_BIT_INC_WAS_CLEAR(testByte, testBit, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - testByte
    - ','
    - testBit
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: ASM_CLEAR_BIT_DEC_WAS_SET
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASM_CLEAR_BIT_DEC_WAS_SET(testByte, testBit, count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:656,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:657,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:660,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:662,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 665
    functionName: roaring::internal::bitset_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_range(uint64_t *words, uint32_t start,\n                                    uint32_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:676,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:677,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:681,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:681,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:683,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:685,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 689
    functionName: roaring::internal::bitset_lenrange_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: "int bitset_lenrange_cardinality(const uint64_t *words,\n                                              uint32_t
      start,\n                                              uint32_t lenminusone)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:699,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:702,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 715
    functionName: roaring::internal::bitset_lenrange_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_lenrange_empty(const uint64_t *words, uint32_t start,\n
      \                                        uint32_t lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:725,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:730,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:732,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 735
    functionName: roaring::internal::bitset_set_lenrange
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_lenrange(uint64_t *words, uint32_t start,\n                                       uint32_t
      lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:745,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 750
    functionName: roaring::internal::bitset_flip_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_flip_range(uint64_t *words, uint32_t start,\n                                     uint32_t
      end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:761,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:762,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:765,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:767,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 770
    functionName: roaring::internal::bitset_reset_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_reset_range(uint64_t *words, uint32_t start,\n                                      uint32_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:902,1
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:912,1
    - Dst: _mm256_set1_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:922,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:924,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:925,1
    - Dst: _mm256_srli_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:925,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:926,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:927,1
    - Dst: _mm256_sad_epu8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 929
    functionName: roaring::internal::popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm256_set1_epi8
    - _mm256_sad_epu8
    - _mm256_setr_epi8
    - _mm256_srli_epi16
    - _mm256_shuffle_epi8
    - _mm256_and_si256
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 popcount256(__m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:938,1
    - Dst: _mm256_or_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - h
    - l
    - a
    - b
    - c
    argTypes:
    - __m256i*
    - __m256i*
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 941
    functionName: roaring::internal::CSA
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm256_and_si256
    - _mm256_or_si256
    - _mm256_xor_si256
    linkageType: ''
    returnType: void
    signature: "void CSA(__m256i *h, __m256i *l, __m256i a, __m256i b,\n                       __m256i
      c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:950,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:951,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:952,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:953,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:954,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:955,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:962,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:962,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:963,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:964,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:964,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:965,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:966,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:967,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:967,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:968,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:969,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:969,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:970,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:971,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:972,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:973,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:973,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:974,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:975,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:975,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:976,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:977,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:978,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:978,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:979,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:980,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:980,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:981,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:982,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:983,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:984,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:986,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:986,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:989,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:990,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:991,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:991,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:992,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:993,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:993,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:994,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:995,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:995,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:996,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:996,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1001,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1002,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1003,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m256i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 1005
    functionName: roaring::internal::avx2_harley_seal_popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::CSA
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - roaring::internal::popcount256
    - _mm256_slli_epi64
    - _mm256_extract_epi64
    - _mm256_add_epi64
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx2_harley_seal_popcount256(const __m256i *data,\n                                                    const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1187
    functionName: CROARING_AVXPOPCNTFNC
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_AVXPOPCNTFNC(opname, avx_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - i
    - ','
    - accu
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: VPOPCNT_AND_ADD
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VPOPCNT_AND_ADD(ptr, i, accu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1220,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1221,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1222,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1224
    functionName: roaring::internal::sum_epu64_256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_extract_epi64
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: CROARING_TARGET_AVX512 sum_epu64_256(const __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_extracti64x4_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1227,1
    - Dst: _mm512_extracti64x4_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1228,1
    - Dst: roaring::internal::sum_epu64_256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1230,1
    - Dst: roaring::internal::sum_epu64_256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m512i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1231
    functionName: roaring::internal::simd_sum_epu64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::sum_epu64_256
    - _mm512_extracti64x4_epi64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t simd_sum_epu64(const __m512i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1236,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1240,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1241,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1242,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1243,1
    - Dst: _mm512_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1247,1
    - Dst: _mm512_popcnt_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1248,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1248,1
    - Dst: roaring::internal::simd_sum_epu64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m512i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1252
    functionName: roaring::internal::avx512_vpopcount
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm512_add_epi64
    - _mm512_popcnt_epi64
    - _mm512_setzero_si512
    - roaring::internal::simd_sum_epu64
    - VPOPCNT_AND_ADD
    - _mm512_loadu_si512
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx512_vpopcount(const __m512i *data,\n                                        const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1315
    functionName: CROARING_AVXPOPCNTFNC512
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_AVXPOPCNTFNC512(opname, avx_intrinsic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:656,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:657,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:660,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:662,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 665
    functionName: roaring::internal::bitset_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_range(uint64_t *words, uint32_t start,\n                                    uint32_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:676,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:677,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:681,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:681,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:683,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:685,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 689
    functionName: roaring::internal::bitset_lenrange_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: "int bitset_lenrange_cardinality(const uint64_t *words,\n                                              uint32_t
      start,\n                                              uint32_t lenminusone)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:699,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:702,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 715
    functionName: roaring::internal::bitset_lenrange_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_lenrange_empty(const uint64_t *words, uint32_t start,\n
      \                                        uint32_t lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:725,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:730,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:732,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 735
    functionName: roaring::internal::bitset_set_lenrange
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_lenrange(uint64_t *words, uint32_t start,\n                                       uint32_t
      lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:745,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 750
    functionName: roaring::internal::bitset_flip_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_flip_range(uint64_t *words, uint32_t start,\n                                     uint32_t
      end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:761,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:762,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:765,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:767,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 770
    functionName: roaring::internal::bitset_reset_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_reset_range(uint64_t *words, uint32_t start,\n                                      uint32_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:902,1
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:912,1
    - Dst: _mm256_set1_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:922,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:924,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:925,1
    - Dst: _mm256_srli_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:925,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:926,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:927,1
    - Dst: _mm256_sad_epu8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 929
    functionName: roaring::internal::popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - _mm256_set1_epi8
    - _mm256_sad_epu8
    - _mm256_setr_epi8
    - _mm256_srli_epi16
    - _mm256_shuffle_epi8
    - _mm256_and_si256
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 popcount256(__m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:938,1
    - Dst: _mm256_or_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - h
    - l
    - a
    - b
    - c
    argTypes:
    - __m256i*
    - __m256i*
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 941
    functionName: roaring::internal::CSA
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - _mm256_and_si256
    - _mm256_or_si256
    - _mm256_xor_si256
    linkageType: ''
    returnType: void
    signature: "void CSA(__m256i *h, __m256i *l, __m256i a, __m256i b,\n                       __m256i
      c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:950,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:951,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:952,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:953,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:954,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:955,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:962,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:962,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:963,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:964,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:964,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:965,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:966,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:967,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:967,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:968,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:969,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:969,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:970,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:971,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:972,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:973,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:973,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:974,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:975,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:975,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:976,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:977,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:978,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:978,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:979,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:980,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:980,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:981,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:982,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:983,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:984,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:986,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:986,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:989,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:990,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:991,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:991,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:992,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:993,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:993,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:994,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:995,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:995,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:996,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:996,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1001,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1002,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1003,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m256i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 1005
    functionName: roaring::internal::avx2_harley_seal_popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::CSA
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - roaring::internal::popcount256
    - _mm256_slli_epi64
    - _mm256_extract_epi64
    - _mm256_add_epi64
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx2_harley_seal_popcount256(const __m256i *data,\n                                                    const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1187
    functionName: CROARING_AVXPOPCNTFNC
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_AVXPOPCNTFNC(opname, avx_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - i
    - ','
    - accu
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: VPOPCNT_AND_ADD
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VPOPCNT_AND_ADD(ptr, i, accu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1220,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1221,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1222,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1224
    functionName: roaring::internal::sum_epu64_256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - _mm256_extract_epi64
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: CROARING_TARGET_AVX512 sum_epu64_256(const __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_extracti64x4_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1227,1
    - Dst: _mm512_extracti64x4_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1228,1
    - Dst: roaring::internal::sum_epu64_256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1230,1
    - Dst: roaring::internal::sum_epu64_256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m512i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1231
    functionName: roaring::internal::simd_sum_epu64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::sum_epu64_256
    - _mm512_extracti64x4_epi64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t simd_sum_epu64(const __m512i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1236,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1240,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1241,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1242,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1243,1
    - Dst: _mm512_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1247,1
    - Dst: _mm512_popcnt_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1248,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1248,1
    - Dst: roaring::internal::simd_sum_epu64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m512i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1252
    functionName: roaring::internal::avx512_vpopcount
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm512_add_epi64
    - _mm512_popcnt_epi64
    - _mm512_setzero_si512
    - roaring::internal::simd_sum_epu64
    - VPOPCNT_AND_ADD
    - _mm512_loadu_si512
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx512_vpopcount(const __m512i *data,\n                                        const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1315
    functionName: CROARING_AVXPOPCNTFNC512
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_AVXPOPCNTFNC512(opname, avx_intrinsic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:656,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:657,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:660,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:662,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 665
    functionName: roaring::internal::bitset_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_range(uint64_t *words, uint32_t start,\n                                    uint32_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:676,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:677,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:681,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:681,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:683,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:685,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 689
    functionName: roaring::internal::bitset_lenrange_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: "int bitset_lenrange_cardinality(const uint64_t *words,\n                                              uint32_t
      start,\n                                              uint32_t lenminusone)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:699,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:702,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 715
    functionName: roaring::internal::bitset_lenrange_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_lenrange_empty(const uint64_t *words, uint32_t start,\n
      \                                        uint32_t lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:725,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:730,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:732,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 735
    functionName: roaring::internal::bitset_set_lenrange
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_lenrange(uint64_t *words, uint32_t start,\n                                       uint32_t
      lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:745,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 750
    functionName: roaring::internal::bitset_flip_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_flip_range(uint64_t *words, uint32_t start,\n                                     uint32_t
      end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:761,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:762,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:765,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:767,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 770
    functionName: roaring::internal::bitset_reset_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_reset_range(uint64_t *words, uint32_t start,\n                                      uint32_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:902,1
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:912,1
    - Dst: _mm256_set1_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:922,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:924,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:925,1
    - Dst: _mm256_srli_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:925,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:926,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:927,1
    - Dst: _mm256_sad_epu8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 929
    functionName: roaring::internal::popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - _mm256_set1_epi8
    - _mm256_sad_epu8
    - _mm256_setr_epi8
    - _mm256_srli_epi16
    - _mm256_shuffle_epi8
    - _mm256_and_si256
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 popcount256(__m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:938,1
    - Dst: _mm256_or_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - h
    - l
    - a
    - b
    - c
    argTypes:
    - __m256i*
    - __m256i*
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 941
    functionName: roaring::internal::CSA
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - _mm256_and_si256
    - _mm256_or_si256
    - _mm256_xor_si256
    linkageType: ''
    returnType: void
    signature: "void CSA(__m256i *h, __m256i *l, __m256i a, __m256i b,\n                       __m256i
      c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:950,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:951,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:952,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:953,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:954,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:955,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:962,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:962,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:963,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:964,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:964,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:965,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:966,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:967,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:967,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:968,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:969,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:969,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:970,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:971,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:972,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:973,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:973,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:974,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:975,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:975,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:976,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:977,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:978,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:978,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:979,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:980,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:980,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:981,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:982,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:983,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:984,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:986,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:986,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:989,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:990,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:991,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:991,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:992,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:993,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:993,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:994,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:995,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:995,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:996,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:996,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1001,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1002,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1003,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m256i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 1005
    functionName: roaring::internal::avx2_harley_seal_popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::CSA
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - roaring::internal::popcount256
    - _mm256_slli_epi64
    - _mm256_extract_epi64
    - _mm256_add_epi64
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx2_harley_seal_popcount256(const __m256i *data,\n                                                    const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1187
    functionName: CROARING_AVXPOPCNTFNC
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_AVXPOPCNTFNC(opname, avx_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - i
    - ','
    - accu
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: VPOPCNT_AND_ADD
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VPOPCNT_AND_ADD(ptr, i, accu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1220,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1221,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1222,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1224
    functionName: roaring::internal::sum_epu64_256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - _mm256_extract_epi64
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: CROARING_TARGET_AVX512 sum_epu64_256(const __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_extracti64x4_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1227,1
    - Dst: _mm512_extracti64x4_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1228,1
    - Dst: roaring::internal::sum_epu64_256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1230,1
    - Dst: roaring::internal::sum_epu64_256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m512i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1231
    functionName: roaring::internal::simd_sum_epu64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::sum_epu64_256
    - _mm512_extracti64x4_epi64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t simd_sum_epu64(const __m512i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1236,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1240,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1241,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1242,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1243,1
    - Dst: _mm512_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1247,1
    - Dst: _mm512_popcnt_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1248,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1248,1
    - Dst: roaring::internal::simd_sum_epu64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m512i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1252
    functionName: roaring::internal::avx512_vpopcount
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm512_add_epi64
    - _mm512_popcnt_epi64
    - _mm512_setzero_si512
    - roaring::internal::simd_sum_epu64
    - VPOPCNT_AND_ADD
    - _mm512_loadu_si512
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx512_vpopcount(const __m512i *data,\n                                        const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1315
    functionName: CROARING_AVXPOPCNTFNC512
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_AVXPOPCNTFNC512(opname, avx_intrinsic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:656,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:657,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:660,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:662,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 665
    functionName: roaring::internal::bitset_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_range(uint64_t *words, uint32_t start,\n                                    uint32_t
      end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:676,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:677,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:681,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:681,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:683,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:685,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 689
    functionName: roaring::internal::bitset_lenrange_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: "int bitset_lenrange_cardinality(const uint64_t *words,\n                                              uint32_t
      start,\n                                              uint32_t lenminusone)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:699,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:702,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 715
    functionName: roaring::internal::bitset_lenrange_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_lenrange_empty(const uint64_t *words, uint32_t start,\n
      \                                        uint32_t lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:725,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:730,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:732,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - words
    - start
    - lenminusone
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 735
    functionName: roaring::internal::bitset_set_lenrange
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_set_lenrange(uint64_t *words, uint32_t start,\n                                       uint32_t
      lenminusone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:745,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 750
    functionName: roaring::internal::bitset_flip_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_flip_range(uint64_t *words, uint32_t start,\n                                     uint32_t
      end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:761,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:762,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:765,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:767,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - words
    - start
    - end
    argTypes:
    - uint64_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 770
    functionName: roaring::internal::bitset_reset_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_reset_range(uint64_t *words, uint32_t start,\n                                      uint32_t
      end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:902,1
    - Dst: _mm256_setr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:912,1
    - Dst: _mm256_set1_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:922,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:924,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:925,1
    - Dst: _mm256_srli_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:925,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:926,1
    - Dst: _mm256_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:927,1
    - Dst: _mm256_sad_epu8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 929
    functionName: roaring::internal::popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - _mm256_set1_epi8
    - _mm256_sad_epu8
    - _mm256_setr_epi8
    - _mm256_srli_epi16
    - _mm256_shuffle_epi8
    - _mm256_and_si256
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 popcount256(__m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:938,1
    - Dst: _mm256_or_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_and_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:939,1
    - Dst: _mm256_xor_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - h
    - l
    - a
    - b
    - c
    argTypes:
    - __m256i*
    - __m256i*
    - __m256i
    - __m256i
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 941
    functionName: roaring::internal::CSA
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - _mm256_and_si256
    - _mm256_or_si256
    - _mm256_xor_si256
    linkageType: ''
    returnType: void
    signature: "void CSA(__m256i *h, __m256i *l, __m256i a, __m256i b,\n                       __m256i
      c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:950,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:951,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:952,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:953,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:954,1
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:955,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:962,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:962,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:963,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:964,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:964,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:965,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:966,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:967,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:967,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:968,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:969,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:969,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:970,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:971,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:972,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:973,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:973,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:974,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:975,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:975,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:976,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:977,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:978,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:978,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:979,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:980,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:980,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:981,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:982,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:983,1
    - Dst: roaring::internal::CSA
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:984,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:986,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:986,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:989,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:990,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:991,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:991,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:992,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:993,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:993,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:994,1
    - Dst: _mm256_slli_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:995,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:995,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:996,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:996,1
    - Dst: _mm256_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: roaring::internal::popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:999,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1001,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1002,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1003,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m256i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 1005
    functionName: roaring::internal::avx2_harley_seal_popcount256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::CSA
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - roaring::internal::popcount256
    - _mm256_slli_epi64
    - _mm256_extract_epi64
    - _mm256_add_epi64
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx2_harley_seal_popcount256(const __m256i *data,\n                                                    const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1187
    functionName: CROARING_AVXPOPCNTFNC
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_AVXPOPCNTFNC(opname, avx_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - i
    - ','
    - accu
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: VPOPCNT_AND_ADD
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VPOPCNT_AND_ADD(ptr, i, accu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1220,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1221,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1222,1
    - Dst: _mm256_extract_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m256i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1224
    functionName: roaring::internal::sum_epu64_256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - _mm256_extract_epi64
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: CROARING_TARGET_AVX512 sum_epu64_256(const __m256i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_extracti64x4_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1227,1
    - Dst: _mm512_extracti64x4_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1228,1
    - Dst: roaring::internal::sum_epu64_256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1230,1
    - Dst: roaring::internal::sum_epu64_256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - __m512i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1231
    functionName: roaring::internal::simd_sum_epu64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::sum_epu64_256
    - _mm512_extracti64x4_epi64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t simd_sum_epu64(const __m512i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1236,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1240,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1241,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1242,1
    - Dst: VPOPCNT_AND_ADD
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1243,1
    - Dst: _mm512_add_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1247,1
    - Dst: _mm512_popcnt_epi64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1248,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1248,1
    - Dst: roaring::internal::simd_sum_epu64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - __m512i*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1252
    functionName: roaring::internal::avx512_vpopcount
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm512_add_epi64
    - _mm512_popcnt_epi64
    - _mm512_setzero_si512
    - roaring::internal::simd_sum_epu64
    - VPOPCNT_AND_ADD
    - _mm512_loadu_si512
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t avx512_vpopcount(const __m512i *data,\n                                        const
      uint64_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opname
    - ','
    - avx_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1315
    functionName: CROARING_AVXPOPCNTFNC512
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_AVXPOPCNTFNC512(opname, avx_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1380
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(array_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1385
    functionName: CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 240
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1386
    functionName: const_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1387
    functionName: movable_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1414
    functionName: roaring::internal::array_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_cardinality(const array_container_t
      *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1419
    functionName: roaring::internal::array_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_nonzero_cardinality(\n    const array_container_t
      *array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1432
    functionName: roaring::internal::array_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_empty(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1438
    functionName: roaring::internal::array_container_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_full(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - card
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1505
    functionName: roaring::internal::array_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_serialized_size_in_bytes(int32_t card)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1553
    functionName: roaring::internal::array_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_size_in_bytes(\n    const array_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1566
    functionName: roaring::internal::array_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_equals(const array_container_t *container1,\n
      \                                         const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - array_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1591
    functionName: roaring::internal::array_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_select(const array_container_t *container,\n
      \                                         uint32_t *start_rank, uint32_t rank,\n
      \                                         uint32_t *element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1607,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1612
    functionName: roaring::internal::array_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_full
    - roaring::internal::array_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_container_append(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1627,1
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1629,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1633,1
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1638,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1639,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - arr
    - value
    - max_cardinality
    argTypes:
    - array_container_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1650
    functionName: roaring::internal::array_container_try_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    - roaring::internal::array_container_full
    - roaring::internal::array_container_append
    - roaring::internal::array_container_empty
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_try_add(array_container_t *arr,\n                                          uint16_t
      value,\n                                          int32_t max_cardinality)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arr
    - value
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1655
    functionName: roaring::internal::array_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_try_add
    linkageType: ''
    returnType: bool
    signature: bool array_container_add(array_container_t *arr, uint16_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1660,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1669
    functionName: roaring::internal::array_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    - memmove
    linkageType: ''
    returnType: bool
    signature: "bool array_container_remove(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1700
    functionName: roaring::internal::array_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains(const array_container_t *arr,\n                                     uint16_t
      pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - arr
    - range_start
    - range_end
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1730
    functionName: roaring::internal::array_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains_range(const array_container_t *arr,\n
      \                                                 uint32_t range_start,\n                                                  uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1736
    functionName: roaring::internal::array_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_minimum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1742
    functionName: roaring::internal::array_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_maximum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1753
    functionName: roaring::internal::array_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_rank(const array_container_t *arr, uint16_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - arr
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - array_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1780
    functionName: roaring::internal::array_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t array_container_rank_many(const array_container_t *arr,\n
      \                                         uint64_t start_rank,\n                                          const
      uint32_t *begin,\n                                          const uint32_t *end,
      uint64_t *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1791
    functionName: roaring::internal::array_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_get_index(const array_container_t *arr, uint16_t
      x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1805
    functionName: roaring::internal::array_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_index_equalorlarger(const array_container_t *arr,\n
      \                                              uint16_t x)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1818,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - array
    - min
    - max
    - nvals_less
    - nvals_greater
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1827
    functionName: roaring::internal::array_container_add_range_nvals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_add_range_nvals(array_container_t *array,\n                                                   uint32_t
      min, uint32_t max,\n                                                   int32_t
      nvals_less,\n                                                   int32_t nvals_greater)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array
    - pos
    - count
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1851
    functionName: roaring::internal::array_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_remove_range(array_container_t *array,\n                                                uint32_t
      pos, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1380
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(array_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1385
    functionName: CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 240
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1386
    functionName: const_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1387
    functionName: movable_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1414
    functionName: roaring::internal::array_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_cardinality(const array_container_t
      *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1419
    functionName: roaring::internal::array_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_nonzero_cardinality(\n    const array_container_t
      *array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1432
    functionName: roaring::internal::array_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_empty(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1438
    functionName: roaring::internal::array_container_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_full(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - card
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1505
    functionName: roaring::internal::array_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_serialized_size_in_bytes(int32_t card)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1553
    functionName: roaring::internal::array_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_size_in_bytes(\n    const array_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1566
    functionName: roaring::internal::array_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_equals(const array_container_t *container1,\n
      \                                         const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - array_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1591
    functionName: roaring::internal::array_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_select(const array_container_t *container,\n
      \                                         uint32_t *start_rank, uint32_t rank,\n
      \                                         uint32_t *element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1607,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1612
    functionName: roaring::internal::array_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - roaring::internal::array_container_full
    - roaring::internal::array_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_container_append(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1627,1
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1629,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1633,1
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1638,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1639,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - arr
    - value
    - max_cardinality
    argTypes:
    - array_container_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1650
    functionName: roaring::internal::array_container_try_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    - roaring::internal::array_container_full
    - roaring::internal::array_container_append
    - roaring::internal::array_container_empty
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_try_add(array_container_t *arr,\n                                          uint16_t
      value,\n                                          int32_t max_cardinality)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arr
    - value
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1655
    functionName: roaring::internal::array_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_try_add
    linkageType: ''
    returnType: bool
    signature: bool array_container_add(array_container_t *arr, uint16_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1660,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1669
    functionName: roaring::internal::array_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    - memmove
    linkageType: ''
    returnType: bool
    signature: "bool array_container_remove(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1700
    functionName: roaring::internal::array_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains(const array_container_t *arr,\n                                     uint16_t
      pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - arr
    - range_start
    - range_end
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1730
    functionName: roaring::internal::array_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains_range(const array_container_t *arr,\n
      \                                                 uint32_t range_start,\n                                                  uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1736
    functionName: roaring::internal::array_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_minimum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1742
    functionName: roaring::internal::array_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_maximum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1753
    functionName: roaring::internal::array_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_rank(const array_container_t *arr, uint16_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - arr
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - array_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1780
    functionName: roaring::internal::array_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t array_container_rank_many(const array_container_t *arr,\n
      \                                         uint64_t start_rank,\n                                          const
      uint32_t *begin,\n                                          const uint32_t *end,
      uint64_t *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1791
    functionName: roaring::internal::array_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_get_index(const array_container_t *arr, uint16_t
      x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1805
    functionName: roaring::internal::array_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_index_equalorlarger(const array_container_t *arr,\n
      \                                              uint16_t x)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1818,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - array
    - min
    - max
    - nvals_less
    - nvals_greater
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1827
    functionName: roaring::internal::array_container_add_range_nvals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_add_range_nvals(array_container_t *array,\n                                                   uint32_t
      min, uint32_t max,\n                                                   int32_t
      nvals_less,\n                                                   int32_t nvals_greater)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array
    - pos
    - count
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1851
    functionName: roaring::internal::array_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_remove_range(array_container_t *array,\n                                                uint32_t
      pos, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1380
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(array_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1385
    functionName: CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 240
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1386
    functionName: const_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1387
    functionName: movable_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1414
    functionName: roaring::internal::array_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_cardinality(const array_container_t
      *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1419
    functionName: roaring::internal::array_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_nonzero_cardinality(\n    const array_container_t
      *array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1432
    functionName: roaring::internal::array_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_empty(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1438
    functionName: roaring::internal::array_container_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_full(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - card
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1505
    functionName: roaring::internal::array_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_serialized_size_in_bytes(int32_t card)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1553
    functionName: roaring::internal::array_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_size_in_bytes(\n    const array_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1566
    functionName: roaring::internal::array_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_equals(const array_container_t *container1,\n
      \                                         const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - array_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1591
    functionName: roaring::internal::array_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_select(const array_container_t *container,\n
      \                                         uint32_t *start_rank, uint32_t rank,\n
      \                                         uint32_t *element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1607,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1612
    functionName: roaring::internal::array_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring::internal::array_container_full
    - roaring::internal::array_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_container_append(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1627,1
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1629,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1633,1
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1638,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1639,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - arr
    - value
    - max_cardinality
    argTypes:
    - array_container_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1650
    functionName: roaring::internal::array_container_try_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    - roaring::internal::array_container_full
    - roaring::internal::array_container_append
    - roaring::internal::array_container_empty
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_try_add(array_container_t *arr,\n                                          uint16_t
      value,\n                                          int32_t max_cardinality)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arr
    - value
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1655
    functionName: roaring::internal::array_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_try_add
    linkageType: ''
    returnType: bool
    signature: bool array_container_add(array_container_t *arr, uint16_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1660,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1669
    functionName: roaring::internal::array_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    - memmove
    linkageType: ''
    returnType: bool
    signature: "bool array_container_remove(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1700
    functionName: roaring::internal::array_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains(const array_container_t *arr,\n                                     uint16_t
      pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - arr
    - range_start
    - range_end
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1730
    functionName: roaring::internal::array_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains_range(const array_container_t *arr,\n
      \                                                 uint32_t range_start,\n                                                  uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1736
    functionName: roaring::internal::array_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_minimum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1742
    functionName: roaring::internal::array_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_maximum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1753
    functionName: roaring::internal::array_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_rank(const array_container_t *arr, uint16_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - arr
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - array_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1780
    functionName: roaring::internal::array_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t array_container_rank_many(const array_container_t *arr,\n
      \                                         uint64_t start_rank,\n                                          const
      uint32_t *begin,\n                                          const uint32_t *end,
      uint64_t *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1791
    functionName: roaring::internal::array_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_get_index(const array_container_t *arr, uint16_t
      x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1805
    functionName: roaring::internal::array_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_index_equalorlarger(const array_container_t *arr,\n
      \                                              uint16_t x)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1818,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - array
    - min
    - max
    - nvals_less
    - nvals_greater
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1827
    functionName: roaring::internal::array_container_add_range_nvals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_add_range_nvals(array_container_t *array,\n                                                   uint32_t
      min, uint32_t max,\n                                                   int32_t
      nvals_less,\n                                                   int32_t nvals_greater)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array
    - pos
    - count
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1851
    functionName: roaring::internal::array_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_remove_range(array_container_t *array,\n                                                uint32_t
      pos, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1380
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(array_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1385
    functionName: CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 240
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1386
    functionName: const_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1387
    functionName: movable_CAST_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_array(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1414
    functionName: roaring::internal::array_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_cardinality(const array_container_t
      *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1419
    functionName: roaring::internal::array_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_nonzero_cardinality(\n    const array_container_t
      *array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1432
    functionName: roaring::internal::array_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_empty(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1438
    functionName: roaring::internal::array_container_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_full(const array_container_t *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - card
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1505
    functionName: roaring::internal::array_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_serialized_size_in_bytes(int32_t card)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1553
    functionName: roaring::internal::array_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_size_in_bytes(\n    const array_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1566
    functionName: roaring::internal::array_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_equals(const array_container_t *container1,\n
      \                                         const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - array_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1591
    functionName: roaring::internal::array_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_select(const array_container_t *container,\n
      \                                         uint32_t *start_rank, uint32_t rank,\n
      \                                         uint32_t *element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1607,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1612
    functionName: roaring::internal::array_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 11
    functionsReached:
    - roaring::internal::array_container_full
    - roaring::internal::array_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_container_append(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1627,1
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1629,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1633,1
    - Dst: roaring::internal::array_container_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1638,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1639,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - arr
    - value
    - max_cardinality
    argTypes:
    - array_container_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1650
    functionName: roaring::internal::array_container_try_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 11
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    - roaring::internal::array_container_full
    - roaring::internal::array_container_append
    - roaring::internal::array_container_empty
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_try_add(array_container_t *arr,\n                                          uint16_t
      value,\n                                          int32_t max_cardinality)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arr
    - value
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1655
    functionName: roaring::internal::array_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_try_add
    linkageType: ''
    returnType: bool
    signature: bool array_container_add(array_container_t *arr, uint16_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1660,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1669
    functionName: roaring::internal::array_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    - memmove
    linkageType: ''
    returnType: bool
    signature: "bool array_container_remove(array_container_t *arr,\n                                          uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - arr
    - pos
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1700
    functionName: roaring::internal::array_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains(const array_container_t *arr,\n                                     uint16_t
      pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - arr
    - range_start
    - range_end
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1730
    functionName: roaring::internal::array_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: bool
    signature: "bool array_container_contains_range(const array_container_t *arr,\n
      \                                                 uint32_t range_start,\n                                                  uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1736
    functionName: roaring::internal::array_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_minimum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1742
    functionName: roaring::internal::array_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t array_container_maximum(const array_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1753
    functionName: roaring::internal::array_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_rank(const array_container_t *arr, uint16_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - arr
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - array_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1780
    functionName: roaring::internal::array_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t array_container_rank_many(const array_container_t *arr,\n
      \                                         uint64_t start_rank,\n                                          const
      uint32_t *begin,\n                                          const uint32_t *end,
      uint64_t *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1791
    functionName: roaring::internal::array_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: int array_container_get_index(const array_container_t *arr, uint16_t
      x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - array_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1805
    functionName: roaring::internal::array_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int
    signature: "int array_container_index_equalorlarger(const array_container_t *arr,\n
      \                                              uint16_t x)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1818,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - array
    - min
    - max
    - nvals_less
    - nvals_greater
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1827
    functionName: roaring::internal::array_container_add_range_nvals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_add_range_nvals(array_container_t *array,\n                                                   uint32_t
      min, uint32_t max,\n                                                   int32_t
      nvals_less,\n                                                   int32_t nvals_greater)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array
    - pos
    - count
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1851
    functionName: roaring::internal::array_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_container_remove_range(array_container_t *array,\n                                                uint32_t
      pos, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1895
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(bitset_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1900
    functionName: CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 244
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1901
    functionName: const_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1902
    functionName: movable_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1931,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1935
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1956,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1963
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1972,1
    - Dst: ASM_CLEAR_BIT_DEC_WAS_SET
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1979
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ASM_CLEAR_BIT_DEC_WAS_SET
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_INPLACESHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1988
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - ASM_INPLACESHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2000
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2023
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2036
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2043
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2075
    functionName: roaring::internal::bitset_container_get_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get_range(const bitset_container_t *bitset,\n
      \                                             uint32_t pos_start,\n                                              uint32_t
      pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2081
    functionName: roaring::internal::bitset_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - roaring::internal::bitset_container_get
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains(const bitset_container_t *bitset,\n
      \                                     uint16_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2090
    functionName: roaring::internal::bitset_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_get_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains_range(\n    const bitset_container_t
      *bitset, uint32_t pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2097
    functionName: roaring::internal::bitset_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED bitset_container_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2123
    functionName: roaring::internal::bitset_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_empty(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2130
    functionName: roaring::internal::bitset_container_const_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_empty
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_const_nonzero_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2276
    functionName: roaring::internal::bitset_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t bitset_container_serialized_size_in_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2318
    functionName: roaring::internal::bitset_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_size_in_bytes(\n    const bitset_container_t
      *container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1895
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(bitset_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1900
    functionName: CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 244
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1901
    functionName: const_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1902
    functionName: movable_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1931,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1935
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1956,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1963
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1972,1
    - Dst: ASM_CLEAR_BIT_DEC_WAS_SET
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1979
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ASM_CLEAR_BIT_DEC_WAS_SET
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_INPLACESHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1988
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - ASM_INPLACESHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2000
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2023
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2036
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2043
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2075
    functionName: roaring::internal::bitset_container_get_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get_range(const bitset_container_t *bitset,\n
      \                                             uint32_t pos_start,\n                                              uint32_t
      pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2081
    functionName: roaring::internal::bitset_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - roaring::internal::bitset_container_get
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains(const bitset_container_t *bitset,\n
      \                                     uint16_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2090
    functionName: roaring::internal::bitset_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_get_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains_range(\n    const bitset_container_t
      *bitset, uint32_t pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2097
    functionName: roaring::internal::bitset_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED bitset_container_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2123
    functionName: roaring::internal::bitset_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_empty(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2130
    functionName: roaring::internal::bitset_container_const_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_empty
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_const_nonzero_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2276
    functionName: roaring::internal::bitset_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t bitset_container_serialized_size_in_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2318
    functionName: roaring::internal::bitset_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_size_in_bytes(\n    const bitset_container_t
      *container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1895
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(bitset_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1900
    functionName: CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 244
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1901
    functionName: const_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1902
    functionName: movable_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1931,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1935
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1956,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1963
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1972,1
    - Dst: ASM_CLEAR_BIT_DEC_WAS_SET
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1979
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ASM_CLEAR_BIT_DEC_WAS_SET
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_INPLACESHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1988
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - ASM_INPLACESHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2000
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2023
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2036
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2043
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2075
    functionName: roaring::internal::bitset_container_get_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get_range(const bitset_container_t *bitset,\n
      \                                             uint32_t pos_start,\n                                              uint32_t
      pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2081
    functionName: roaring::internal::bitset_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - roaring::internal::bitset_container_get
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains(const bitset_container_t *bitset,\n
      \                                     uint16_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2090
    functionName: roaring::internal::bitset_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_get_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains_range(\n    const bitset_container_t
      *bitset, uint32_t pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2097
    functionName: roaring::internal::bitset_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED bitset_container_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2123
    functionName: roaring::internal::bitset_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_empty(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2130
    functionName: roaring::internal::bitset_container_const_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_empty
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_const_nonzero_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2276
    functionName: roaring::internal::bitset_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t bitset_container_serialized_size_in_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2318
    functionName: roaring::internal::bitset_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_size_in_bytes(\n    const bitset_container_t
      *container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1895
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(bitset_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1900
    functionName: CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 244
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1901
    functionName: const_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1902
    functionName: movable_CAST_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_bitset(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1931,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1935
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1956,1
    - Dst: ASM_SET_BIT_INC_WAS_CLEAR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1963
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ASM_SET_BIT_INC_WAS_CLEAR
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_SHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1972,1
    - Dst: ASM_CLEAR_BIT_DEC_WAS_SET
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1979
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ASM_CLEAR_BIT_DEC_WAS_SET
    - ASM_SHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASM_INPLACESHIFT_RIGHT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1988
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - ASM_INPLACESHIFT_RIGHT
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:1997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2000
    functionName: roaring::internal::bitset_container_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2023
    functionName: roaring::internal::bitset_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_add(bitset_container_t *bitset,\n                                        uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2036
    functionName: roaring::internal::bitset_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_remove(bitset_container_t *bitset,\n                                           uint16_t
      pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2043
    functionName: roaring::internal::bitset_container_get
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get(const bitset_container_t *bitset,\n                                 uint16_t
      pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2075
    functionName: roaring::internal::bitset_container_get_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 11
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_get_range(const bitset_container_t *bitset,\n
      \                                             uint32_t pos_start,\n                                              uint32_t
      pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bitset
    - pos
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2081
    functionName: roaring::internal::bitset_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - roaring::internal::bitset_container_get
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains(const bitset_container_t *bitset,\n
      \                                     uint16_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bitset
    - pos_start
    - pos_end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2090
    functionName: roaring::internal::bitset_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_get_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_contains_range(\n    const bitset_container_t
      *bitset, uint32_t pos_start, uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2097
    functionName: roaring::internal::bitset_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED bitset_container_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2123
    functionName: roaring::internal::bitset_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_empty(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2130
    functionName: roaring::internal::bitset_container_const_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_empty
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_const_nonzero_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2276
    functionName: roaring::internal::bitset_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t bitset_container_serialized_size_in_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2318
    functionName: roaring::internal::bitset_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_size_in_bytes(\n    const bitset_container_t
      *container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2418
    functionName: CROARING_MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_MAKE_RLE16(val, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2421
    functionName: CROARING_MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_MAKE_RLE16(val, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2429
    functionDepth: 0
    functionLinenumber: 2429
    functionLinenumberEnd: 2433
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(run_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2438
    functionName: CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 216
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2439
    functionName: const_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2439
    functionDepth: 0
    functionLinenumber: 2439
    functionLinenumberEnd: 2440
    functionName: movable_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2466
    functionName: roaring::internal::recoverRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void recoverRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2487
    functionName: roaring::internal::interleavedBinarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t interleavedBinarySearch(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2509
    functionName: roaring::internal::rle16_find_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_find_run(const rle16_t *array, int32_t lenarray,\n                                     uint16_t
      ikey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2535
    functionName: roaring::internal::rle16_count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_less(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2556
    functionName: roaring::internal::rle16_count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_greater(const rle16_t *array,\n                                          int32_t
      lenarray, uint16_t key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2573,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2577
    functionName: roaring::internal::makeRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void makeRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2584,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2588,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2583
    functionDepth: 0
    functionLinenumber: 2583
    functionLinenumberEnd: 2617
    functionName: roaring::internal::run_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_remove(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2630
    functionName: roaring::internal::run_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: bool run_container_contains(const run_container_t *run, uint16_t pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - run
    - pos_start
    - pos_end
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2662
    functionName: roaring::internal::run_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: "bool run_container_contains_range(const run_container_t *run,\n                                                uint32_t
      pos_start,\n                                                uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2671
    functionName: roaring::internal::run_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_nonzero_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: roaring::internal::run_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_empty(const run_container_t *run)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - run
    - vl
    - previousrl
    argTypes:
    - run_container_t*
    - rle16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2705
    functionName: roaring::internal::run_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_container_append(run_container_t *run, rle16_t vl,\n                                        rle16_t
      *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - vl
    argTypes:
    - run_container_t*
    - rle16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2715
    functionName: roaring::internal::run_container_append_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_first(run_container_t *run,\n                                                 rle16_t
      vl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - run
    - val
    - previousrl
    argTypes:
    - run_container_t*
    - uint16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2726
    functionDepth: 1
    functionLinenumber: 2726
    functionLinenumberEnd: 2738
    functionName: roaring::internal::run_container_append_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_append_value(run_container_t *run,\n                                              uint16_t
      val,\n                                              rle16_t *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - val
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2744
    functionDepth: 1
    functionLinenumber: 2744
    functionLinenumberEnd: 2750
    functionName: roaring::internal::run_container_append_value_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_value_first(run_container_t *run,\n                                                       uint16_t
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2757
    functionName: roaring::internal::run_container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_is_full(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_runs
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2819
    functionName: roaring::internal::run_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_serialized_size_in_bytes(int32_t num_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2855
    functionName: roaring::internal::run_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_size_in_bytes(\n    const run_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2868
    functionName: roaring::internal::run_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_equals(const run_container_t *container1,\n
      \                                       const run_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2893,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2901
    functionName: roaring::internal::run_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: "run_container_t *run_container_create_range(uint32_t start,\n                                                          uint32_t
      stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2923
    functionDepth: 0
    functionLinenumber: 2923
    functionLinenumberEnd: 2926
    functionName: roaring::internal::run_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_minimum(const run_container_t *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2932
      start: 2929
    functionDepth: 0
    functionLinenumber: 2929
    functionLinenumberEnd: 2932
    functionName: roaring::internal::run_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_maximum(const run_container_t *run)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 2962
    functionName: roaring::internal::run_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: int
    signature: "int run_container_index_equalorlarger(const run_container_t *arr,\n
      \                                            uint16_t x)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2973,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - run
    - min
    - max
    - nruns_less
    - nruns_greater
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2991
    functionName: roaring::internal::run_container_add_range_nruns
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    - roaring::internal::makeRoomAtIndex
    linkageType: ''
    returnType: void
    signature: "void run_container_add_range_nruns(run_container_t *run,\n                                                 uint32_t
      min, uint32_t max,\n                                                 int32_t
      nruns_less,\n                                                 int32_t nruns_greater)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3013,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - run
    - count
    - distance
    argTypes:
    - run_container_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3021
    functionName: roaring::internal::run_container_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_shift_tail(run_container_t *run, int32_t count,\n
      \                                           int32_t distance)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3028,1
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3029,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3037,1
    - Dst: roaring::internal::run_container_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3075,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - run
    - min
    - max
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3026
    functionDepth: 0
    functionLinenumber: 3026
    functionLinenumberEnd: 3078
    functionName: roaring::internal::run_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::run_container_shift_tail
    - roaring::internal::rle16_find_run
    linkageType: ''
    returnType: void
    signature: "void run_container_remove_range(run_container_t *run,\n                                              uint32_t
      min, uint32_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2418
    functionName: CROARING_MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_MAKE_RLE16(val, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2421
    functionName: CROARING_MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_MAKE_RLE16(val, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2429
    functionDepth: 0
    functionLinenumber: 2429
    functionLinenumberEnd: 2433
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(run_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2438
    functionName: CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 216
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2439
    functionName: const_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2439
    functionDepth: 0
    functionLinenumber: 2439
    functionLinenumberEnd: 2440
    functionName: movable_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2466
    functionName: roaring::internal::recoverRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void recoverRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2487
    functionName: roaring::internal::interleavedBinarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t interleavedBinarySearch(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2509
    functionName: roaring::internal::rle16_find_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_find_run(const rle16_t *array, int32_t lenarray,\n                                     uint16_t
      ikey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2535
    functionName: roaring::internal::rle16_count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_less(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2556
    functionName: roaring::internal::rle16_count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_greater(const rle16_t *array,\n                                          int32_t
      lenarray, uint16_t key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2573,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2577
    functionName: roaring::internal::makeRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 19
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void makeRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2584,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2588,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2583
    functionDepth: 0
    functionLinenumber: 2583
    functionLinenumberEnd: 2617
    functionName: roaring::internal::run_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_remove(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2630
    functionName: roaring::internal::run_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: bool run_container_contains(const run_container_t *run, uint16_t pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - run
    - pos_start
    - pos_end
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2662
    functionName: roaring::internal::run_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: "bool run_container_contains_range(const run_container_t *run,\n                                                uint32_t
      pos_start,\n                                                uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2671
    functionName: roaring::internal::run_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_nonzero_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: roaring::internal::run_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_empty(const run_container_t *run)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - run
    - vl
    - previousrl
    argTypes:
    - run_container_t*
    - rle16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2705
    functionName: roaring::internal::run_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_container_append(run_container_t *run, rle16_t vl,\n                                        rle16_t
      *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - vl
    argTypes:
    - run_container_t*
    - rle16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2715
    functionName: roaring::internal::run_container_append_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_first(run_container_t *run,\n                                                 rle16_t
      vl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - run
    - val
    - previousrl
    argTypes:
    - run_container_t*
    - uint16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2726
    functionDepth: 1
    functionLinenumber: 2726
    functionLinenumberEnd: 2738
    functionName: roaring::internal::run_container_append_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_append_value(run_container_t *run,\n                                              uint16_t
      val,\n                                              rle16_t *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - val
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2744
    functionDepth: 1
    functionLinenumber: 2744
    functionLinenumberEnd: 2750
    functionName: roaring::internal::run_container_append_value_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_value_first(run_container_t *run,\n                                                       uint16_t
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2757
    functionName: roaring::internal::run_container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_is_full(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_runs
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2819
    functionName: roaring::internal::run_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_serialized_size_in_bytes(int32_t num_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2855
    functionName: roaring::internal::run_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_size_in_bytes(\n    const run_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2868
    functionName: roaring::internal::run_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_equals(const run_container_t *container1,\n
      \                                       const run_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2893,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2901
    functionName: roaring::internal::run_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: "run_container_t *run_container_create_range(uint32_t start,\n                                                          uint32_t
      stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2923
    functionDepth: 0
    functionLinenumber: 2923
    functionLinenumberEnd: 2926
    functionName: roaring::internal::run_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_minimum(const run_container_t *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2932
      start: 2929
    functionDepth: 0
    functionLinenumber: 2929
    functionLinenumberEnd: 2932
    functionName: roaring::internal::run_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_maximum(const run_container_t *run)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 2962
    functionName: roaring::internal::run_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: int
    signature: "int run_container_index_equalorlarger(const run_container_t *arr,\n
      \                                            uint16_t x)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2973,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - run
    - min
    - max
    - nruns_less
    - nruns_greater
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2991
    functionName: roaring::internal::run_container_add_range_nruns
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    - roaring::internal::makeRoomAtIndex
    linkageType: ''
    returnType: void
    signature: "void run_container_add_range_nruns(run_container_t *run,\n                                                 uint32_t
      min, uint32_t max,\n                                                 int32_t
      nruns_less,\n                                                 int32_t nruns_greater)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3013,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - run
    - count
    - distance
    argTypes:
    - run_container_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3021
    functionName: roaring::internal::run_container_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_shift_tail(run_container_t *run, int32_t count,\n
      \                                           int32_t distance)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3028,1
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3029,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3037,1
    - Dst: roaring::internal::run_container_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3075,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - run
    - min
    - max
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3026
    functionDepth: 0
    functionLinenumber: 3026
    functionLinenumberEnd: 3078
    functionName: roaring::internal::run_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::run_container_shift_tail
    - roaring::internal::rle16_find_run
    linkageType: ''
    returnType: void
    signature: "void run_container_remove_range(run_container_t *run,\n                                              uint32_t
      min, uint32_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2418
    functionName: CROARING_MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_MAKE_RLE16(val, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2421
    functionName: CROARING_MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_MAKE_RLE16(val, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2429
    functionDepth: 0
    functionLinenumber: 2429
    functionLinenumberEnd: 2433
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(run_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2438
    functionName: CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 216
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2439
    functionName: const_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2439
    functionDepth: 0
    functionLinenumber: 2439
    functionLinenumberEnd: 2440
    functionName: movable_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2466
    functionName: roaring::internal::recoverRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void recoverRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2487
    functionName: roaring::internal::interleavedBinarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t interleavedBinarySearch(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2509
    functionName: roaring::internal::rle16_find_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_find_run(const rle16_t *array, int32_t lenarray,\n                                     uint16_t
      ikey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2535
    functionName: roaring::internal::rle16_count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_less(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2556
    functionName: roaring::internal::rle16_count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_greater(const rle16_t *array,\n                                          int32_t
      lenarray, uint16_t key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2573,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2577
    functionName: roaring::internal::makeRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 22
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void makeRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2584,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2588,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2583
    functionDepth: 0
    functionLinenumber: 2583
    functionLinenumberEnd: 2617
    functionName: roaring::internal::run_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_remove(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2630
    functionName: roaring::internal::run_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: bool run_container_contains(const run_container_t *run, uint16_t pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - run
    - pos_start
    - pos_end
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2662
    functionName: roaring::internal::run_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: "bool run_container_contains_range(const run_container_t *run,\n                                                uint32_t
      pos_start,\n                                                uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2671
    functionName: roaring::internal::run_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_nonzero_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: roaring::internal::run_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_empty(const run_container_t *run)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - run
    - vl
    - previousrl
    argTypes:
    - run_container_t*
    - rle16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2705
    functionName: roaring::internal::run_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_container_append(run_container_t *run, rle16_t vl,\n                                        rle16_t
      *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - vl
    argTypes:
    - run_container_t*
    - rle16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2715
    functionName: roaring::internal::run_container_append_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_first(run_container_t *run,\n                                                 rle16_t
      vl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - run
    - val
    - previousrl
    argTypes:
    - run_container_t*
    - uint16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2726
    functionDepth: 1
    functionLinenumber: 2726
    functionLinenumberEnd: 2738
    functionName: roaring::internal::run_container_append_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_append_value(run_container_t *run,\n                                              uint16_t
      val,\n                                              rle16_t *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - val
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2744
    functionDepth: 1
    functionLinenumber: 2744
    functionLinenumberEnd: 2750
    functionName: roaring::internal::run_container_append_value_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_value_first(run_container_t *run,\n                                                       uint16_t
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2757
    functionName: roaring::internal::run_container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_is_full(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_runs
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2819
    functionName: roaring::internal::run_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_serialized_size_in_bytes(int32_t num_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2855
    functionName: roaring::internal::run_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_size_in_bytes(\n    const run_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2868
    functionName: roaring::internal::run_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_equals(const run_container_t *container1,\n
      \                                       const run_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2893,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2901
    functionName: roaring::internal::run_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: "run_container_t *run_container_create_range(uint32_t start,\n                                                          uint32_t
      stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2923
    functionDepth: 0
    functionLinenumber: 2923
    functionLinenumberEnd: 2926
    functionName: roaring::internal::run_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_minimum(const run_container_t *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2932
      start: 2929
    functionDepth: 0
    functionLinenumber: 2929
    functionLinenumberEnd: 2932
    functionName: roaring::internal::run_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_maximum(const run_container_t *run)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 2962
    functionName: roaring::internal::run_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: int
    signature: "int run_container_index_equalorlarger(const run_container_t *arr,\n
      \                                            uint16_t x)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2973,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - run
    - min
    - max
    - nruns_less
    - nruns_greater
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2991
    functionName: roaring::internal::run_container_add_range_nruns
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    - roaring::internal::makeRoomAtIndex
    linkageType: ''
    returnType: void
    signature: "void run_container_add_range_nruns(run_container_t *run,\n                                                 uint32_t
      min, uint32_t max,\n                                                 int32_t
      nruns_less,\n                                                 int32_t nruns_greater)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3013,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - run
    - count
    - distance
    argTypes:
    - run_container_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3021
    functionName: roaring::internal::run_container_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_shift_tail(run_container_t *run, int32_t count,\n
      \                                           int32_t distance)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3028,1
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3029,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3037,1
    - Dst: roaring::internal::run_container_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3075,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - run
    - min
    - max
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3026
    functionDepth: 0
    functionLinenumber: 3026
    functionLinenumberEnd: 3078
    functionName: roaring::internal::run_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::run_container_shift_tail
    - roaring::internal::rle16_find_run
    linkageType: ''
    returnType: void
    signature: "void run_container_remove_range(run_container_t *run,\n                                              uint32_t
      min, uint32_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2416
    functionDepth: 0
    functionLinenumber: 2416
    functionLinenumberEnd: 2418
    functionName: CROARING_MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_MAKE_RLE16(val, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2421
    functionName: CROARING_MAKE_RLE16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_MAKE_RLE16(val, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2429
    functionDepth: 0
    functionLinenumber: 2429
    functionLinenumberEnd: 2433
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(run_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2438
    functionName: CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 216
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2439
    functionName: const_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 168
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2439
    functionDepth: 0
    functionLinenumber: 2439
    functionLinenumberEnd: 2440
    functionName: movable_CAST_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_run(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2466
    functionName: roaring::internal::recoverRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 11
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void recoverRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2487
    functionName: roaring::internal::interleavedBinarySearch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t interleavedBinarySearch(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t ikey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - array
    - lenarray
    - ikey
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2509
    functionName: roaring::internal::rle16_find_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_find_run(const rle16_t *array, int32_t lenarray,\n                                     uint16_t
      ikey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2535
    functionName: roaring::internal::rle16_count_less
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_less(const rle16_t *array, int32_t lenarray,\n
      \                                      uint16_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - array
    - lenarray
    - key
    argTypes:
    - rle16_t*
    - int32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2556
    functionName: roaring::internal::rle16_count_greater
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rle16_count_greater(const rle16_t *array,\n                                          int32_t
      lenarray, uint16_t key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2573,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - run
    - index
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2577
    functionName: roaring::internal::makeRoomAtIndex
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 25
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void makeRoomAtIndex(run_container_t *run, uint16_t index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2584,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2588,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2583
    functionDepth: 0
    functionLinenumber: 2583
    functionLinenumberEnd: 2617
    functionName: roaring::internal::run_container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_remove(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2630
    functionName: roaring::internal::run_container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: bool run_container_contains(const run_container_t *run, uint16_t pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - run
    - pos_start
    - pos_end
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2662
    functionName: roaring::internal::run_container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: bool
    signature: "bool run_container_contains_range(const run_container_t *run,\n                                                uint32_t
      pos_start,\n                                                uint32_t pos_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2671
    functionName: roaring::internal::run_container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_nonzero_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: roaring::internal::run_container_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_empty(const run_container_t *run)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - run
    - vl
    - previousrl
    argTypes:
    - run_container_t*
    - rle16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2705
    functionName: roaring::internal::run_container_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_container_append(run_container_t *run, rle16_t vl,\n                                        rle16_t
      *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - vl
    argTypes:
    - run_container_t*
    - rle16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2715
    functionName: roaring::internal::run_container_append_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_first(run_container_t *run,\n                                                 rle16_t
      vl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - run
    - val
    - previousrl
    argTypes:
    - run_container_t*
    - uint16_t
    - rle16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2726
    functionDepth: 1
    functionLinenumber: 2726
    functionLinenumberEnd: 2738
    functionName: roaring::internal::run_container_append_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_append_value(run_container_t *run,\n                                              uint16_t
      val,\n                                              rle16_t *previousrl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - run
    - val
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2744
    functionDepth: 1
    functionLinenumber: 2744
    functionLinenumberEnd: 2750
    functionName: roaring::internal::run_container_append_value_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: rle16_t
    signature: "rle16_t run_container_append_value_first(run_container_t *run,\n                                                       uint16_t
      val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2757
    functionName: roaring::internal::run_container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_is_full(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_runs
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2819
    functionName: roaring::internal::run_container_serialized_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_serialized_size_in_bytes(int32_t num_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - container
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2851
    functionDepth: 0
    functionLinenumber: 2851
    functionLinenumberEnd: 2855
    functionName: roaring::internal::run_container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_size_in_bytes(\n    const run_container_t
      *container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2868
    functionName: roaring::internal::run_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::memequals
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_equals(const run_container_t *container1,\n
      \                                       const run_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2893,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2901
    functionName: roaring::internal::run_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: "run_container_t *run_container_create_range(uint32_t start,\n                                                          uint32_t
      stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2923
    functionDepth: 0
    functionLinenumber: 2923
    functionLinenumberEnd: 2926
    functionName: roaring::internal::run_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_minimum(const run_container_t *run)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2932
      start: 2929
    functionDepth: 0
    functionLinenumber: 2929
    functionLinenumberEnd: 2932
    functionName: roaring::internal::run_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t run_container_maximum(const run_container_t *run)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2947
    functionDepth: 0
    functionLinenumber: 2947
    functionLinenumberEnd: 2962
    functionName: roaring::internal::run_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    linkageType: ''
    returnType: int
    signature: "int run_container_index_equalorlarger(const run_container_t *arr,\n
      \                                            uint16_t x)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2973,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:2986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - run
    - min
    - max
    - nruns_less
    - nruns_greater
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2991
    functionName: roaring::internal::run_container_add_range_nruns
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    - roaring::internal::makeRoomAtIndex
    linkageType: ''
    returnType: void
    signature: "void run_container_add_range_nruns(run_container_t *run,\n                                                 uint32_t
      min, uint32_t max,\n                                                 int32_t
      nruns_less,\n                                                 int32_t nruns_greater)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3013,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - run
    - count
    - distance
    argTypes:
    - run_container_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3021
    functionName: roaring::internal::run_container_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_shift_tail(run_container_t *run, int32_t count,\n
      \                                           int32_t distance)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3028,1
    - Dst: roaring::internal::rle16_find_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3029,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3037,1
    - Dst: roaring::internal::run_container_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:3075,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - run
    - min
    - max
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3026
    functionDepth: 0
    functionLinenumber: 3026
    functionLinenumberEnd: 3078
    functionName: roaring::internal::run_container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::run_container_shift_tail
    - roaring::internal::rle16_find_run
    linkageType: ''
    returnType: void
    signature: "void run_container_remove_range(run_container_t *run,\n                                              uint32_t
      min, uint32_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type1
    - ','
    - type2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4004
    functionName: PAIR_CONTAINER_TYPES
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAIR_CONTAINER_TYPES(type1, type2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name1
    - ','
    - name2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4007
      start: 4005
    functionDepth: 0
    functionLinenumber: 4005
    functionLinenumberEnd: 4007
    functionName: CONTAINER_PAIR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONTAINER_PAIR(name1, name2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4016
      start: 4012
    functionDepth: 0
    functionLinenumber: 4012
    functionLinenumberEnd: 4016
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(shared_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4021
      start: 4020
    functionDepth: 0
    functionLinenumber: 4020
    functionLinenumberEnd: 4021
    functionName: CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4022
      start: 4021
    functionDepth: 0
    functionLinenumber: 4021
    functionLinenumberEnd: 4022
    functionName: const_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 4022
    functionDepth: 0
    functionLinenumber: 4022
    functionLinenumberEnd: 4023
    functionName: movable_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_shared(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4049,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4050,1
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - candidate_shared_container
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4049
        line_start: 4049
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4055
      start: 4046
    functionDepth: 0
    functionLinenumber: 4046
    functionLinenumberEnd: 4055
    functionName: roaring::internal::container_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 144
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_unwrap_shared(\n    const container_t *candidate_shared_container,
      uint8_t *type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4061,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4062,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4061
        line_start: 4061
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4067
      start: 4058
    functionDepth: 0
    functionLinenumber: 4058
    functionLinenumberEnd: 4067
    functionName: roaring::internal::container_mutable_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - CAST_shared
    - assert
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_mutable_unwrap_shared(container_t *c,\n                                                           uint8_t
      *type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4070
    functionDepth: 0
    functionLinenumber: 4070
    functionLinenumberEnd: 4076
    functionName: roaring::internal::get_container_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_shared
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_container_type(const container_t *c, uint8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::shared_container_extract_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4089,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4086
    functionDepth: 0
    functionLinenumber: 4086
    functionLinenumberEnd: 4093
    functionName: roaring::internal::get_writable_copy_if_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 40
    functionsReached:
    - CAST_shared
    - roaring::internal::shared_container_extract_copy
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_writable_copy_if_shared(container_t *c,\n                                                       uint8_t
      *type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4112,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4114,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4114,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4117,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4117,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4120,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4119
        line_start: 4119
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4122
        line_start: 4122
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4126
      start: 4107
    functionDepth: 0
    functionLinenumber: 4107
    functionLinenumberEnd: 4126
    functionName: roaring::internal::container_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_from_run
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bitset_container_t
    signature: "bitset_container_t *container_to_bitset(container_t *c,\n                                                      uint8_t
      typecode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4159,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4167,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4172
        line_start: 4172
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4166
        line_start: 4166
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4179
      start: 4149
    functionDepth: 0
    functionLinenumber: 4149
    functionLinenumberEnd: 4179
    functionName: roaring::internal::get_full_container_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: char
    signature: "char *get_full_container_name(const container_t *c,\n                                                  uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4186,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4189,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4189,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4191,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4191,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4193,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4193,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4194
        line_start: 4194
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4198
      start: 4184
    functionDepth: 0
    functionLinenumber: 4184
    functionLinenumberEnd: 4198
    functionName: roaring::internal::container_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int container_get_cardinality(const container_t *c,\n                                            uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4204,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4207,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4210,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4210,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4213,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4213,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4214
        line_start: 4214
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4218
      start: 4203
    functionDepth: 0
    functionLinenumber: 4203
    functionLinenumberEnd: 4218
    functionName: roaring::internal::container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: bool container_is_full(const container_t *c, uint8_t typecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4221,1
    - Dst: roaring::internal::array_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4226,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4226,1
    - Dst: roaring::internal::run_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4228,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4228,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4229
        line_start: 4229
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4233
      start: 4220
    functionDepth: 0
    functionLinenumber: 4220
    functionLinenumberEnd: 4233
    functionName: roaring::internal::container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_shrink_to_fit
    - assert
    - roaring::internal::container_mutable_unwrap_shared
    - CAST_run
    - roaring::internal::run_container_shrink_to_fit
    linkageType: ''
    returnType: int
    signature: int container_shrink_to_fit(container_t *c, uint8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4244,1
    - Dst: roaring::internal::array_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4248,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - range_start
    - range_end
    - result_type
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (range_end >= range_start)
      pos:
        line_end: 4243
        line_start: 4243
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4253
      start: 4241
    functionDepth: 0
    functionLinenumber: 4241
    functionLinenumberEnd: 4253
    functionName: roaring::internal::container_range_of_ones
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - assert
    - roaring::internal::array_container_create_range
    - roaring::internal::run_container_create_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_range_of_ones(uint32_t range_start,\n                                                   uint32_t
      range_end,\n                                                   uint8_t *result_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4261,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4269,1
    - Dst: roaring::internal::array_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4270,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4271,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4275,1
    - Dst: roaring::internal::bitset_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4276,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - type
    - min
    - max
    - step
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts:
    - condition: (array->cardinality == size)
      pos:
        line_end: 4270
        line_start: 4270
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (bitset->cardinality == size)
      pos:
        line_end: 4276
        line_start: 4276
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4280
      start: 4257
    functionDepth: 0
    functionLinenumber: 4257
    functionLinenumberEnd: 4280
    functionName: roaring::internal::container_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_range_of_ones
    - assert
    - roaring::internal::array_container_add_from_range
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_add_from_range
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_range(uint8_t *type, uint32_t min,\n                                                uint32_t
      max, uint16_t step)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4287,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4291,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4292,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4294,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4295,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4304,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4304,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4307,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4306
        line_start: 4306
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4308
        line_start: 4308
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4312
      start: 4285
    functionDepth: 0
    functionLinenumber: 4285
    functionLinenumberEnd: 4312
    functionName: roaring::internal::container_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_repair_after_lazy(container_t *c,\n                                                       uint8_t
      *type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4324,1
    - Dst: roaring::internal::bitset_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4327,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4327,1
    - Dst: roaring::internal::array_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4329,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4329,1
    - Dst: roaring::internal::run_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4331,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4331,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - typecode
    - buf
    argTypes:
    - container_t*
    - uint8_t
    - char*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4332
        line_start: 4332
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4336
      start: 4322
    functionDepth: 0
    functionLinenumber: 4322
    functionLinenumberEnd: 4336
    functionName: roaring::internal::container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_write
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_write
    - roaring::internal::bitset_container_write
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_write(const container_t *c, uint8_t typecode,\n
      \                                     char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4345,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4348,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4348,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4350,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4350,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4352,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4352,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4353
        line_start: 4353
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4357
      start: 4343
    functionDepth: 0
    functionLinenumber: 4343
    functionLinenumberEnd: 4357
    functionName: roaring::internal::container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::run_container_size_in_bytes
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_size_in_bytes
    - roaring::internal::bitset_container_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_size_in_bytes(const container_t *c,\n                                              uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4379,1
    - Dst: roaring::internal::bitset_container_const_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4382,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4383,1
    - Dst: roaring::internal::array_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4385,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4385,1
    - Dst: roaring::internal::run_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4387,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4387,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4388
        line_start: 4388
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4392
      start: 4377
    functionDepth: 0
    functionLinenumber: 4377
    functionLinenumberEnd: 4392
    functionName: roaring::internal::container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_const_nonzero_cardinality
    - roaring::internal::array_container_nonzero_cardinality
    - roaring::internal::run_container_nonzero_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool container_nonzero_cardinality(const container_t *c,\n                                                 uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4407,1
    - Dst: roaring::internal::bitset_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4410,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4411,1
    - Dst: roaring::internal::array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4413,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4413,1
    - Dst: roaring::internal::run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4416,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4416,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - output
    - c
    - typecode
    - base
    argTypes:
    - uint32_t*
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4418
        line_start: 4418
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4422
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4422
    functionName: roaring::internal::container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_to_uint32_array
    - assert
    - roaring::internal::run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int container_to_uint32_array(uint32_t *output,\n                                            const
      container_t *c,\n                                            uint8_t typecode,
      uint32_t base)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4434,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4437,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4437,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4441,1
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4442,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4446,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4447,1
    - Dst: roaring::internal::run_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4454,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4454,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4457
        line_start: 4457
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4462
      start: 4430
    functionDepth: 0
    functionLinenumber: 4430
    functionLinenumberEnd: 4462
    functionName: roaring::internal::container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_add
    - CAST_array
    - roaring::internal::run_container_add
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::array_container_try_add
    - roaring::internal::bitset_container_set
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add(\n    container_t *c, uint16_t val,\n    uint8_t
      typecode,  // !!! should be second argument?\n    uint8_t *new_typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4475,1
    - Dst: roaring::internal::bitset_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4478,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4478,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4479,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4479,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4482,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4482,1
    - Dst: roaring::internal::array_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4489,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4489,1
    - Dst: roaring::internal::run_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4493,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4493,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4496
        line_start: 4496
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4501
      start: 4471
    functionDepth: 0
    functionLinenumber: 4471
    functionLinenumberEnd: 4501
    functionName: roaring::internal::container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_remove
    - roaring::internal::bitset_container_remove
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::array_container_remove
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove(\n    container_t *c, uint16_t val,\n
      \   uint8_t typecode,  // !!! should be second argument?\n    uint8_t *new_typecode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4510,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4513,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4513,1
    - Dst: roaring::internal::array_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4515,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4515,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4517,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4517,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - c
    - val
    - typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4518
        line_start: 4518
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4523
      start: 4506
    functionDepth: 0
    functionLinenumber: 4506
    functionLinenumberEnd: 4523
    functionName: roaring::internal::container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_get
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains
    - roaring::internal::array_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool container_contains(\n    const container_t *c, uint16_t val,\n
      \   uint8_t typecode  // !!! should be second argument?\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4533,1
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4536,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4536,1
    - Dst: roaring::internal::array_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4539,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4539,1
    - Dst: roaring::internal::run_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4542,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4542,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - c
    - range_start
    - range_end
    - typecode
    argTypes:
    - container_t*
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4544
        line_start: 4544
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4549
      start: 4529
    functionDepth: 0
    functionLinenumber: 4529
    functionLinenumberEnd: 4549
    functionName: roaring::internal::container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::bitset_container_get_range
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_contains_range
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool container_contains_range(\n    const container_t *c, uint32_t
      range_start, uint32_t range_end,\n    uint8_t typecode  // !!! should be second
      argument?\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4557,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4558,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4559,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4560,1
    - Dst: roaring::internal::bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4561,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4561,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4562,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4564,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4565,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4565,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4566,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4568,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4569,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4569,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4570,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4572,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4574,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4574,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4575,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4577,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4579,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4579,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4580,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4582,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4583,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4583,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4584,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4586,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4587,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4587,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4588,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4590,1
    - Dst: roaring::internal::array_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4592,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4594,1
    - Dst: roaring::internal::run_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4597
        line_start: 4597
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4602
      start: 4555
    functionDepth: 0
    functionLinenumber: 4555
    functionLinenumberEnd: 4602
    functionName: roaring::internal::container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_equals
    - roaring::internal::run_container_equals
    - roaring::internal::run_container_equals_bitset
    - roaring::internal::run_container_equals_array
    - roaring::internal::array_container_equals
    - CONTAINER_PAIR
    - roaring::internal::array_container_equal_bitset
    linkageType: ''
    returnType: bool
    signature: "bool container_equals(const container_t *c1, uint8_t type1,\n                                    const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4610,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4611,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4612,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4613,1
    - Dst: roaring::internal::bitset_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4614,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4614,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4615,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4617,1
    - Dst: roaring::internal::bitset_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4618,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4618,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4619,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4621,1
    - Dst: roaring::internal::run_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4622,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4622,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4623,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4625,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4628,1
    - Dst: roaring::internal::array_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4629,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4629,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4630,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4632,1
    - Dst: roaring::internal::array_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4633,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4633,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4634,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4636,1
    - Dst: roaring::internal::run_container_is_subset_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4637,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4637,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4638,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4640,1
    - Dst: roaring::internal::array_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4641,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4641,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4642,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4644,1
    - Dst: roaring::internal::run_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4645,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4645,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4646,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4648
        line_start: 4648
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4653
      start: 4608
    functionDepth: 0
    functionLinenumber: 4608
    functionLinenumberEnd: 4653
    functionName: roaring::internal::container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_container_is_subset_bitset
    - const_CAST_array
    - roaring::internal::array_container_is_subset_bitset
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_is_subset_array
    - assert
    - roaring::internal::array_container_is_subset
    - roaring::internal::bitset_container_is_subset_run
    - roaring::internal::array_container_is_subset_run
    - CONTAINER_PAIR
    - roaring::internal::run_container_is_subset
    - roaring::internal::bitset_container_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool container_is_subset(const container_t *c1, uint8_t type1,\n                                       const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4665,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4666,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4668,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4669,1
    - Dst: roaring::internal::bitset_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4671,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4672,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4672,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4677,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4678,1
    - Dst: roaring::internal::array_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4679,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4684,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4685,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4687,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4688,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4688,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4691,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4692,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4693,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4693,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4694,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4695,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4699,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4700,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4702,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4702,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4703,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4704,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4707,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4709,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4710,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4710,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4715,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4717,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4718,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4718,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4723,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4724,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4726,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4730,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4731,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4733,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4737
        line_start: 4737
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4742
      start: 4662
    functionDepth: 0
    functionLinenumber: 4662
    functionLinenumberEnd: 4742
    functionName: roaring::internal::container_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection
    - const_CAST_bitset
    - CAST_array
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_bitset_container_intersection
    - roaring::internal::convert_run_to_efficient_container_and_free
    - assert
    - roaring::internal::array_container_intersection
    - roaring::internal::array_container_create
    - roaring::internal::array_bitset_container_intersection
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_and(const container_t *c1, uint8_t type1,\n
      \                                        const container_t *c2, uint8_t type2,\n
      \                                        uint8_t *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4751,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4752,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4753,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4754,1
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4756,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4758,1
    - Dst: roaring::internal::array_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4759,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4760,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4760,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4762,1
    - Dst: roaring::internal::run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4763,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4763,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4764,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4766,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4767,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4768,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4768,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4770,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4771,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4772,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4772,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4774,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4775,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4776,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4776,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4778,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4779,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4780,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4780,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4782,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4783,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4784,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4784,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4786,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4787,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4788,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4788,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4790
        line_start: 4790
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4795
      start: 4747
    functionDepth: 0
    functionLinenumber: 4747
    functionLinenumberEnd: 4795
    functionName: roaring::internal::container_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection_cardinality
    - const_CAST_bitset
    - roaring::internal::array_container_intersection_cardinality
    - bitset_container_and_justcard
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_bitset_container_intersection_cardinality
    - assert
    - roaring::internal::array_bitset_container_intersection_cardinality
    - roaring::internal::array_run_container_intersection_cardinality
    - CONTAINER_PAIR
    linkageType: ''
    returnType: int
    signature: "int container_and_cardinality(const container_t *c1,\n                                            uint8_t
      type1,\n                                            const container_t *c2,\n
      \                                           uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4802,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4803,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4804,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4805,1
    - Dst: roaring::internal::bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4806,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4806,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4807,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4809,1
    - Dst: roaring::internal::array_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4810,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4810,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4811,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4813,1
    - Dst: roaring::internal::run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4814,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4814,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4815,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4817,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4818,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4818,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4819,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4821,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4822,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4822,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4823,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4825,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4826,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4827,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4829,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4830,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4830,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4831,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4833,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4834,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4834,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4835,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4837,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4838,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4838,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4839,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4841
        line_start: 4841
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4846
      start: 4800
    functionDepth: 0
    functionLinenumber: 4800
    functionLinenumberEnd: 4846
    functionName: roaring::internal::container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersect
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_intersect
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_intersect
    - roaring::internal::run_bitset_container_intersect
    - roaring::internal::array_container_intersect
    - roaring::internal::array_run_container_intersect
    - CONTAINER_PAIR
    linkageType: ''
    returnType: bool
    signature: "bool container_intersect(const container_t *c1, uint8_t type1,\n                                       const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4860,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4861,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4863,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4864,1
    - Dst: roaring::internal::bitset_bitset_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4865,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4866,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4866,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4871,1
    - Dst: roaring::internal::array_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4872,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4872,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4873,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4877,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4878,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4880,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4883,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4883,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4886,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4888,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4889,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4889,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4890,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4891,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4895,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4897,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4898,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4898,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4899,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4902,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4904,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4905,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4905,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4910,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4912,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4913,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4913,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4918,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4919,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4921,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4925,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4926,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4928,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4932
        line_start: 4932
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4937
      start: 4857
    functionDepth: 0
    functionLinenumber: 4857
    functionLinenumberEnd: 4937
    functionName: roaring::internal::container_iand
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_bitset_container_intersection_inplace
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - roaring::internal::array_container_intersection_inplace
    - const_CAST_array
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iand(container_t *c1, uint8_t type1,\n                                          const
      container_t *c2, uint8_t type2,\n                                          uint8_t
      *result_type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4947,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4948,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4950,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4951,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4952,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4954,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4958,1
    - Dst: roaring::internal::array_array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4960,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4960,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4961,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4966,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4967,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4969,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4972,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4973,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4976,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4977,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4978,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4978,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4979,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4980,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4984,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4985,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4986,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4986,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4987,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4988,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4992,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4993,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4993,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4994,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4999,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5000,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5005,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5006,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5006,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5007,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5012,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5013,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5018,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5019,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5021,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5022,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5023,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5026,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5027,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5029,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5030,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5031,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5034
        line_start: 5034
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5039
      start: 4944
    functionDepth: 0
    functionLinenumber: 4944
    functionLinenumberEnd: 5039
    functionName: roaring::internal::container_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::array_array_container_union
    - const_CAST_run
    - CAST_bitset
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_or(const container_t *c1, uint8_t type1,\n
      \                                       const container_t *c2, uint8_t type2,\n
      \                                       uint8_t *result_type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5054,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5055,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5057,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5058,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5059,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5060,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5060,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5061,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5062,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5066,1
    - Dst: roaring::internal::array_array_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5068,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5068,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5069,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5074,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5075,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5077,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5080,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5081,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5084,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5085,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5086,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5086,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5087,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5088,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5092,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5093,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5094,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5094,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5095,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5096,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5100,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5101,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5101,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5102,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5107,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5108,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5108,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5109,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5110,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5114,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5115,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5115,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5116,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5121,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5122,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5122,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5123,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5124,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5128,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5129,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5131,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5137,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5138,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5140,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5146
        line_start: 5146
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5151
      start: 5049
    functionDepth: 0
    functionLinenumber: 5049
    functionLinenumberEnd: 5151
    functionName: roaring::internal::container_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_bitset_container_lazy_union
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_or(const container_t *c1,\n                                             uint8_t
      type1,\n                                             const container_t *c2,\n
      \                                            uint8_t type2,\n                                             uint8_t
      *result_type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5165,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5166,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5168,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5169,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5171,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5173,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5174,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5182,1
    - Dst: roaring::internal::array_array_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5183,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5184,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5184,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5192,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5194,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5194,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5197,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5198,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5203,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5205,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5207,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5208,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5212,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5213,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5213,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5214,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5219,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5219,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5220,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5221,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5225,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5226,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5226,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5230,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5231,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5236,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5237,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5239,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5240,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5241,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5244,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5245,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5245,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5246,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5247,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5247,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 64
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5250
        line_start: 5250
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5255
      start: 5162
    functionDepth: 0
    functionLinenumber: 5162
    functionLinenumberEnd: 5255
    functionName: roaring::internal::container_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_container_is_full
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::array_array_container_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ior(container_t *c1, uint8_t type1,\n                                         const
      container_t *c2, uint8_t type2,\n                                         uint8_t
      *result_type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5273,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5275,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5277,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5278,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5282,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5284,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5285,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5290,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5290,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5291,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5291,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5297,1
    - Dst: roaring::internal::array_array_container_lazy_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5298,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5299,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5299,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5307,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5310,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5310,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5313,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5314,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5314,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5315,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5316,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5320,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5322,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5324,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5324,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5325,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5326,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5329,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5330,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5330,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5331,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5336,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5337,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5337,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5338,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5342,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5343,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5343,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5347,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5348,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5348,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5349,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5350,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5354,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5355,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5357,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5364,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5365,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5365,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5366,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5272
        line_start: 5272
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5373
        line_start: 5373
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5378
      start: 5269
    functionDepth: 0
    functionLinenumber: 5269
    functionLinenumberEnd: 5378
    functionName: roaring::internal::container_lazy_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - roaring::internal::run_bitset_container_lazy_union
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ior(container_t *c1, uint8_t type1,\n
      \                                             const container_t *c2,\n                                              uint8_t
      type2,\n                                              uint8_t *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5388,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5389,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5391,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5392,1
    - Dst: roaring::internal::bitset_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5394,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5394,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5395,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5400,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5402,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5402,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5403,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5408,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5409,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5410,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5410,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5413,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5415,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5415,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5416,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5421,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5423,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5423,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5424,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5429,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5431,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5431,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5432,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5437,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5439,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5439,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5440,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5445,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5446,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5447,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5447,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5450,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5451,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5452,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5452,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5455
        line_start: 5455
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5460
      start: 5385
    functionDepth: 0
    functionLinenumber: 5385
    functionLinenumberEnd: 5460
    functionName: roaring::internal::container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_xor
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_bitset_container_xor
    - const_CAST_run
    - assert
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::array_array_container_xor
    - roaring::internal::array_bitset_container_xor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_xor(const container_t *c1, uint8_t type1,\n
      \                                        const container_t *c2, uint8_t type2,\n
      \                                        uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5475,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5476,1
    - Dst: roaring::internal::container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5476,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5477,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5478,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5479,1
    - Dst: roaring::internal::bitset_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5483,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5483,1
    - Dst: roaring::internal::array_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5486,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5486,1
    - Dst: roaring::internal::run_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5489,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5489,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - c
    - type
    - lo
    - hi
    - offset
    argTypes:
    - container_t*
    - uint8_t
    - container_t**
    - container_t**
    - uint16_t
    assertStmts:
    - condition: (offset != 0)
      pos:
        line_end: 5474
        line_start: 5474
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (lo != NULL || hi != NULL)
      pos:
        line_end: 5476
        line_start: 5476
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (container_nonzero_cardinality(c, type))
      pos:
        line_end: 5475
        line_start: 5475
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (lo == NULL || *lo == NULL)
      pos:
        line_end: 5477
        line_start: 5477
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (hi == NULL || *hi == NULL)
      pos:
        line_end: 5478
        line_start: 5478
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5491
        line_start: 5491
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5496
      start: 5472
    functionDepth: 0
    functionLinenumber: 5472
    functionLinenumberEnd: 5496
    functionName: roaring::internal::container_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_offset
    - const_CAST_bitset
    - roaring::internal::array_container_offset
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_offset
    - roaring::internal::container_nonzero_cardinality
    linkageType: ''
    returnType: void
    signature: "void container_add_offset(const container_t *c, uint8_t type,\n                                        container_t
      **lo, container_t **hi,\n                                        uint16_t offset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5511,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5512,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5514,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5515,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5516,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5517,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5517,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5518,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5519,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5523,1
    - Dst: roaring::internal::array_array_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5525,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5525,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5526,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5531,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5533,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5534,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5534,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5537,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5538,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5540,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5540,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5541,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5542,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5545,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5546,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5548,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5548,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5549,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5550,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5553,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5554,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5555,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5560,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5561,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5562,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5567,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5568,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5569,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5569,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5570,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5570,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5576,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5577,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5578,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5578,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5579,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5579,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5585
        line_start: 5585
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5590
      start: 5506
    functionDepth: 0
    functionLinenumber: 5506
    functionLinenumberEnd: 5590
    functionName: roaring::internal::container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - bitset_container_xor_nocard
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_lazy_xor
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::run_bitset_container_lazy_xor
    - roaring::internal::run_container_create
    - roaring::internal::array_bitset_container_lazy_xor
    - CAST_run
    - CONTAINER_PAIR
    - roaring::internal::bitset_container_create
    - roaring::internal::array_array_container_lazy_xor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_xor(const container_t *c1,\n                                              uint8_t
      type1,\n                                              const container_t *c2,\n
      \                                             uint8_t type2,\n                                              uint8_t
      *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5604,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5605,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5607,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5608,1
    - Dst: roaring::internal::bitset_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5609,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5610,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5610,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5615,1
    - Dst: roaring::internal::array_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5616,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5617,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5617,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5622,1
    - Dst: roaring::internal::run_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5623,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5624,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5624,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5627,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5628,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5629,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5629,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5634,1
    - Dst: roaring::internal::array_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5635,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5636,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5636,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5641,1
    - Dst: roaring::internal::bitset_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5642,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5643,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5643,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5649,1
    - Dst: roaring::internal::run_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5650,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5651,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5651,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5656,1
    - Dst: roaring::internal::array_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5657,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5658,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5658,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5661,1
    - Dst: roaring::internal::run_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5662,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5663,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5663,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5666
        line_start: 5666
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5671
      start: 5601
    functionDepth: 0
    functionLinenumber: 5601
    functionLinenumberEnd: 5671
    functionName: roaring::internal::container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_run_container_ixor
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_array_container_ixor
    - roaring::internal::array_bitset_container_ixor
    - const_CAST_array
    - roaring::internal::run_run_container_ixor
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::array_array_container_ixor
    - CAST_array
    - assert
    - roaring::internal::array_run_container_ixor
    - roaring::internal::run_bitset_container_ixor
    - roaring::internal::bitset_bitset_container_ixor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ixor(container_t *c1, uint8_t type1,\n                                          const
      container_t *c2, uint8_t type2,\n                                          uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5689,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5691,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5692,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5693,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5695,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5705,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5707,1
    - Dst: roaring::internal::container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5688
        line_start: 5688
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5712
      start: 5685
    functionDepth: 0
    functionLinenumber: 5685
    functionLinenumberEnd: 5712
    functionName: roaring::internal::container_lazy_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - bitset_container_xor_nocard
    - roaring::internal::bitset_container_compute_cardinality
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - assert
    - CAST_bitset
    - roaring::internal::container_ixor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ixor(container_t *c1, uint8_t type1,\n
      \                                              const container_t *c2,\n                                               uint8_t
      type2,\n                                               uint8_t *result_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5724,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5725,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5727,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5728,1
    - Dst: roaring::internal::bitset_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5730,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5730,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5731,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5736,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5737,1
    - Dst: roaring::internal::array_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5738,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5743,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5744,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5744,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5745,1
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5749,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5750,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5750,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5753,1
    - Dst: roaring::internal::bitset_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5755,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5756,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5761,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5762,1
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5763,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5763,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5764,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5765,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5769,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5770,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5770,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5771,1
    - Dst: roaring::internal::bitset_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5776,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5776,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5777,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5782,1
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5784,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5784,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5785,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5790,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5791,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5791,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5792,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5796,1
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5798,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5802,1
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5803,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5804,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5804,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5807
        line_start: 5807
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5812
      start: 5719
    functionDepth: 0
    functionLinenumber: 5719
    functionLinenumberEnd: 5812
    functionName: roaring::internal::container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_array_container_andnot
    - const_CAST_run
    - roaring::internal::run_run_container_andnot
    - roaring::internal::array_run_container_andnot
    - CONTAINER_PAIR
    - roaring::internal::bitset_array_container_andnot
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - const_CAST_array
    - roaring::internal::bitset_bitset_container_andnot
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_andnot
    - roaring::internal::array_array_container_andnot
    - roaring::internal::run_bitset_container_andnot
    - CAST_array
    - assert
    - roaring::internal::array_bitset_container_andnot
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_andnot(const container_t *c1,\n                                            uint8_t
      type1,\n                                            const container_t *c2,\n
      \                                           uint8_t type2,\n                                            uint8_t
      *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5828,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5829,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5831,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5832,1
    - Dst: roaring::internal::bitset_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5833,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5834,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5834,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5839,1
    - Dst: roaring::internal::array_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5844,1
    - Dst: roaring::internal::run_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5845,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5846,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5846,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5849,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5850,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5851,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5851,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5856,1
    - Dst: roaring::internal::array_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5858,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5858,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5859,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5862,1
    - Dst: roaring::internal::bitset_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5863,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5864,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5864,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5869,1
    - Dst: roaring::internal::run_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5870,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5871,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5871,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5876,1
    - Dst: roaring::internal::array_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5881,1
    - Dst: roaring::internal::run_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5882,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5883,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5883,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5886
        line_start: 5886
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5891
      start: 5824
    functionDepth: 0
    functionLinenumber: 5824
    functionLinenumberEnd: 5891
    functionName: roaring::internal::container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_array_container_iandnot
    - roaring::internal::bitset_array_container_iandnot
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_iandnot
    - const_CAST_array
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_iandnot
    - CAST_array
    - assert
    - roaring::internal::array_array_container_iandnot
    - roaring::internal::array_run_container_iandnot
    - roaring::internal::bitset_bitset_container_iandnot
    - roaring::internal::run_run_container_iandnot
    - roaring::internal::run_bitset_container_iandnot
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iandnot(container_t *c1, uint8_t type1,\n                                             const
      container_t *c2,\n                                             uint8_t type2,\n
      \                                            uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5901,1
    - Dst: roaring::internal::bitset_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5904,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5904,1
    - Dst: roaring::internal::array_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5907,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5907,1
    - Dst: roaring::internal::run_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5910,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5910,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5913,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - base
    - iterator
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5912
        line_start: 5912
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5915
        line_start: 5915
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5919
      start: 5898
    functionDepth: 0
    functionLinenumber: 5898
    functionLinenumberEnd: 5919
    functionName: roaring::internal::container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_iterate
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_iterate
    - assert
    - roaring::internal::run_container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate(const container_t *c, uint8_t type,\n                                     uint32_t
      base, roaring_iterator iterator,\n                                     void
      *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5925,1
    - Dst: roaring::internal::bitset_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5928,1
    - Dst: roaring::internal::array_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5931,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5931,1
    - Dst: roaring::internal::run_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5934,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5934,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5937,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5936
        line_start: 5936
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5939
        line_start: 5939
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5943
      start: 5921
    functionDepth: 0
    functionLinenumber: 5921
    functionLinenumberEnd: 5943
    functionName: roaring::internal::container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_iterate64
    - const_CAST_run
    - assert
    - roaring::internal::run_container_iterate64
    - roaring::internal::bitset_container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate64(const container_t *c, uint8_t type,\n                                       uint32_t
      base,\n                                       roaring_iterator64 iterator,\n
      \                                      uint64_t high_bits, void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5947,1
    - Dst: roaring::internal::bitset_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5952,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5952,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5957,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: roaring::internal::run_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5963,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5963,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5967,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5966
        line_start: 5966
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5969
        line_start: 5969
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5973
      start: 5945
    functionDepth: 0
    functionLinenumber: 5945
    functionLinenumberEnd: 5973
    functionName: roaring::internal::container_not
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_negation
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not(const container_t *c, uint8_t type,\n                                         uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5980,1
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5985,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5985,1
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5992,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5992,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5998,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5999,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6003,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6002
        line_start: 6002
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6005
        line_start: 6005
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6009
      start: 5975
    functionDepth: 0
    functionLinenumber: 5975
    functionLinenumberEnd: 6009
    functionName: roaring::internal::container_not_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_negation_range
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_negation_range
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not_range(const container_t *c,\n                                               uint8_t
      type,\n                                               uint32_t range_start,\n
      \                                              uint32_t range_end,\n                                               uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6013,1
    - Dst: roaring::internal::bitset_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6018,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6018,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6024,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6027,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6027,1
    - Dst: roaring::internal::run_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6031,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6031,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6035,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6034
        line_start: 6034
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6037
        line_start: 6037
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6041
      start: 6011
    functionDepth: 0
    functionLinenumber: 6011
    functionLinenumberEnd: 6041
    functionName: roaring::internal::container_inot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::run_container_negation_inplace
    - roaring::internal::array_container_free
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation_inplace
    - CAST_run
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot(container_t *c, uint8_t type,\n                                          uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6047,1
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6051,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6052,1
    - Dst: roaring::internal::array_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6057,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6058,1
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6063,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6064,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6068,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6067
        line_start: 6067
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6070
        line_start: 6070
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6074
      start: 6043
    functionDepth: 0
    functionLinenumber: 6043
    functionLinenumberEnd: 6074
    functionName: roaring::internal::container_inot_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    - CAST_array
    - roaring::internal::bitset_container_negation_range_inplace
    - roaring::internal::get_writable_copy_if_shared
    - roaring::internal::array_container_negation_range_inplace
    - CAST_bitset
    - assert
    - CAST_run
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot_range(container_t *c, uint8_t type,\n
      \                                               uint32_t range_start,\n                                                uint32_t
      range_end,\n                                                uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6087,1
    - Dst: roaring::internal::bitset_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6090,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6090,1
    - Dst: roaring::internal::array_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6093,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6093,1
    - Dst: roaring::internal::run_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6096,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6096,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6099,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - start_rank
    - rank
    - element
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6098
        line_start: 6098
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6101
        line_start: 6101
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6105
      start: 6084
    functionDepth: 0
    functionLinenumber: 6084
    functionLinenumberEnd: 6105
    functionName: roaring::internal::container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_select
    - assert
    - roaring::internal::run_container_select
    - roaring::internal::array_container_select
    linkageType: ''
    returnType: bool
    signature: "bool container_select(const container_t *c, uint8_t type,\n                                    uint32_t
      *start_rank, uint32_t rank,\n                                    uint32_t *element)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6108,1
    - Dst: roaring::internal::bitset_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6111,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6111,1
    - Dst: roaring::internal::array_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6113,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6113,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6115,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6115,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6117,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6116
        line_start: 6116
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6119
        line_start: 6119
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6123
      start: 6107
    functionDepth: 0
    functionLinenumber: 6107
    functionLinenumberEnd: 6123
    functionName: roaring::internal::container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_maximum
    - roaring::internal::run_container_maximum
    - roaring::internal::array_container_maximum
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t container_maximum(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6126,1
    - Dst: roaring::internal::bitset_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6129,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6129,1
    - Dst: roaring::internal::array_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6131,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6131,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6133,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6133,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6135,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6134
        line_start: 6134
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6137
        line_start: 6137
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6141
      start: 6125
    functionDepth: 0
    functionLinenumber: 6125
    functionLinenumberEnd: 6141
    functionName: roaring::internal::container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::array_container_minimum
    - assert
    - roaring::internal::run_container_minimum
    - roaring::internal::bitset_container_minimum
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t container_minimum(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6146,1
    - Dst: roaring::internal::bitset_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6149,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6149,1
    - Dst: roaring::internal::array_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6151,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6151,1
    - Dst: roaring::internal::run_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6153,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6153,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6155,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6154
        line_start: 6154
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6157
        line_start: 6157
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6161
      start: 6144
    functionDepth: 0
    functionLinenumber: 6144
    functionLinenumberEnd: 6161
    functionName: roaring::internal::container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_rank
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_rank
    - roaring::internal::array_container_rank
    linkageType: ''
    returnType: int
    signature: "int container_rank(const container_t *c, uint8_t type,\n                                 uint16_t
      x)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6168,1
    - Dst: roaring::internal::bitset_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6171,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6171,1
    - Dst: roaring::internal::array_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6174,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6174,1
    - Dst: roaring::internal::run_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6177,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6177,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6180,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - container_t*
    - uint8_t
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6179
        line_start: 6179
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6182
        line_start: 6182
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6186
      start: 6164
    functionDepth: 1
    functionLinenumber: 6164
    functionLinenumberEnd: 6186
    functionName: roaring::internal::container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_rank_many
    - assert
    - roaring::internal::bitset_container_rank_many
    - roaring::internal::array_container_rank_many
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t container_rank_many(const container_t *c, uint8_t type,\n
      \                                          uint64_t start_rank,\n                                           const
      uint32_t *begin,\n                                           const uint32_t
      *end, uint64_t *ans)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6191,1
    - Dst: roaring::internal::bitset_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6194,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6194,1
    - Dst: roaring::internal::array_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6196,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6196,1
    - Dst: roaring::internal::run_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6198,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6198,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6200,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6199
        line_start: 6199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6202
        line_start: 6202
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6206
      start: 6189
    functionDepth: 1
    functionLinenumber: 6189
    functionLinenumberEnd: 6206
    functionName: roaring::internal::container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_get_index
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_get_index
    - const_CAST_run
    - assert
    - roaring::internal::run_container_get_index
    linkageType: ''
    returnType: int
    signature: "int container_get_index(const container_t *c, uint8_t type,\n                                      uint16_t
      x)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6222,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6228,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6230,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6232,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6232,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6235,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6241,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6244,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6246,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6251,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6253,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6253,1
    - Dst: roaring::internal::array_container_add_range_nvals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6256,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6261,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6262,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6268,1
    - Dst: roaring::internal::rle16_count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6271,1
    - Dst: roaring::internal::rle16_count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6272,1
    - Dst: roaring::internal::run_container_add_range_nruns
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6281,1
    - Dst: roaring::internal::container_from_run_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6292
      start: 6216
    functionDepth: 0
    functionLinenumber: 6216
    functionLinenumberEnd: 6292
    functionName: roaring::internal::container_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - CAST_run
    - CAST_array
    - roaring::internal::run_container_add_range_nruns
    - roaring::internal::run_container_create_range
    - CAST_bitset
    - roaring::internal::rle16_count_less
    - roaring::internal::count_greater
    - roaring::internal::array_container_add_range_nvals
    - roaring::internal::count_less
    - INT32_C
    - roaring::internal::rle16_count_greater
    - roaring::internal::container_from_run_range
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add_range(container_t *c, uint8_t type,\n                                               uint32_t
      min, uint32_t max,\n                                               uint8_t *result_type)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6310,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6314,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6320,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6322,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6325,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6331,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6334,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6336,1
    - Dst: roaring::internal::array_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6344,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6350,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6355,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6356,1
    - Dst: roaring::internal::run_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6360,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6366
      start: 6305
    functionDepth: 0
    functionLinenumber: 6305
    functionLinenumberEnd: 6366
    functionName: roaring::internal::container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_remove_range
    - CAST_run
    - CAST_array
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::count_greater
    - roaring::internal::array_container_remove_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::count_less
    - roaring::internal::run_container_minimum
    - roaring::internal::run_container_maximum
    - roaring::internal::bitset_lenrange_cardinality
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove_range(container_t *c, uint8_t type,\n
      \                                                 uint32_t min, uint32_t max,\n
      \                                                 uint8_t *result_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type1
    - ','
    - type2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4004
    functionName: PAIR_CONTAINER_TYPES
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAIR_CONTAINER_TYPES(type1, type2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name1
    - ','
    - name2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4007
      start: 4005
    functionDepth: 0
    functionLinenumber: 4005
    functionLinenumberEnd: 4007
    functionName: CONTAINER_PAIR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONTAINER_PAIR(name1, name2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4016
      start: 4012
    functionDepth: 0
    functionLinenumber: 4012
    functionLinenumberEnd: 4016
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(shared_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4021
      start: 4020
    functionDepth: 0
    functionLinenumber: 4020
    functionLinenumberEnd: 4021
    functionName: CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4022
      start: 4021
    functionDepth: 0
    functionLinenumber: 4021
    functionLinenumberEnd: 4022
    functionName: const_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 4022
    functionDepth: 0
    functionLinenumber: 4022
    functionLinenumberEnd: 4023
    functionName: movable_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_shared(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4049,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4050,1
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - candidate_shared_container
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4049
        line_start: 4049
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4055
      start: 4046
    functionDepth: 0
    functionLinenumber: 4046
    functionLinenumberEnd: 4055
    functionName: roaring::internal::container_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 178
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_unwrap_shared(\n    const container_t *candidate_shared_container,
      uint8_t *type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4061,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4062,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4061
        line_start: 4061
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4067
      start: 4058
    functionDepth: 0
    functionLinenumber: 4058
    functionLinenumberEnd: 4067
    functionName: roaring::internal::container_mutable_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - CAST_shared
    - assert
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_mutable_unwrap_shared(container_t *c,\n                                                           uint8_t
      *type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4070
    functionDepth: 0
    functionLinenumber: 4070
    functionLinenumberEnd: 4076
    functionName: roaring::internal::get_container_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_shared
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_container_type(const container_t *c, uint8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::shared_container_extract_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4089,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4086
    functionDepth: 0
    functionLinenumber: 4086
    functionLinenumberEnd: 4093
    functionName: roaring::internal::get_writable_copy_if_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 49
    functionsReached:
    - CAST_shared
    - roaring::internal::shared_container_extract_copy
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_writable_copy_if_shared(container_t *c,\n                                                       uint8_t
      *type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4112,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4114,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4114,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4117,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4117,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4120,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4119
        line_start: 4119
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4122
        line_start: 4122
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4126
      start: 4107
    functionDepth: 0
    functionLinenumber: 4107
    functionLinenumberEnd: 4126
    functionName: roaring::internal::container_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_from_run
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bitset_container_t
    signature: "bitset_container_t *container_to_bitset(container_t *c,\n                                                      uint8_t
      typecode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4159,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4167,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4172
        line_start: 4172
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4166
        line_start: 4166
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4179
      start: 4149
    functionDepth: 0
    functionLinenumber: 4149
    functionLinenumberEnd: 4179
    functionName: roaring::internal::get_full_container_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: char
    signature: "char *get_full_container_name(const container_t *c,\n                                                  uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4186,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4189,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4189,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4191,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4191,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4193,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4193,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4194
        line_start: 4194
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4198
      start: 4184
    functionDepth: 0
    functionLinenumber: 4184
    functionLinenumberEnd: 4198
    functionName: roaring::internal::container_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int container_get_cardinality(const container_t *c,\n                                            uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4204,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4207,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4210,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4210,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4213,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4213,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4214
        line_start: 4214
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4218
      start: 4203
    functionDepth: 0
    functionLinenumber: 4203
    functionLinenumberEnd: 4218
    functionName: roaring::internal::container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: bool container_is_full(const container_t *c, uint8_t typecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4221,1
    - Dst: roaring::internal::array_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4226,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4226,1
    - Dst: roaring::internal::run_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4228,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4228,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4229
        line_start: 4229
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4233
      start: 4220
    functionDepth: 0
    functionLinenumber: 4220
    functionLinenumberEnd: 4233
    functionName: roaring::internal::container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_shrink_to_fit
    - assert
    - roaring::internal::container_mutable_unwrap_shared
    - CAST_run
    - roaring::internal::run_container_shrink_to_fit
    linkageType: ''
    returnType: int
    signature: int container_shrink_to_fit(container_t *c, uint8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4244,1
    - Dst: roaring::internal::array_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4248,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - range_start
    - range_end
    - result_type
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (range_end >= range_start)
      pos:
        line_end: 4243
        line_start: 4243
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4253
      start: 4241
    functionDepth: 0
    functionLinenumber: 4241
    functionLinenumberEnd: 4253
    functionName: roaring::internal::container_range_of_ones
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - assert
    - roaring::internal::array_container_create_range
    - roaring::internal::run_container_create_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_range_of_ones(uint32_t range_start,\n                                                   uint32_t
      range_end,\n                                                   uint8_t *result_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4261,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4269,1
    - Dst: roaring::internal::array_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4270,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4271,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4275,1
    - Dst: roaring::internal::bitset_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4276,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - type
    - min
    - max
    - step
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts:
    - condition: (array->cardinality == size)
      pos:
        line_end: 4270
        line_start: 4270
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (bitset->cardinality == size)
      pos:
        line_end: 4276
        line_start: 4276
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4280
      start: 4257
    functionDepth: 0
    functionLinenumber: 4257
    functionLinenumberEnd: 4280
    functionName: roaring::internal::container_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_range_of_ones
    - assert
    - roaring::internal::array_container_add_from_range
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_add_from_range
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_range(uint8_t *type, uint32_t min,\n                                                uint32_t
      max, uint16_t step)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4287,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4291,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4292,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4294,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4295,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4304,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4304,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4307,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4306
        line_start: 4306
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4308
        line_start: 4308
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4312
      start: 4285
    functionDepth: 0
    functionLinenumber: 4285
    functionLinenumberEnd: 4312
    functionName: roaring::internal::container_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_repair_after_lazy(container_t *c,\n                                                       uint8_t
      *type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4324,1
    - Dst: roaring::internal::bitset_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4327,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4327,1
    - Dst: roaring::internal::array_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4329,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4329,1
    - Dst: roaring::internal::run_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4331,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4331,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - typecode
    - buf
    argTypes:
    - container_t*
    - uint8_t
    - char*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4332
        line_start: 4332
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4336
      start: 4322
    functionDepth: 0
    functionLinenumber: 4322
    functionLinenumberEnd: 4336
    functionName: roaring::internal::container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_write
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_write
    - roaring::internal::bitset_container_write
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_write(const container_t *c, uint8_t typecode,\n
      \                                     char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4345,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4348,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4348,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4350,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4350,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4352,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4352,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4353
        line_start: 4353
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4357
      start: 4343
    functionDepth: 0
    functionLinenumber: 4343
    functionLinenumberEnd: 4357
    functionName: roaring::internal::container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::run_container_size_in_bytes
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_size_in_bytes
    - roaring::internal::bitset_container_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_size_in_bytes(const container_t *c,\n                                              uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4379,1
    - Dst: roaring::internal::bitset_container_const_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4382,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4383,1
    - Dst: roaring::internal::array_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4385,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4385,1
    - Dst: roaring::internal::run_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4387,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4387,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4388
        line_start: 4388
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4392
      start: 4377
    functionDepth: 0
    functionLinenumber: 4377
    functionLinenumberEnd: 4392
    functionName: roaring::internal::container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_const_nonzero_cardinality
    - roaring::internal::array_container_nonzero_cardinality
    - roaring::internal::run_container_nonzero_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool container_nonzero_cardinality(const container_t *c,\n                                                 uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4407,1
    - Dst: roaring::internal::bitset_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4410,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4411,1
    - Dst: roaring::internal::array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4413,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4413,1
    - Dst: roaring::internal::run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4416,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4416,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - output
    - c
    - typecode
    - base
    argTypes:
    - uint32_t*
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4418
        line_start: 4418
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4422
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4422
    functionName: roaring::internal::container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_to_uint32_array
    - assert
    - roaring::internal::run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int container_to_uint32_array(uint32_t *output,\n                                            const
      container_t *c,\n                                            uint8_t typecode,
      uint32_t base)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4434,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4437,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4437,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4441,1
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4442,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4446,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4447,1
    - Dst: roaring::internal::run_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4454,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4454,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4457
        line_start: 4457
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4462
      start: 4430
    functionDepth: 0
    functionLinenumber: 4430
    functionLinenumberEnd: 4462
    functionName: roaring::internal::container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_add
    - CAST_array
    - roaring::internal::run_container_add
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::array_container_try_add
    - roaring::internal::bitset_container_set
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add(\n    container_t *c, uint16_t val,\n    uint8_t
      typecode,  // !!! should be second argument?\n    uint8_t *new_typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4475,1
    - Dst: roaring::internal::bitset_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4478,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4478,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4479,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4479,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4482,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4482,1
    - Dst: roaring::internal::array_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4489,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4489,1
    - Dst: roaring::internal::run_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4493,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4493,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4496
        line_start: 4496
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4501
      start: 4471
    functionDepth: 0
    functionLinenumber: 4471
    functionLinenumberEnd: 4501
    functionName: roaring::internal::container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_remove
    - roaring::internal::bitset_container_remove
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::array_container_remove
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove(\n    container_t *c, uint16_t val,\n
      \   uint8_t typecode,  // !!! should be second argument?\n    uint8_t *new_typecode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4510,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4513,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4513,1
    - Dst: roaring::internal::array_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4515,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4515,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4517,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4517,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - c
    - val
    - typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4518
        line_start: 4518
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4523
      start: 4506
    functionDepth: 0
    functionLinenumber: 4506
    functionLinenumberEnd: 4523
    functionName: roaring::internal::container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_get
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains
    - roaring::internal::array_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool container_contains(\n    const container_t *c, uint16_t val,\n
      \   uint8_t typecode  // !!! should be second argument?\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4533,1
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4536,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4536,1
    - Dst: roaring::internal::array_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4539,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4539,1
    - Dst: roaring::internal::run_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4542,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4542,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - c
    - range_start
    - range_end
    - typecode
    argTypes:
    - container_t*
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4544
        line_start: 4544
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4549
      start: 4529
    functionDepth: 0
    functionLinenumber: 4529
    functionLinenumberEnd: 4549
    functionName: roaring::internal::container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::bitset_container_get_range
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_contains_range
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool container_contains_range(\n    const container_t *c, uint32_t
      range_start, uint32_t range_end,\n    uint8_t typecode  // !!! should be second
      argument?\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4557,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4558,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4559,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4560,1
    - Dst: roaring::internal::bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4561,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4561,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4562,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4564,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4565,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4565,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4566,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4568,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4569,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4569,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4570,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4572,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4574,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4574,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4575,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4577,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4579,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4579,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4580,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4582,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4583,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4583,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4584,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4586,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4587,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4587,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4588,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4590,1
    - Dst: roaring::internal::array_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4592,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4594,1
    - Dst: roaring::internal::run_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4597
        line_start: 4597
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4602
      start: 4555
    functionDepth: 0
    functionLinenumber: 4555
    functionLinenumberEnd: 4602
    functionName: roaring::internal::container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_equals
    - roaring::internal::run_container_equals
    - roaring::internal::run_container_equals_bitset
    - roaring::internal::run_container_equals_array
    - roaring::internal::array_container_equals
    - CONTAINER_PAIR
    - roaring::internal::array_container_equal_bitset
    linkageType: ''
    returnType: bool
    signature: "bool container_equals(const container_t *c1, uint8_t type1,\n                                    const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4610,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4611,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4612,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4613,1
    - Dst: roaring::internal::bitset_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4614,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4614,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4615,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4617,1
    - Dst: roaring::internal::bitset_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4618,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4618,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4619,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4621,1
    - Dst: roaring::internal::run_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4622,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4622,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4623,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4625,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4628,1
    - Dst: roaring::internal::array_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4629,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4629,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4630,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4632,1
    - Dst: roaring::internal::array_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4633,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4633,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4634,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4636,1
    - Dst: roaring::internal::run_container_is_subset_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4637,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4637,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4638,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4640,1
    - Dst: roaring::internal::array_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4641,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4641,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4642,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4644,1
    - Dst: roaring::internal::run_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4645,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4645,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4646,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4648
        line_start: 4648
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4653
      start: 4608
    functionDepth: 0
    functionLinenumber: 4608
    functionLinenumberEnd: 4653
    functionName: roaring::internal::container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_container_is_subset_bitset
    - const_CAST_array
    - roaring::internal::array_container_is_subset_bitset
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_is_subset_array
    - assert
    - roaring::internal::array_container_is_subset
    - roaring::internal::bitset_container_is_subset_run
    - roaring::internal::array_container_is_subset_run
    - CONTAINER_PAIR
    - roaring::internal::run_container_is_subset
    - roaring::internal::bitset_container_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool container_is_subset(const container_t *c1, uint8_t type1,\n                                       const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4665,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4666,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4668,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4669,1
    - Dst: roaring::internal::bitset_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4671,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4672,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4672,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4677,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4678,1
    - Dst: roaring::internal::array_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4679,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4684,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4685,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4687,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4688,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4688,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4691,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4692,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4693,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4693,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4694,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4695,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4699,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4700,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4702,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4702,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4703,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4704,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4707,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4709,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4710,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4710,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4715,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4717,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4718,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4718,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4723,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4724,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4726,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4730,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4731,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4733,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4737
        line_start: 4737
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4742
      start: 4662
    functionDepth: 0
    functionLinenumber: 4662
    functionLinenumberEnd: 4742
    functionName: roaring::internal::container_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection
    - const_CAST_bitset
    - CAST_array
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_bitset_container_intersection
    - roaring::internal::convert_run_to_efficient_container_and_free
    - assert
    - roaring::internal::array_container_intersection
    - roaring::internal::array_container_create
    - roaring::internal::array_bitset_container_intersection
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_and(const container_t *c1, uint8_t type1,\n
      \                                        const container_t *c2, uint8_t type2,\n
      \                                        uint8_t *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4751,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4752,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4753,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4754,1
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4756,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4758,1
    - Dst: roaring::internal::array_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4759,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4760,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4760,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4762,1
    - Dst: roaring::internal::run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4763,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4763,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4764,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4766,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4767,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4768,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4768,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4770,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4771,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4772,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4772,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4774,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4775,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4776,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4776,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4778,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4779,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4780,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4780,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4782,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4783,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4784,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4784,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4786,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4787,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4788,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4788,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4790
        line_start: 4790
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4795
      start: 4747
    functionDepth: 0
    functionLinenumber: 4747
    functionLinenumberEnd: 4795
    functionName: roaring::internal::container_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection_cardinality
    - const_CAST_bitset
    - roaring::internal::array_container_intersection_cardinality
    - bitset_container_and_justcard
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_bitset_container_intersection_cardinality
    - assert
    - roaring::internal::array_bitset_container_intersection_cardinality
    - roaring::internal::array_run_container_intersection_cardinality
    - CONTAINER_PAIR
    linkageType: ''
    returnType: int
    signature: "int container_and_cardinality(const container_t *c1,\n                                            uint8_t
      type1,\n                                            const container_t *c2,\n
      \                                           uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4802,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4803,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4804,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4805,1
    - Dst: roaring::internal::bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4806,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4806,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4807,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4809,1
    - Dst: roaring::internal::array_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4810,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4810,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4811,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4813,1
    - Dst: roaring::internal::run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4814,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4814,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4815,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4817,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4818,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4818,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4819,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4821,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4822,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4822,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4823,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4825,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4826,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4827,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4829,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4830,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4830,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4831,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4833,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4834,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4834,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4835,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4837,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4838,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4838,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4839,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4841
        line_start: 4841
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4846
      start: 4800
    functionDepth: 0
    functionLinenumber: 4800
    functionLinenumberEnd: 4846
    functionName: roaring::internal::container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersect
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_intersect
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_intersect
    - roaring::internal::run_bitset_container_intersect
    - roaring::internal::array_container_intersect
    - roaring::internal::array_run_container_intersect
    - CONTAINER_PAIR
    linkageType: ''
    returnType: bool
    signature: "bool container_intersect(const container_t *c1, uint8_t type1,\n                                       const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4860,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4861,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4863,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4864,1
    - Dst: roaring::internal::bitset_bitset_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4865,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4866,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4866,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4871,1
    - Dst: roaring::internal::array_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4872,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4872,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4873,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4877,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4878,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4880,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4883,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4883,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4886,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4888,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4889,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4889,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4890,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4891,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4895,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4897,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4898,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4898,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4899,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4902,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4904,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4905,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4905,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4910,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4912,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4913,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4913,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4918,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4919,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4921,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4925,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4926,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4928,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4932
        line_start: 4932
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4937
      start: 4857
    functionDepth: 0
    functionLinenumber: 4857
    functionLinenumberEnd: 4937
    functionName: roaring::internal::container_iand
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_bitset_container_intersection_inplace
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - roaring::internal::array_container_intersection_inplace
    - const_CAST_array
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iand(container_t *c1, uint8_t type1,\n                                          const
      container_t *c2, uint8_t type2,\n                                          uint8_t
      *result_type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4947,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4948,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4950,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4951,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4952,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4954,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4958,1
    - Dst: roaring::internal::array_array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4960,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4960,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4961,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4966,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4967,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4969,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4972,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4973,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4976,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4977,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4978,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4978,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4979,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4980,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4984,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4985,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4986,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4986,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4987,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4988,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4992,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4993,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4993,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4994,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4999,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5000,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5005,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5006,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5006,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5007,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5012,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5013,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5018,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5019,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5021,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5022,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5023,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5026,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5027,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5029,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5030,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5031,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5034
        line_start: 5034
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5039
      start: 4944
    functionDepth: 0
    functionLinenumber: 4944
    functionLinenumberEnd: 5039
    functionName: roaring::internal::container_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::array_array_container_union
    - const_CAST_run
    - CAST_bitset
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_or(const container_t *c1, uint8_t type1,\n
      \                                       const container_t *c2, uint8_t type2,\n
      \                                       uint8_t *result_type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5054,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5055,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5057,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5058,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5059,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5060,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5060,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5061,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5062,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5066,1
    - Dst: roaring::internal::array_array_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5068,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5068,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5069,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5074,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5075,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5077,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5080,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5081,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5084,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5085,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5086,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5086,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5087,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5088,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5092,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5093,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5094,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5094,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5095,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5096,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5100,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5101,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5101,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5102,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5107,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5108,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5108,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5109,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5110,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5114,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5115,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5115,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5116,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5121,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5122,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5122,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5123,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5124,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5128,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5129,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5131,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5137,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5138,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5140,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5146
        line_start: 5146
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5151
      start: 5049
    functionDepth: 0
    functionLinenumber: 5049
    functionLinenumberEnd: 5151
    functionName: roaring::internal::container_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_bitset_container_lazy_union
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_or(const container_t *c1,\n                                             uint8_t
      type1,\n                                             const container_t *c2,\n
      \                                            uint8_t type2,\n                                             uint8_t
      *result_type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5165,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5166,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5168,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5169,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5171,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5173,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5174,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5182,1
    - Dst: roaring::internal::array_array_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5183,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5184,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5184,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5192,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5194,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5194,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5197,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5198,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5203,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5205,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5207,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5208,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5212,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5213,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5213,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5214,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5219,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5219,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5220,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5221,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5225,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5226,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5226,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5230,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5231,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5236,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5237,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5239,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5240,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5241,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5244,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5245,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5245,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5246,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5247,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5247,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 64
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5250
        line_start: 5250
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5255
      start: 5162
    functionDepth: 0
    functionLinenumber: 5162
    functionLinenumberEnd: 5255
    functionName: roaring::internal::container_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_container_is_full
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::array_array_container_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ior(container_t *c1, uint8_t type1,\n                                         const
      container_t *c2, uint8_t type2,\n                                         uint8_t
      *result_type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5273,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5275,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5277,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5278,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5282,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5284,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5285,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5290,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5290,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5291,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5291,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5297,1
    - Dst: roaring::internal::array_array_container_lazy_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5298,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5299,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5299,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5307,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5310,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5310,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5313,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5314,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5314,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5315,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5316,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5320,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5322,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5324,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5324,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5325,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5326,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5329,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5330,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5330,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5331,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5336,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5337,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5337,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5338,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5342,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5343,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5343,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5347,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5348,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5348,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5349,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5350,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5354,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5355,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5357,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5364,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5365,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5365,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5366,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5272
        line_start: 5272
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5373
        line_start: 5373
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5378
      start: 5269
    functionDepth: 0
    functionLinenumber: 5269
    functionLinenumberEnd: 5378
    functionName: roaring::internal::container_lazy_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - roaring::internal::run_bitset_container_lazy_union
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ior(container_t *c1, uint8_t type1,\n
      \                                             const container_t *c2,\n                                              uint8_t
      type2,\n                                              uint8_t *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5388,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5389,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5391,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5392,1
    - Dst: roaring::internal::bitset_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5394,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5394,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5395,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5400,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5402,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5402,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5403,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5408,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5409,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5410,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5410,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5413,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5415,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5415,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5416,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5421,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5423,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5423,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5424,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5429,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5431,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5431,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5432,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5437,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5439,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5439,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5440,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5445,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5446,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5447,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5447,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5450,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5451,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5452,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5452,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5455
        line_start: 5455
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5460
      start: 5385
    functionDepth: 0
    functionLinenumber: 5385
    functionLinenumberEnd: 5460
    functionName: roaring::internal::container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_xor
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_bitset_container_xor
    - const_CAST_run
    - assert
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::array_array_container_xor
    - roaring::internal::array_bitset_container_xor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_xor(const container_t *c1, uint8_t type1,\n
      \                                        const container_t *c2, uint8_t type2,\n
      \                                        uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5475,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5476,1
    - Dst: roaring::internal::container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5476,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5477,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5478,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5479,1
    - Dst: roaring::internal::bitset_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5483,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5483,1
    - Dst: roaring::internal::array_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5486,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5486,1
    - Dst: roaring::internal::run_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5489,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5489,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - c
    - type
    - lo
    - hi
    - offset
    argTypes:
    - container_t*
    - uint8_t
    - container_t**
    - container_t**
    - uint16_t
    assertStmts:
    - condition: (offset != 0)
      pos:
        line_end: 5474
        line_start: 5474
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (lo != NULL || hi != NULL)
      pos:
        line_end: 5476
        line_start: 5476
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (container_nonzero_cardinality(c, type))
      pos:
        line_end: 5475
        line_start: 5475
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (lo == NULL || *lo == NULL)
      pos:
        line_end: 5477
        line_start: 5477
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (hi == NULL || *hi == NULL)
      pos:
        line_end: 5478
        line_start: 5478
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5491
        line_start: 5491
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5496
      start: 5472
    functionDepth: 0
    functionLinenumber: 5472
    functionLinenumberEnd: 5496
    functionName: roaring::internal::container_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_offset
    - const_CAST_bitset
    - roaring::internal::array_container_offset
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_offset
    - roaring::internal::container_nonzero_cardinality
    linkageType: ''
    returnType: void
    signature: "void container_add_offset(const container_t *c, uint8_t type,\n                                        container_t
      **lo, container_t **hi,\n                                        uint16_t offset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5511,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5512,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5514,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5515,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5516,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5517,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5517,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5518,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5519,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5523,1
    - Dst: roaring::internal::array_array_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5525,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5525,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5526,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5531,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5533,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5534,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5534,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5537,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5538,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5540,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5540,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5541,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5542,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5545,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5546,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5548,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5548,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5549,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5550,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5553,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5554,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5555,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5560,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5561,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5562,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5567,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5568,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5569,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5569,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5570,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5570,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5576,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5577,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5578,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5578,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5579,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5579,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5585
        line_start: 5585
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5590
      start: 5506
    functionDepth: 0
    functionLinenumber: 5506
    functionLinenumberEnd: 5590
    functionName: roaring::internal::container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - bitset_container_xor_nocard
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_lazy_xor
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::run_bitset_container_lazy_xor
    - roaring::internal::run_container_create
    - roaring::internal::array_bitset_container_lazy_xor
    - CAST_run
    - CONTAINER_PAIR
    - roaring::internal::bitset_container_create
    - roaring::internal::array_array_container_lazy_xor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_xor(const container_t *c1,\n                                              uint8_t
      type1,\n                                              const container_t *c2,\n
      \                                             uint8_t type2,\n                                              uint8_t
      *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5604,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5605,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5607,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5608,1
    - Dst: roaring::internal::bitset_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5609,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5610,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5610,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5615,1
    - Dst: roaring::internal::array_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5616,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5617,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5617,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5622,1
    - Dst: roaring::internal::run_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5623,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5624,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5624,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5627,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5628,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5629,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5629,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5634,1
    - Dst: roaring::internal::array_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5635,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5636,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5636,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5641,1
    - Dst: roaring::internal::bitset_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5642,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5643,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5643,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5649,1
    - Dst: roaring::internal::run_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5650,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5651,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5651,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5656,1
    - Dst: roaring::internal::array_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5657,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5658,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5658,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5661,1
    - Dst: roaring::internal::run_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5662,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5663,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5663,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5666
        line_start: 5666
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5671
      start: 5601
    functionDepth: 0
    functionLinenumber: 5601
    functionLinenumberEnd: 5671
    functionName: roaring::internal::container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_run_container_ixor
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_array_container_ixor
    - roaring::internal::array_bitset_container_ixor
    - const_CAST_array
    - roaring::internal::run_run_container_ixor
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::array_array_container_ixor
    - CAST_array
    - assert
    - roaring::internal::array_run_container_ixor
    - roaring::internal::run_bitset_container_ixor
    - roaring::internal::bitset_bitset_container_ixor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ixor(container_t *c1, uint8_t type1,\n                                          const
      container_t *c2, uint8_t type2,\n                                          uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5689,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5691,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5692,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5693,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5695,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5705,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5707,1
    - Dst: roaring::internal::container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5688
        line_start: 5688
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5712
      start: 5685
    functionDepth: 0
    functionLinenumber: 5685
    functionLinenumberEnd: 5712
    functionName: roaring::internal::container_lazy_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - bitset_container_xor_nocard
    - roaring::internal::bitset_container_compute_cardinality
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - assert
    - CAST_bitset
    - roaring::internal::container_ixor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ixor(container_t *c1, uint8_t type1,\n
      \                                              const container_t *c2,\n                                               uint8_t
      type2,\n                                               uint8_t *result_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5724,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5725,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5727,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5728,1
    - Dst: roaring::internal::bitset_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5730,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5730,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5731,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5736,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5737,1
    - Dst: roaring::internal::array_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5738,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5743,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5744,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5744,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5745,1
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5749,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5750,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5750,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5753,1
    - Dst: roaring::internal::bitset_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5755,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5756,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5761,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5762,1
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5763,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5763,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5764,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5765,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5769,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5770,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5770,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5771,1
    - Dst: roaring::internal::bitset_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5776,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5776,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5777,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5782,1
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5784,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5784,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5785,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5790,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5791,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5791,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5792,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5796,1
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5798,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5802,1
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5803,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5804,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5804,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5807
        line_start: 5807
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5812
      start: 5719
    functionDepth: 0
    functionLinenumber: 5719
    functionLinenumberEnd: 5812
    functionName: roaring::internal::container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_array_container_andnot
    - const_CAST_run
    - roaring::internal::run_run_container_andnot
    - roaring::internal::array_run_container_andnot
    - CONTAINER_PAIR
    - roaring::internal::bitset_array_container_andnot
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - const_CAST_array
    - roaring::internal::bitset_bitset_container_andnot
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_andnot
    - roaring::internal::array_array_container_andnot
    - roaring::internal::run_bitset_container_andnot
    - CAST_array
    - assert
    - roaring::internal::array_bitset_container_andnot
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_andnot(const container_t *c1,\n                                            uint8_t
      type1,\n                                            const container_t *c2,\n
      \                                           uint8_t type2,\n                                            uint8_t
      *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5828,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5829,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5831,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5832,1
    - Dst: roaring::internal::bitset_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5833,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5834,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5834,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5839,1
    - Dst: roaring::internal::array_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5844,1
    - Dst: roaring::internal::run_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5845,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5846,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5846,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5849,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5850,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5851,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5851,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5856,1
    - Dst: roaring::internal::array_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5858,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5858,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5859,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5862,1
    - Dst: roaring::internal::bitset_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5863,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5864,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5864,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5869,1
    - Dst: roaring::internal::run_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5870,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5871,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5871,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5876,1
    - Dst: roaring::internal::array_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5881,1
    - Dst: roaring::internal::run_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5882,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5883,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5883,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5886
        line_start: 5886
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5891
      start: 5824
    functionDepth: 0
    functionLinenumber: 5824
    functionLinenumberEnd: 5891
    functionName: roaring::internal::container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_array_container_iandnot
    - roaring::internal::bitset_array_container_iandnot
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_iandnot
    - const_CAST_array
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_iandnot
    - CAST_array
    - assert
    - roaring::internal::array_array_container_iandnot
    - roaring::internal::array_run_container_iandnot
    - roaring::internal::bitset_bitset_container_iandnot
    - roaring::internal::run_run_container_iandnot
    - roaring::internal::run_bitset_container_iandnot
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iandnot(container_t *c1, uint8_t type1,\n                                             const
      container_t *c2,\n                                             uint8_t type2,\n
      \                                            uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5901,1
    - Dst: roaring::internal::bitset_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5904,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5904,1
    - Dst: roaring::internal::array_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5907,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5907,1
    - Dst: roaring::internal::run_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5910,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5910,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5913,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - base
    - iterator
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5912
        line_start: 5912
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5915
        line_start: 5915
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5919
      start: 5898
    functionDepth: 0
    functionLinenumber: 5898
    functionLinenumberEnd: 5919
    functionName: roaring::internal::container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_iterate
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_iterate
    - assert
    - roaring::internal::run_container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate(const container_t *c, uint8_t type,\n                                     uint32_t
      base, roaring_iterator iterator,\n                                     void
      *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5925,1
    - Dst: roaring::internal::bitset_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5928,1
    - Dst: roaring::internal::array_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5931,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5931,1
    - Dst: roaring::internal::run_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5934,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5934,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5937,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5936
        line_start: 5936
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5939
        line_start: 5939
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5943
      start: 5921
    functionDepth: 0
    functionLinenumber: 5921
    functionLinenumberEnd: 5943
    functionName: roaring::internal::container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_iterate64
    - const_CAST_run
    - assert
    - roaring::internal::run_container_iterate64
    - roaring::internal::bitset_container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate64(const container_t *c, uint8_t type,\n                                       uint32_t
      base,\n                                       roaring_iterator64 iterator,\n
      \                                      uint64_t high_bits, void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5947,1
    - Dst: roaring::internal::bitset_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5952,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5952,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5957,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: roaring::internal::run_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5963,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5963,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5967,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5966
        line_start: 5966
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5969
        line_start: 5969
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5973
      start: 5945
    functionDepth: 0
    functionLinenumber: 5945
    functionLinenumberEnd: 5973
    functionName: roaring::internal::container_not
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_negation
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not(const container_t *c, uint8_t type,\n                                         uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5980,1
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5985,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5985,1
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5992,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5992,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5998,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5999,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6003,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6002
        line_start: 6002
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6005
        line_start: 6005
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6009
      start: 5975
    functionDepth: 0
    functionLinenumber: 5975
    functionLinenumberEnd: 6009
    functionName: roaring::internal::container_not_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_negation_range
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_negation_range
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not_range(const container_t *c,\n                                               uint8_t
      type,\n                                               uint32_t range_start,\n
      \                                              uint32_t range_end,\n                                               uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6013,1
    - Dst: roaring::internal::bitset_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6018,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6018,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6024,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6027,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6027,1
    - Dst: roaring::internal::run_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6031,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6031,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6035,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6034
        line_start: 6034
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6037
        line_start: 6037
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6041
      start: 6011
    functionDepth: 0
    functionLinenumber: 6011
    functionLinenumberEnd: 6041
    functionName: roaring::internal::container_inot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::run_container_negation_inplace
    - roaring::internal::array_container_free
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation_inplace
    - CAST_run
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot(container_t *c, uint8_t type,\n                                          uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6047,1
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6051,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6052,1
    - Dst: roaring::internal::array_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6057,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6058,1
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6063,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6064,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6068,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6067
        line_start: 6067
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6070
        line_start: 6070
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6074
      start: 6043
    functionDepth: 0
    functionLinenumber: 6043
    functionLinenumberEnd: 6074
    functionName: roaring::internal::container_inot_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    - CAST_array
    - roaring::internal::bitset_container_negation_range_inplace
    - roaring::internal::get_writable_copy_if_shared
    - roaring::internal::array_container_negation_range_inplace
    - CAST_bitset
    - assert
    - CAST_run
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot_range(container_t *c, uint8_t type,\n
      \                                               uint32_t range_start,\n                                                uint32_t
      range_end,\n                                                uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6087,1
    - Dst: roaring::internal::bitset_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6090,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6090,1
    - Dst: roaring::internal::array_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6093,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6093,1
    - Dst: roaring::internal::run_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6096,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6096,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6099,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - start_rank
    - rank
    - element
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6098
        line_start: 6098
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6101
        line_start: 6101
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6105
      start: 6084
    functionDepth: 0
    functionLinenumber: 6084
    functionLinenumberEnd: 6105
    functionName: roaring::internal::container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_select
    - assert
    - roaring::internal::run_container_select
    - roaring::internal::array_container_select
    linkageType: ''
    returnType: bool
    signature: "bool container_select(const container_t *c, uint8_t type,\n                                    uint32_t
      *start_rank, uint32_t rank,\n                                    uint32_t *element)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6108,1
    - Dst: roaring::internal::bitset_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6111,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6111,1
    - Dst: roaring::internal::array_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6113,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6113,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6115,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6115,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6117,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6116
        line_start: 6116
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6119
        line_start: 6119
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6123
      start: 6107
    functionDepth: 0
    functionLinenumber: 6107
    functionLinenumberEnd: 6123
    functionName: roaring::internal::container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_maximum
    - roaring::internal::run_container_maximum
    - roaring::internal::array_container_maximum
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t container_maximum(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6126,1
    - Dst: roaring::internal::bitset_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6129,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6129,1
    - Dst: roaring::internal::array_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6131,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6131,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6133,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6133,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6135,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6134
        line_start: 6134
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6137
        line_start: 6137
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6141
      start: 6125
    functionDepth: 0
    functionLinenumber: 6125
    functionLinenumberEnd: 6141
    functionName: roaring::internal::container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::array_container_minimum
    - assert
    - roaring::internal::run_container_minimum
    - roaring::internal::bitset_container_minimum
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t container_minimum(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6146,1
    - Dst: roaring::internal::bitset_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6149,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6149,1
    - Dst: roaring::internal::array_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6151,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6151,1
    - Dst: roaring::internal::run_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6153,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6153,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6155,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6154
        line_start: 6154
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6157
        line_start: 6157
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6161
      start: 6144
    functionDepth: 0
    functionLinenumber: 6144
    functionLinenumberEnd: 6161
    functionName: roaring::internal::container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_rank
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_rank
    - roaring::internal::array_container_rank
    linkageType: ''
    returnType: int
    signature: "int container_rank(const container_t *c, uint8_t type,\n                                 uint16_t
      x)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6168,1
    - Dst: roaring::internal::bitset_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6171,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6171,1
    - Dst: roaring::internal::array_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6174,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6174,1
    - Dst: roaring::internal::run_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6177,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6177,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6180,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - container_t*
    - uint8_t
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6179
        line_start: 6179
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6182
        line_start: 6182
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6186
      start: 6164
    functionDepth: 1
    functionLinenumber: 6164
    functionLinenumberEnd: 6186
    functionName: roaring::internal::container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_rank_many
    - assert
    - roaring::internal::bitset_container_rank_many
    - roaring::internal::array_container_rank_many
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t container_rank_many(const container_t *c, uint8_t type,\n
      \                                          uint64_t start_rank,\n                                           const
      uint32_t *begin,\n                                           const uint32_t
      *end, uint64_t *ans)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6191,1
    - Dst: roaring::internal::bitset_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6194,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6194,1
    - Dst: roaring::internal::array_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6196,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6196,1
    - Dst: roaring::internal::run_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6198,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6198,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6200,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6199
        line_start: 6199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6202
        line_start: 6202
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6206
      start: 6189
    functionDepth: 1
    functionLinenumber: 6189
    functionLinenumberEnd: 6206
    functionName: roaring::internal::container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_get_index
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_get_index
    - const_CAST_run
    - assert
    - roaring::internal::run_container_get_index
    linkageType: ''
    returnType: int
    signature: "int container_get_index(const container_t *c, uint8_t type,\n                                      uint16_t
      x)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6222,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6228,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6230,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6232,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6232,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6235,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6241,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6244,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6246,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6251,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6253,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6253,1
    - Dst: roaring::internal::array_container_add_range_nvals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6256,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6261,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6262,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6268,1
    - Dst: roaring::internal::rle16_count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6271,1
    - Dst: roaring::internal::rle16_count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6272,1
    - Dst: roaring::internal::run_container_add_range_nruns
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6281,1
    - Dst: roaring::internal::container_from_run_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6292
      start: 6216
    functionDepth: 0
    functionLinenumber: 6216
    functionLinenumberEnd: 6292
    functionName: roaring::internal::container_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - CAST_run
    - CAST_array
    - roaring::internal::run_container_add_range_nruns
    - roaring::internal::run_container_create_range
    - CAST_bitset
    - roaring::internal::rle16_count_less
    - roaring::internal::count_greater
    - roaring::internal::array_container_add_range_nvals
    - roaring::internal::count_less
    - INT32_C
    - roaring::internal::rle16_count_greater
    - roaring::internal::container_from_run_range
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add_range(container_t *c, uint8_t type,\n                                               uint32_t
      min, uint32_t max,\n                                               uint8_t *result_type)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6310,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6314,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6320,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6322,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6325,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6331,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6334,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6336,1
    - Dst: roaring::internal::array_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6344,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6350,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6355,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6356,1
    - Dst: roaring::internal::run_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6360,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6366
      start: 6305
    functionDepth: 0
    functionLinenumber: 6305
    functionLinenumberEnd: 6366
    functionName: roaring::internal::container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_remove_range
    - CAST_run
    - CAST_array
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::count_greater
    - roaring::internal::array_container_remove_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::count_less
    - roaring::internal::run_container_minimum
    - roaring::internal::run_container_maximum
    - roaring::internal::bitset_lenrange_cardinality
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove_range(container_t *c, uint8_t type,\n
      \                                                 uint32_t min, uint32_t max,\n
      \                                                 uint8_t *result_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type1
    - ','
    - type2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4004
    functionName: PAIR_CONTAINER_TYPES
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAIR_CONTAINER_TYPES(type1, type2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name1
    - ','
    - name2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4007
      start: 4005
    functionDepth: 0
    functionLinenumber: 4005
    functionLinenumberEnd: 4007
    functionName: CONTAINER_PAIR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONTAINER_PAIR(name1, name2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4016
      start: 4012
    functionDepth: 0
    functionLinenumber: 4012
    functionLinenumberEnd: 4016
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(shared_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4021
      start: 4020
    functionDepth: 0
    functionLinenumber: 4020
    functionLinenumberEnd: 4021
    functionName: CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4022
      start: 4021
    functionDepth: 0
    functionLinenumber: 4021
    functionLinenumberEnd: 4022
    functionName: const_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 4022
    functionDepth: 0
    functionLinenumber: 4022
    functionLinenumberEnd: 4023
    functionName: movable_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_shared(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4049,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4050,1
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - candidate_shared_container
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4049
        line_start: 4049
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4055
      start: 4046
    functionDepth: 0
    functionLinenumber: 4046
    functionLinenumberEnd: 4055
    functionName: roaring::internal::container_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 212
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_unwrap_shared(\n    const container_t *candidate_shared_container,
      uint8_t *type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4061,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4062,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4061
        line_start: 4061
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4067
      start: 4058
    functionDepth: 0
    functionLinenumber: 4058
    functionLinenumberEnd: 4067
    functionName: roaring::internal::container_mutable_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - CAST_shared
    - assert
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_mutable_unwrap_shared(container_t *c,\n                                                           uint8_t
      *type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4070
    functionDepth: 0
    functionLinenumber: 4070
    functionLinenumberEnd: 4076
    functionName: roaring::internal::get_container_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_shared
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_container_type(const container_t *c, uint8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::shared_container_extract_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4089,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4086
    functionDepth: 0
    functionLinenumber: 4086
    functionLinenumberEnd: 4093
    functionName: roaring::internal::get_writable_copy_if_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 58
    functionsReached:
    - CAST_shared
    - roaring::internal::shared_container_extract_copy
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_writable_copy_if_shared(container_t *c,\n                                                       uint8_t
      *type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4112,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4114,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4114,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4117,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4117,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4120,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4119
        line_start: 4119
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4122
        line_start: 4122
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4126
      start: 4107
    functionDepth: 0
    functionLinenumber: 4107
    functionLinenumberEnd: 4126
    functionName: roaring::internal::container_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_from_run
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bitset_container_t
    signature: "bitset_container_t *container_to_bitset(container_t *c,\n                                                      uint8_t
      typecode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4159,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4167,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4172
        line_start: 4172
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4166
        line_start: 4166
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4179
      start: 4149
    functionDepth: 0
    functionLinenumber: 4149
    functionLinenumberEnd: 4179
    functionName: roaring::internal::get_full_container_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: char
    signature: "char *get_full_container_name(const container_t *c,\n                                                  uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4186,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4189,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4189,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4191,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4191,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4193,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4193,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4194
        line_start: 4194
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4198
      start: 4184
    functionDepth: 0
    functionLinenumber: 4184
    functionLinenumberEnd: 4198
    functionName: roaring::internal::container_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int container_get_cardinality(const container_t *c,\n                                            uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4204,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4207,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4210,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4210,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4213,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4213,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4214
        line_start: 4214
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4218
      start: 4203
    functionDepth: 0
    functionLinenumber: 4203
    functionLinenumberEnd: 4218
    functionName: roaring::internal::container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: bool container_is_full(const container_t *c, uint8_t typecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4221,1
    - Dst: roaring::internal::array_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4226,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4226,1
    - Dst: roaring::internal::run_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4228,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4228,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4229
        line_start: 4229
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4233
      start: 4220
    functionDepth: 0
    functionLinenumber: 4220
    functionLinenumberEnd: 4233
    functionName: roaring::internal::container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_shrink_to_fit
    - assert
    - roaring::internal::container_mutable_unwrap_shared
    - CAST_run
    - roaring::internal::run_container_shrink_to_fit
    linkageType: ''
    returnType: int
    signature: int container_shrink_to_fit(container_t *c, uint8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4244,1
    - Dst: roaring::internal::array_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4248,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - range_start
    - range_end
    - result_type
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (range_end >= range_start)
      pos:
        line_end: 4243
        line_start: 4243
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4253
      start: 4241
    functionDepth: 0
    functionLinenumber: 4241
    functionLinenumberEnd: 4253
    functionName: roaring::internal::container_range_of_ones
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - assert
    - roaring::internal::array_container_create_range
    - roaring::internal::run_container_create_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_range_of_ones(uint32_t range_start,\n                                                   uint32_t
      range_end,\n                                                   uint8_t *result_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4261,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4269,1
    - Dst: roaring::internal::array_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4270,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4271,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4275,1
    - Dst: roaring::internal::bitset_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4276,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - type
    - min
    - max
    - step
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts:
    - condition: (array->cardinality == size)
      pos:
        line_end: 4270
        line_start: 4270
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (bitset->cardinality == size)
      pos:
        line_end: 4276
        line_start: 4276
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4280
      start: 4257
    functionDepth: 0
    functionLinenumber: 4257
    functionLinenumberEnd: 4280
    functionName: roaring::internal::container_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_range_of_ones
    - assert
    - roaring::internal::array_container_add_from_range
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_add_from_range
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_range(uint8_t *type, uint32_t min,\n                                                uint32_t
      max, uint16_t step)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4287,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4291,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4292,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4294,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4295,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4304,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4304,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4307,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4306
        line_start: 4306
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4308
        line_start: 4308
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4312
      start: 4285
    functionDepth: 0
    functionLinenumber: 4285
    functionLinenumberEnd: 4312
    functionName: roaring::internal::container_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_repair_after_lazy(container_t *c,\n                                                       uint8_t
      *type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4324,1
    - Dst: roaring::internal::bitset_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4327,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4327,1
    - Dst: roaring::internal::array_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4329,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4329,1
    - Dst: roaring::internal::run_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4331,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4331,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - typecode
    - buf
    argTypes:
    - container_t*
    - uint8_t
    - char*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4332
        line_start: 4332
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4336
      start: 4322
    functionDepth: 0
    functionLinenumber: 4322
    functionLinenumberEnd: 4336
    functionName: roaring::internal::container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_write
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_write
    - roaring::internal::bitset_container_write
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_write(const container_t *c, uint8_t typecode,\n
      \                                     char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4345,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4348,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4348,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4350,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4350,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4352,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4352,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4353
        line_start: 4353
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4357
      start: 4343
    functionDepth: 0
    functionLinenumber: 4343
    functionLinenumberEnd: 4357
    functionName: roaring::internal::container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::run_container_size_in_bytes
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_size_in_bytes
    - roaring::internal::bitset_container_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_size_in_bytes(const container_t *c,\n                                              uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4379,1
    - Dst: roaring::internal::bitset_container_const_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4382,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4383,1
    - Dst: roaring::internal::array_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4385,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4385,1
    - Dst: roaring::internal::run_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4387,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4387,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4388
        line_start: 4388
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4392
      start: 4377
    functionDepth: 0
    functionLinenumber: 4377
    functionLinenumberEnd: 4392
    functionName: roaring::internal::container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_const_nonzero_cardinality
    - roaring::internal::array_container_nonzero_cardinality
    - roaring::internal::run_container_nonzero_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool container_nonzero_cardinality(const container_t *c,\n                                                 uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4407,1
    - Dst: roaring::internal::bitset_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4410,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4411,1
    - Dst: roaring::internal::array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4413,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4413,1
    - Dst: roaring::internal::run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4416,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4416,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - output
    - c
    - typecode
    - base
    argTypes:
    - uint32_t*
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4418
        line_start: 4418
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4422
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4422
    functionName: roaring::internal::container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_to_uint32_array
    - assert
    - roaring::internal::run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int container_to_uint32_array(uint32_t *output,\n                                            const
      container_t *c,\n                                            uint8_t typecode,
      uint32_t base)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4434,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4437,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4437,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4441,1
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4442,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4446,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4447,1
    - Dst: roaring::internal::run_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4454,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4454,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4457
        line_start: 4457
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4462
      start: 4430
    functionDepth: 0
    functionLinenumber: 4430
    functionLinenumberEnd: 4462
    functionName: roaring::internal::container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_add
    - CAST_array
    - roaring::internal::run_container_add
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::array_container_try_add
    - roaring::internal::bitset_container_set
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add(\n    container_t *c, uint16_t val,\n    uint8_t
      typecode,  // !!! should be second argument?\n    uint8_t *new_typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4475,1
    - Dst: roaring::internal::bitset_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4478,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4478,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4479,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4479,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4482,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4482,1
    - Dst: roaring::internal::array_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4489,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4489,1
    - Dst: roaring::internal::run_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4493,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4493,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4496
        line_start: 4496
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4501
      start: 4471
    functionDepth: 0
    functionLinenumber: 4471
    functionLinenumberEnd: 4501
    functionName: roaring::internal::container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_remove
    - roaring::internal::bitset_container_remove
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::array_container_remove
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove(\n    container_t *c, uint16_t val,\n
      \   uint8_t typecode,  // !!! should be second argument?\n    uint8_t *new_typecode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4510,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4513,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4513,1
    - Dst: roaring::internal::array_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4515,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4515,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4517,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4517,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - c
    - val
    - typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4518
        line_start: 4518
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4523
      start: 4506
    functionDepth: 0
    functionLinenumber: 4506
    functionLinenumberEnd: 4523
    functionName: roaring::internal::container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_get
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains
    - roaring::internal::array_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool container_contains(\n    const container_t *c, uint16_t val,\n
      \   uint8_t typecode  // !!! should be second argument?\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4533,1
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4536,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4536,1
    - Dst: roaring::internal::array_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4539,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4539,1
    - Dst: roaring::internal::run_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4542,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4542,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - c
    - range_start
    - range_end
    - typecode
    argTypes:
    - container_t*
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4544
        line_start: 4544
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4549
      start: 4529
    functionDepth: 0
    functionLinenumber: 4529
    functionLinenumberEnd: 4549
    functionName: roaring::internal::container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::bitset_container_get_range
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_contains_range
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool container_contains_range(\n    const container_t *c, uint32_t
      range_start, uint32_t range_end,\n    uint8_t typecode  // !!! should be second
      argument?\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4557,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4558,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4559,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4560,1
    - Dst: roaring::internal::bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4561,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4561,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4562,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4564,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4565,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4565,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4566,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4568,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4569,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4569,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4570,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4572,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4574,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4574,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4575,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4577,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4579,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4579,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4580,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4582,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4583,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4583,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4584,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4586,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4587,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4587,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4588,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4590,1
    - Dst: roaring::internal::array_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4592,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4594,1
    - Dst: roaring::internal::run_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4597
        line_start: 4597
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4602
      start: 4555
    functionDepth: 0
    functionLinenumber: 4555
    functionLinenumberEnd: 4602
    functionName: roaring::internal::container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_equals
    - roaring::internal::run_container_equals
    - roaring::internal::run_container_equals_bitset
    - roaring::internal::run_container_equals_array
    - roaring::internal::array_container_equals
    - CONTAINER_PAIR
    - roaring::internal::array_container_equal_bitset
    linkageType: ''
    returnType: bool
    signature: "bool container_equals(const container_t *c1, uint8_t type1,\n                                    const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4610,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4611,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4612,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4613,1
    - Dst: roaring::internal::bitset_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4614,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4614,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4615,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4617,1
    - Dst: roaring::internal::bitset_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4618,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4618,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4619,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4621,1
    - Dst: roaring::internal::run_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4622,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4622,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4623,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4625,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4628,1
    - Dst: roaring::internal::array_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4629,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4629,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4630,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4632,1
    - Dst: roaring::internal::array_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4633,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4633,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4634,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4636,1
    - Dst: roaring::internal::run_container_is_subset_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4637,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4637,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4638,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4640,1
    - Dst: roaring::internal::array_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4641,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4641,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4642,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4644,1
    - Dst: roaring::internal::run_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4645,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4645,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4646,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4648
        line_start: 4648
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4653
      start: 4608
    functionDepth: 0
    functionLinenumber: 4608
    functionLinenumberEnd: 4653
    functionName: roaring::internal::container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_container_is_subset_bitset
    - const_CAST_array
    - roaring::internal::array_container_is_subset_bitset
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_is_subset_array
    - assert
    - roaring::internal::array_container_is_subset
    - roaring::internal::bitset_container_is_subset_run
    - roaring::internal::array_container_is_subset_run
    - CONTAINER_PAIR
    - roaring::internal::run_container_is_subset
    - roaring::internal::bitset_container_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool container_is_subset(const container_t *c1, uint8_t type1,\n                                       const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4665,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4666,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4668,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4669,1
    - Dst: roaring::internal::bitset_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4671,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4672,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4672,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4677,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4678,1
    - Dst: roaring::internal::array_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4679,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4684,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4685,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4687,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4688,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4688,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4691,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4692,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4693,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4693,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4694,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4695,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4699,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4700,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4702,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4702,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4703,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4704,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4707,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4709,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4710,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4710,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4715,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4717,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4718,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4718,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4723,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4724,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4726,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4730,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4731,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4733,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4737
        line_start: 4737
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4742
      start: 4662
    functionDepth: 0
    functionLinenumber: 4662
    functionLinenumberEnd: 4742
    functionName: roaring::internal::container_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection
    - const_CAST_bitset
    - CAST_array
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_bitset_container_intersection
    - roaring::internal::convert_run_to_efficient_container_and_free
    - assert
    - roaring::internal::array_container_intersection
    - roaring::internal::array_container_create
    - roaring::internal::array_bitset_container_intersection
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_and(const container_t *c1, uint8_t type1,\n
      \                                        const container_t *c2, uint8_t type2,\n
      \                                        uint8_t *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4751,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4752,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4753,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4754,1
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4756,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4758,1
    - Dst: roaring::internal::array_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4759,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4760,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4760,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4762,1
    - Dst: roaring::internal::run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4763,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4763,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4764,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4766,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4767,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4768,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4768,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4770,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4771,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4772,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4772,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4774,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4775,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4776,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4776,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4778,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4779,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4780,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4780,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4782,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4783,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4784,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4784,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4786,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4787,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4788,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4788,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4790
        line_start: 4790
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4795
      start: 4747
    functionDepth: 0
    functionLinenumber: 4747
    functionLinenumberEnd: 4795
    functionName: roaring::internal::container_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection_cardinality
    - const_CAST_bitset
    - roaring::internal::array_container_intersection_cardinality
    - bitset_container_and_justcard
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_bitset_container_intersection_cardinality
    - assert
    - roaring::internal::array_bitset_container_intersection_cardinality
    - roaring::internal::array_run_container_intersection_cardinality
    - CONTAINER_PAIR
    linkageType: ''
    returnType: int
    signature: "int container_and_cardinality(const container_t *c1,\n                                            uint8_t
      type1,\n                                            const container_t *c2,\n
      \                                           uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4802,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4803,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4804,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4805,1
    - Dst: roaring::internal::bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4806,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4806,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4807,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4809,1
    - Dst: roaring::internal::array_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4810,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4810,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4811,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4813,1
    - Dst: roaring::internal::run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4814,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4814,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4815,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4817,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4818,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4818,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4819,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4821,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4822,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4822,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4823,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4825,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4826,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4827,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4829,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4830,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4830,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4831,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4833,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4834,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4834,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4835,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4837,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4838,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4838,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4839,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4841
        line_start: 4841
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4846
      start: 4800
    functionDepth: 0
    functionLinenumber: 4800
    functionLinenumberEnd: 4846
    functionName: roaring::internal::container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersect
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_intersect
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_intersect
    - roaring::internal::run_bitset_container_intersect
    - roaring::internal::array_container_intersect
    - roaring::internal::array_run_container_intersect
    - CONTAINER_PAIR
    linkageType: ''
    returnType: bool
    signature: "bool container_intersect(const container_t *c1, uint8_t type1,\n                                       const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4860,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4861,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4863,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4864,1
    - Dst: roaring::internal::bitset_bitset_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4865,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4866,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4866,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4871,1
    - Dst: roaring::internal::array_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4872,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4872,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4873,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4877,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4878,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4880,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4883,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4883,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4886,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4888,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4889,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4889,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4890,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4891,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4895,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4897,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4898,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4898,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4899,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4902,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4904,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4905,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4905,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4910,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4912,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4913,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4913,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4918,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4919,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4921,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4925,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4926,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4928,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4932
        line_start: 4932
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4937
      start: 4857
    functionDepth: 0
    functionLinenumber: 4857
    functionLinenumberEnd: 4937
    functionName: roaring::internal::container_iand
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_bitset_container_intersection_inplace
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - roaring::internal::array_container_intersection_inplace
    - const_CAST_array
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iand(container_t *c1, uint8_t type1,\n                                          const
      container_t *c2, uint8_t type2,\n                                          uint8_t
      *result_type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4947,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4948,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4950,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4951,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4952,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4954,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4958,1
    - Dst: roaring::internal::array_array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4960,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4960,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4961,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4966,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4967,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4969,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4972,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4973,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4976,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4977,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4978,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4978,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4979,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4980,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4984,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4985,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4986,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4986,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4987,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4988,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4992,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4993,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4993,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4994,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4999,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5000,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5005,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5006,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5006,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5007,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5012,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5013,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5018,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5019,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5021,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5022,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5023,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5026,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5027,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5029,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5030,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5031,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5034
        line_start: 5034
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5039
      start: 4944
    functionDepth: 0
    functionLinenumber: 4944
    functionLinenumberEnd: 5039
    functionName: roaring::internal::container_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::array_array_container_union
    - const_CAST_run
    - CAST_bitset
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_or(const container_t *c1, uint8_t type1,\n
      \                                       const container_t *c2, uint8_t type2,\n
      \                                       uint8_t *result_type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5054,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5055,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5057,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5058,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5059,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5060,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5060,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5061,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5062,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5066,1
    - Dst: roaring::internal::array_array_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5068,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5068,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5069,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5074,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5075,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5077,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5080,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5081,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5084,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5085,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5086,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5086,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5087,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5088,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5092,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5093,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5094,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5094,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5095,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5096,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5100,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5101,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5101,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5102,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5107,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5108,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5108,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5109,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5110,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5114,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5115,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5115,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5116,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5121,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5122,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5122,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5123,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5124,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5128,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5129,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5131,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5137,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5138,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5140,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5146
        line_start: 5146
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5151
      start: 5049
    functionDepth: 0
    functionLinenumber: 5049
    functionLinenumberEnd: 5151
    functionName: roaring::internal::container_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_bitset_container_lazy_union
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_or(const container_t *c1,\n                                             uint8_t
      type1,\n                                             const container_t *c2,\n
      \                                            uint8_t type2,\n                                             uint8_t
      *result_type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5165,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5166,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5168,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5169,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5171,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5173,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5174,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5182,1
    - Dst: roaring::internal::array_array_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5183,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5184,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5184,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5192,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5194,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5194,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5197,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5198,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5203,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5205,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5207,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5208,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5212,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5213,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5213,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5214,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5219,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5219,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5220,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5221,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5225,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5226,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5226,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5230,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5231,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5236,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5237,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5239,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5240,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5241,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5244,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5245,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5245,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5246,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5247,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5247,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 64
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5250
        line_start: 5250
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5255
      start: 5162
    functionDepth: 0
    functionLinenumber: 5162
    functionLinenumberEnd: 5255
    functionName: roaring::internal::container_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_container_is_full
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::array_array_container_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ior(container_t *c1, uint8_t type1,\n                                         const
      container_t *c2, uint8_t type2,\n                                         uint8_t
      *result_type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5273,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5275,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5277,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5278,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5282,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5284,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5285,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5290,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5290,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5291,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5291,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5297,1
    - Dst: roaring::internal::array_array_container_lazy_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5298,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5299,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5299,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5307,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5310,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5310,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5313,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5314,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5314,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5315,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5316,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5320,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5322,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5324,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5324,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5325,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5326,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5329,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5330,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5330,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5331,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5336,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5337,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5337,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5338,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5342,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5343,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5343,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5347,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5348,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5348,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5349,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5350,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5354,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5355,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5357,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5364,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5365,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5365,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5366,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5272
        line_start: 5272
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5373
        line_start: 5373
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5378
      start: 5269
    functionDepth: 0
    functionLinenumber: 5269
    functionLinenumberEnd: 5378
    functionName: roaring::internal::container_lazy_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - roaring::internal::run_bitset_container_lazy_union
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ior(container_t *c1, uint8_t type1,\n
      \                                             const container_t *c2,\n                                              uint8_t
      type2,\n                                              uint8_t *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5388,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5389,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5391,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5392,1
    - Dst: roaring::internal::bitset_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5394,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5394,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5395,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5400,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5402,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5402,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5403,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5408,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5409,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5410,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5410,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5413,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5415,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5415,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5416,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5421,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5423,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5423,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5424,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5429,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5431,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5431,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5432,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5437,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5439,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5439,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5440,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5445,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5446,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5447,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5447,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5450,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5451,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5452,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5452,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5455
        line_start: 5455
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5460
      start: 5385
    functionDepth: 0
    functionLinenumber: 5385
    functionLinenumberEnd: 5460
    functionName: roaring::internal::container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_xor
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_bitset_container_xor
    - const_CAST_run
    - assert
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::array_array_container_xor
    - roaring::internal::array_bitset_container_xor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_xor(const container_t *c1, uint8_t type1,\n
      \                                        const container_t *c2, uint8_t type2,\n
      \                                        uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5475,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5476,1
    - Dst: roaring::internal::container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5476,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5477,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5478,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5479,1
    - Dst: roaring::internal::bitset_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5483,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5483,1
    - Dst: roaring::internal::array_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5486,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5486,1
    - Dst: roaring::internal::run_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5489,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5489,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - c
    - type
    - lo
    - hi
    - offset
    argTypes:
    - container_t*
    - uint8_t
    - container_t**
    - container_t**
    - uint16_t
    assertStmts:
    - condition: (offset != 0)
      pos:
        line_end: 5474
        line_start: 5474
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (lo != NULL || hi != NULL)
      pos:
        line_end: 5476
        line_start: 5476
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (container_nonzero_cardinality(c, type))
      pos:
        line_end: 5475
        line_start: 5475
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (lo == NULL || *lo == NULL)
      pos:
        line_end: 5477
        line_start: 5477
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (hi == NULL || *hi == NULL)
      pos:
        line_end: 5478
        line_start: 5478
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5491
        line_start: 5491
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5496
      start: 5472
    functionDepth: 0
    functionLinenumber: 5472
    functionLinenumberEnd: 5496
    functionName: roaring::internal::container_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_offset
    - const_CAST_bitset
    - roaring::internal::array_container_offset
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_offset
    - roaring::internal::container_nonzero_cardinality
    linkageType: ''
    returnType: void
    signature: "void container_add_offset(const container_t *c, uint8_t type,\n                                        container_t
      **lo, container_t **hi,\n                                        uint16_t offset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5511,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5512,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5514,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5515,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5516,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5517,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5517,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5518,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5519,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5523,1
    - Dst: roaring::internal::array_array_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5525,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5525,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5526,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5531,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5533,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5534,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5534,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5537,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5538,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5540,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5540,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5541,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5542,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5545,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5546,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5548,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5548,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5549,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5550,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5553,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5554,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5555,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5560,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5561,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5562,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5567,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5568,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5569,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5569,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5570,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5570,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5576,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5577,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5578,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5578,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5579,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5579,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5585
        line_start: 5585
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5590
      start: 5506
    functionDepth: 0
    functionLinenumber: 5506
    functionLinenumberEnd: 5590
    functionName: roaring::internal::container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - bitset_container_xor_nocard
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_lazy_xor
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::run_bitset_container_lazy_xor
    - roaring::internal::run_container_create
    - roaring::internal::array_bitset_container_lazy_xor
    - CAST_run
    - CONTAINER_PAIR
    - roaring::internal::bitset_container_create
    - roaring::internal::array_array_container_lazy_xor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_xor(const container_t *c1,\n                                              uint8_t
      type1,\n                                              const container_t *c2,\n
      \                                             uint8_t type2,\n                                              uint8_t
      *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5604,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5605,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5607,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5608,1
    - Dst: roaring::internal::bitset_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5609,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5610,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5610,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5615,1
    - Dst: roaring::internal::array_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5616,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5617,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5617,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5622,1
    - Dst: roaring::internal::run_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5623,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5624,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5624,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5627,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5628,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5629,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5629,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5634,1
    - Dst: roaring::internal::array_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5635,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5636,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5636,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5641,1
    - Dst: roaring::internal::bitset_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5642,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5643,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5643,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5649,1
    - Dst: roaring::internal::run_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5650,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5651,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5651,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5656,1
    - Dst: roaring::internal::array_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5657,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5658,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5658,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5661,1
    - Dst: roaring::internal::run_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5662,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5663,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5663,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5666
        line_start: 5666
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5671
      start: 5601
    functionDepth: 0
    functionLinenumber: 5601
    functionLinenumberEnd: 5671
    functionName: roaring::internal::container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_run_container_ixor
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_array_container_ixor
    - roaring::internal::array_bitset_container_ixor
    - const_CAST_array
    - roaring::internal::run_run_container_ixor
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::array_array_container_ixor
    - CAST_array
    - assert
    - roaring::internal::array_run_container_ixor
    - roaring::internal::run_bitset_container_ixor
    - roaring::internal::bitset_bitset_container_ixor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ixor(container_t *c1, uint8_t type1,\n                                          const
      container_t *c2, uint8_t type2,\n                                          uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5689,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5691,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5692,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5693,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5695,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5705,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5707,1
    - Dst: roaring::internal::container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5688
        line_start: 5688
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5712
      start: 5685
    functionDepth: 0
    functionLinenumber: 5685
    functionLinenumberEnd: 5712
    functionName: roaring::internal::container_lazy_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - bitset_container_xor_nocard
    - roaring::internal::bitset_container_compute_cardinality
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - assert
    - CAST_bitset
    - roaring::internal::container_ixor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ixor(container_t *c1, uint8_t type1,\n
      \                                              const container_t *c2,\n                                               uint8_t
      type2,\n                                               uint8_t *result_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5724,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5725,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5727,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5728,1
    - Dst: roaring::internal::bitset_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5730,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5730,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5731,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5736,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5737,1
    - Dst: roaring::internal::array_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5738,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5743,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5744,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5744,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5745,1
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5749,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5750,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5750,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5753,1
    - Dst: roaring::internal::bitset_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5755,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5756,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5761,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5762,1
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5763,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5763,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5764,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5765,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5769,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5770,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5770,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5771,1
    - Dst: roaring::internal::bitset_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5776,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5776,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5777,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5782,1
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5784,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5784,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5785,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5790,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5791,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5791,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5792,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5796,1
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5798,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5802,1
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5803,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5804,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5804,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5807
        line_start: 5807
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5812
      start: 5719
    functionDepth: 0
    functionLinenumber: 5719
    functionLinenumberEnd: 5812
    functionName: roaring::internal::container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_array_container_andnot
    - const_CAST_run
    - roaring::internal::run_run_container_andnot
    - roaring::internal::array_run_container_andnot
    - CONTAINER_PAIR
    - roaring::internal::bitset_array_container_andnot
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - const_CAST_array
    - roaring::internal::bitset_bitset_container_andnot
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_andnot
    - roaring::internal::array_array_container_andnot
    - roaring::internal::run_bitset_container_andnot
    - CAST_array
    - assert
    - roaring::internal::array_bitset_container_andnot
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_andnot(const container_t *c1,\n                                            uint8_t
      type1,\n                                            const container_t *c2,\n
      \                                           uint8_t type2,\n                                            uint8_t
      *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5828,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5829,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5831,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5832,1
    - Dst: roaring::internal::bitset_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5833,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5834,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5834,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5839,1
    - Dst: roaring::internal::array_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5844,1
    - Dst: roaring::internal::run_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5845,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5846,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5846,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5849,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5850,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5851,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5851,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5856,1
    - Dst: roaring::internal::array_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5858,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5858,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5859,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5862,1
    - Dst: roaring::internal::bitset_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5863,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5864,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5864,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5869,1
    - Dst: roaring::internal::run_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5870,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5871,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5871,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5876,1
    - Dst: roaring::internal::array_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5881,1
    - Dst: roaring::internal::run_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5882,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5883,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5883,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5886
        line_start: 5886
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5891
      start: 5824
    functionDepth: 0
    functionLinenumber: 5824
    functionLinenumberEnd: 5891
    functionName: roaring::internal::container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_array_container_iandnot
    - roaring::internal::bitset_array_container_iandnot
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_iandnot
    - const_CAST_array
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_iandnot
    - CAST_array
    - assert
    - roaring::internal::array_array_container_iandnot
    - roaring::internal::array_run_container_iandnot
    - roaring::internal::bitset_bitset_container_iandnot
    - roaring::internal::run_run_container_iandnot
    - roaring::internal::run_bitset_container_iandnot
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iandnot(container_t *c1, uint8_t type1,\n                                             const
      container_t *c2,\n                                             uint8_t type2,\n
      \                                            uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5901,1
    - Dst: roaring::internal::bitset_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5904,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5904,1
    - Dst: roaring::internal::array_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5907,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5907,1
    - Dst: roaring::internal::run_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5910,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5910,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5913,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - base
    - iterator
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5912
        line_start: 5912
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5915
        line_start: 5915
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5919
      start: 5898
    functionDepth: 0
    functionLinenumber: 5898
    functionLinenumberEnd: 5919
    functionName: roaring::internal::container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_iterate
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_iterate
    - assert
    - roaring::internal::run_container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate(const container_t *c, uint8_t type,\n                                     uint32_t
      base, roaring_iterator iterator,\n                                     void
      *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5925,1
    - Dst: roaring::internal::bitset_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5928,1
    - Dst: roaring::internal::array_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5931,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5931,1
    - Dst: roaring::internal::run_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5934,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5934,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5937,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5936
        line_start: 5936
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5939
        line_start: 5939
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5943
      start: 5921
    functionDepth: 0
    functionLinenumber: 5921
    functionLinenumberEnd: 5943
    functionName: roaring::internal::container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_iterate64
    - const_CAST_run
    - assert
    - roaring::internal::run_container_iterate64
    - roaring::internal::bitset_container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate64(const container_t *c, uint8_t type,\n                                       uint32_t
      base,\n                                       roaring_iterator64 iterator,\n
      \                                      uint64_t high_bits, void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5947,1
    - Dst: roaring::internal::bitset_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5952,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5952,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5957,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: roaring::internal::run_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5963,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5963,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5967,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5966
        line_start: 5966
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5969
        line_start: 5969
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5973
      start: 5945
    functionDepth: 0
    functionLinenumber: 5945
    functionLinenumberEnd: 5973
    functionName: roaring::internal::container_not
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_negation
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not(const container_t *c, uint8_t type,\n                                         uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5980,1
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5985,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5985,1
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5992,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5992,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5998,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5999,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6003,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6002
        line_start: 6002
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6005
        line_start: 6005
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6009
      start: 5975
    functionDepth: 0
    functionLinenumber: 5975
    functionLinenumberEnd: 6009
    functionName: roaring::internal::container_not_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_negation_range
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_negation_range
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not_range(const container_t *c,\n                                               uint8_t
      type,\n                                               uint32_t range_start,\n
      \                                              uint32_t range_end,\n                                               uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6013,1
    - Dst: roaring::internal::bitset_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6018,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6018,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6024,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6027,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6027,1
    - Dst: roaring::internal::run_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6031,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6031,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6035,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6034
        line_start: 6034
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6037
        line_start: 6037
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6041
      start: 6011
    functionDepth: 0
    functionLinenumber: 6011
    functionLinenumberEnd: 6041
    functionName: roaring::internal::container_inot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::run_container_negation_inplace
    - roaring::internal::array_container_free
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation_inplace
    - CAST_run
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot(container_t *c, uint8_t type,\n                                          uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6047,1
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6051,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6052,1
    - Dst: roaring::internal::array_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6057,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6058,1
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6063,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6064,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6068,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6067
        line_start: 6067
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6070
        line_start: 6070
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6074
      start: 6043
    functionDepth: 0
    functionLinenumber: 6043
    functionLinenumberEnd: 6074
    functionName: roaring::internal::container_inot_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    - CAST_array
    - roaring::internal::bitset_container_negation_range_inplace
    - roaring::internal::get_writable_copy_if_shared
    - roaring::internal::array_container_negation_range_inplace
    - CAST_bitset
    - assert
    - CAST_run
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot_range(container_t *c, uint8_t type,\n
      \                                               uint32_t range_start,\n                                                uint32_t
      range_end,\n                                                uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6087,1
    - Dst: roaring::internal::bitset_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6090,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6090,1
    - Dst: roaring::internal::array_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6093,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6093,1
    - Dst: roaring::internal::run_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6096,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6096,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6099,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - start_rank
    - rank
    - element
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6098
        line_start: 6098
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6101
        line_start: 6101
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6105
      start: 6084
    functionDepth: 0
    functionLinenumber: 6084
    functionLinenumberEnd: 6105
    functionName: roaring::internal::container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_select
    - assert
    - roaring::internal::run_container_select
    - roaring::internal::array_container_select
    linkageType: ''
    returnType: bool
    signature: "bool container_select(const container_t *c, uint8_t type,\n                                    uint32_t
      *start_rank, uint32_t rank,\n                                    uint32_t *element)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6108,1
    - Dst: roaring::internal::bitset_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6111,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6111,1
    - Dst: roaring::internal::array_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6113,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6113,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6115,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6115,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6117,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6116
        line_start: 6116
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6119
        line_start: 6119
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6123
      start: 6107
    functionDepth: 0
    functionLinenumber: 6107
    functionLinenumberEnd: 6123
    functionName: roaring::internal::container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_maximum
    - roaring::internal::run_container_maximum
    - roaring::internal::array_container_maximum
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t container_maximum(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6126,1
    - Dst: roaring::internal::bitset_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6129,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6129,1
    - Dst: roaring::internal::array_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6131,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6131,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6133,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6133,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6135,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6134
        line_start: 6134
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6137
        line_start: 6137
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6141
      start: 6125
    functionDepth: 0
    functionLinenumber: 6125
    functionLinenumberEnd: 6141
    functionName: roaring::internal::container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::array_container_minimum
    - assert
    - roaring::internal::run_container_minimum
    - roaring::internal::bitset_container_minimum
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t container_minimum(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6146,1
    - Dst: roaring::internal::bitset_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6149,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6149,1
    - Dst: roaring::internal::array_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6151,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6151,1
    - Dst: roaring::internal::run_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6153,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6153,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6155,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6154
        line_start: 6154
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6157
        line_start: 6157
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6161
      start: 6144
    functionDepth: 0
    functionLinenumber: 6144
    functionLinenumberEnd: 6161
    functionName: roaring::internal::container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_rank
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_rank
    - roaring::internal::array_container_rank
    linkageType: ''
    returnType: int
    signature: "int container_rank(const container_t *c, uint8_t type,\n                                 uint16_t
      x)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6168,1
    - Dst: roaring::internal::bitset_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6171,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6171,1
    - Dst: roaring::internal::array_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6174,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6174,1
    - Dst: roaring::internal::run_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6177,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6177,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6180,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - container_t*
    - uint8_t
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6179
        line_start: 6179
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6182
        line_start: 6182
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6186
      start: 6164
    functionDepth: 1
    functionLinenumber: 6164
    functionLinenumberEnd: 6186
    functionName: roaring::internal::container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_rank_many
    - assert
    - roaring::internal::bitset_container_rank_many
    - roaring::internal::array_container_rank_many
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t container_rank_many(const container_t *c, uint8_t type,\n
      \                                          uint64_t start_rank,\n                                           const
      uint32_t *begin,\n                                           const uint32_t
      *end, uint64_t *ans)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6191,1
    - Dst: roaring::internal::bitset_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6194,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6194,1
    - Dst: roaring::internal::array_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6196,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6196,1
    - Dst: roaring::internal::run_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6198,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6198,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6200,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6199
        line_start: 6199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6202
        line_start: 6202
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6206
      start: 6189
    functionDepth: 1
    functionLinenumber: 6189
    functionLinenumberEnd: 6206
    functionName: roaring::internal::container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_get_index
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_get_index
    - const_CAST_run
    - assert
    - roaring::internal::run_container_get_index
    linkageType: ''
    returnType: int
    signature: "int container_get_index(const container_t *c, uint8_t type,\n                                      uint16_t
      x)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6222,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6228,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6230,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6232,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6232,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6235,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6241,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6244,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6246,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6251,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6253,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6253,1
    - Dst: roaring::internal::array_container_add_range_nvals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6256,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6261,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6262,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6268,1
    - Dst: roaring::internal::rle16_count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6271,1
    - Dst: roaring::internal::rle16_count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6272,1
    - Dst: roaring::internal::run_container_add_range_nruns
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6281,1
    - Dst: roaring::internal::container_from_run_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6292
      start: 6216
    functionDepth: 0
    functionLinenumber: 6216
    functionLinenumberEnd: 6292
    functionName: roaring::internal::container_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - CAST_run
    - CAST_array
    - roaring::internal::run_container_add_range_nruns
    - roaring::internal::run_container_create_range
    - CAST_bitset
    - roaring::internal::rle16_count_less
    - roaring::internal::count_greater
    - roaring::internal::array_container_add_range_nvals
    - roaring::internal::count_less
    - INT32_C
    - roaring::internal::rle16_count_greater
    - roaring::internal::container_from_run_range
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add_range(container_t *c, uint8_t type,\n                                               uint32_t
      min, uint32_t max,\n                                               uint8_t *result_type)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6310,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6314,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6320,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6322,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6325,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6331,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6334,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6336,1
    - Dst: roaring::internal::array_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6344,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6350,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6355,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6356,1
    - Dst: roaring::internal::run_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6360,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6366
      start: 6305
    functionDepth: 0
    functionLinenumber: 6305
    functionLinenumberEnd: 6366
    functionName: roaring::internal::container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_remove_range
    - CAST_run
    - CAST_array
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::count_greater
    - roaring::internal::array_container_remove_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::count_less
    - roaring::internal::run_container_minimum
    - roaring::internal::run_container_maximum
    - roaring::internal::bitset_lenrange_cardinality
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove_range(container_t *c, uint8_t type,\n
      \                                                 uint32_t min, uint32_t max,\n
      \                                                 uint8_t *result_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type1
    - ','
    - type2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 4003
    functionDepth: 0
    functionLinenumber: 4003
    functionLinenumberEnd: 4004
    functionName: PAIR_CONTAINER_TYPES
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 112
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAIR_CONTAINER_TYPES(type1, type2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name1
    - ','
    - name2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4007
      start: 4005
    functionDepth: 0
    functionLinenumber: 4005
    functionLinenumberEnd: 4007
    functionName: CONTAINER_PAIR
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 112
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONTAINER_PAIR(name1, name2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4016
      start: 4012
    functionDepth: 0
    functionLinenumber: 4012
    functionLinenumberEnd: 4016
    functionName: roaring::internal::STRUCT_CONTAINER
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void STRUCT_CONTAINER(shared_container_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4021
      start: 4020
    functionDepth: 0
    functionLinenumber: 4020
    functionLinenumberEnd: 4021
    functionName: CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4022
      start: 4021
    functionDepth: 0
    functionLinenumber: 4021
    functionLinenumberEnd: 4022
    functionName: const_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_CAST_shared(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 4022
    functionDepth: 0
    functionLinenumber: 4022
    functionLinenumberEnd: 4023
    functionName: movable_CAST_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: movable_CAST_shared(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4049,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4050,1
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - candidate_shared_container
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4049
        line_start: 4049
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4055
      start: 4046
    functionDepth: 0
    functionLinenumber: 4046
    functionLinenumberEnd: 4055
    functionName: roaring::internal::container_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 246
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_unwrap_shared(\n    const container_t *candidate_shared_container,
      uint8_t *type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4061,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4062,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (*type != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 4061
        line_start: 4061
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4067
      start: 4058
    functionDepth: 0
    functionLinenumber: 4058
    functionLinenumberEnd: 4067
    functionName: roaring::internal::container_mutable_unwrap_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - CAST_shared
    - assert
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_mutable_unwrap_shared(container_t *c,\n                                                           uint8_t
      *type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4070
    functionDepth: 0
    functionLinenumber: 4070
    functionLinenumberEnd: 4076
    functionName: roaring::internal::get_container_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_shared
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_container_type(const container_t *c, uint8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::shared_container_extract_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4089,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4086
    functionDepth: 0
    functionLinenumber: 4086
    functionLinenumberEnd: 4093
    functionName: roaring::internal::get_writable_copy_if_shared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 67
    functionsReached:
    - CAST_shared
    - roaring::internal::shared_container_extract_copy
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_writable_copy_if_shared(container_t *c,\n                                                       uint8_t
      *type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4112,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4114,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4114,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4117,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4117,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4120,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4119
        line_start: 4119
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4122
        line_start: 4122
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4126
      start: 4107
    functionDepth: 0
    functionLinenumber: 4107
    functionLinenumberEnd: 4126
    functionName: roaring::internal::container_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_from_run
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bitset_container_t
    signature: "bitset_container_t *container_to_bitset(container_t *c,\n                                                      uint8_t
      typecode)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4159,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4167,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4172
        line_start: 4172
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4166
        line_start: 4166
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4179
      start: 4149
    functionDepth: 0
    functionLinenumber: 4149
    functionLinenumberEnd: 4179
    functionName: roaring::internal::get_full_container_name
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - const_CAST_shared
    linkageType: ''
    returnType: char
    signature: "char *get_full_container_name(const container_t *c,\n                                                  uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4186,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4189,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4189,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4191,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4191,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4193,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4193,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4194
        line_start: 4194
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4198
      start: 4184
    functionDepth: 0
    functionLinenumber: 4184
    functionLinenumberEnd: 4198
    functionName: roaring::internal::container_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int container_get_cardinality(const container_t *c,\n                                            uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4204,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4207,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4210,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4210,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4213,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4213,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4214
        line_start: 4214
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4218
      start: 4203
    functionDepth: 0
    functionLinenumber: 4203
    functionLinenumberEnd: 4218
    functionName: roaring::internal::container_is_full
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_cardinality
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: bool container_is_full(const container_t *c, uint8_t typecode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4221,1
    - Dst: roaring::internal::array_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4226,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4226,1
    - Dst: roaring::internal::run_container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4228,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4228,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4229
        line_start: 4229
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4233
      start: 4220
    functionDepth: 0
    functionLinenumber: 4220
    functionLinenumberEnd: 4233
    functionName: roaring::internal::container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_shrink_to_fit
    - assert
    - roaring::internal::container_mutable_unwrap_shared
    - CAST_run
    - roaring::internal::run_container_shrink_to_fit
    linkageType: ''
    returnType: int
    signature: int container_shrink_to_fit(container_t *c, uint8_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4244,1
    - Dst: roaring::internal::array_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4248,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - range_start
    - range_end
    - result_type
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (range_end >= range_start)
      pos:
        line_end: 4243
        line_start: 4243
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4253
      start: 4241
    functionDepth: 0
    functionLinenumber: 4241
    functionLinenumberEnd: 4253
    functionName: roaring::internal::container_range_of_ones
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - assert
    - roaring::internal::array_container_create_range
    - roaring::internal::run_container_create_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_range_of_ones(uint32_t range_start,\n                                                   uint32_t
      range_end,\n                                                   uint8_t *result_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4261,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4269,1
    - Dst: roaring::internal::array_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4270,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4271,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4275,1
    - Dst: roaring::internal::bitset_container_add_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4276,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - type
    - min
    - max
    - step
    argTypes:
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts:
    - condition: (array->cardinality == size)
      pos:
        line_end: 4270
        line_start: 4270
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (bitset->cardinality == size)
      pos:
        line_end: 4276
        line_start: 4276
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4280
      start: 4257
    functionDepth: 0
    functionLinenumber: 4257
    functionLinenumberEnd: 4280
    functionName: roaring::internal::container_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_range_of_ones
    - assert
    - roaring::internal::array_container_add_from_range
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_add_from_range
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_range(uint8_t *type, uint32_t min,\n                                                uint32_t
      max, uint16_t step)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4287,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4291,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4292,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4294,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4295,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4304,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4304,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4307,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4306
        line_start: 4306
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 4308
        line_start: 4308
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4312
      start: 4285
    functionDepth: 0
    functionLinenumber: 4285
    functionLinenumberEnd: 4312
    functionName: roaring::internal::container_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_repair_after_lazy(container_t *c,\n                                                       uint8_t
      *type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4324,1
    - Dst: roaring::internal::bitset_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4327,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4327,1
    - Dst: roaring::internal::array_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4329,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4329,1
    - Dst: roaring::internal::run_container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4331,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4331,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - c
    - typecode
    - buf
    argTypes:
    - container_t*
    - uint8_t
    - char*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4332
        line_start: 4332
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4336
      start: 4322
    functionDepth: 0
    functionLinenumber: 4322
    functionLinenumberEnd: 4336
    functionName: roaring::internal::container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_write
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_write
    - roaring::internal::bitset_container_write
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_write(const container_t *c, uint8_t typecode,\n
      \                                     char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4345,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4348,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4348,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4350,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4350,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4352,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4352,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4353
        line_start: 4353
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4357
      start: 4343
    functionDepth: 0
    functionLinenumber: 4343
    functionLinenumberEnd: 4357
    functionName: roaring::internal::container_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::run_container_size_in_bytes
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::array_container_size_in_bytes
    - roaring::internal::bitset_container_size_in_bytes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t container_size_in_bytes(const container_t *c,\n                                              uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4379,1
    - Dst: roaring::internal::bitset_container_const_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4382,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4383,1
    - Dst: roaring::internal::array_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4385,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4385,1
    - Dst: roaring::internal::run_container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4387,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4387,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4388
        line_start: 4388
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4392
      start: 4377
    functionDepth: 0
    functionLinenumber: 4377
    functionLinenumberEnd: 4392
    functionName: roaring::internal::container_nonzero_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_const_nonzero_cardinality
    - roaring::internal::array_container_nonzero_cardinality
    - roaring::internal::run_container_nonzero_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool container_nonzero_cardinality(const container_t *c,\n                                                 uint8_t
      typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4407,1
    - Dst: roaring::internal::bitset_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4410,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4411,1
    - Dst: roaring::internal::array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4413,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4413,1
    - Dst: roaring::internal::run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4416,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4416,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - output
    - c
    - typecode
    - base
    argTypes:
    - uint32_t*
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4418
        line_start: 4418
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4422
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4422
    functionName: roaring::internal::container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_to_uint32_array
    - assert
    - roaring::internal::run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int container_to_uint32_array(uint32_t *output,\n                                            const
      container_t *c,\n                                            uint8_t typecode,
      uint32_t base)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4434,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4437,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4437,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4441,1
    - Dst: roaring::internal::array_container_try_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4442,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4446,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4447,1
    - Dst: roaring::internal::run_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4454,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4454,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4457
        line_start: 4457
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4462
      start: 4430
    functionDepth: 0
    functionLinenumber: 4430
    functionLinenumberEnd: 4462
    functionName: roaring::internal::container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_add
    - CAST_array
    - roaring::internal::run_container_add
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::array_container_try_add
    - roaring::internal::bitset_container_set
    - CAST_run
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add(\n    container_t *c, uint16_t val,\n    uint8_t
      typecode,  // !!! should be second argument?\n    uint8_t *new_typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4475,1
    - Dst: roaring::internal::bitset_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4478,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4478,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4479,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4479,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4482,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4482,1
    - Dst: roaring::internal::array_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4489,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4489,1
    - Dst: roaring::internal::run_container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4493,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4493,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - c
    - val
    - typecode
    - new_typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4496
        line_start: 4496
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4501
      start: 4471
    functionDepth: 0
    functionLinenumber: 4471
    functionLinenumberEnd: 4501
    functionName: roaring::internal::container_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::bitset_container_cardinality
    - roaring::internal::run_container_remove
    - roaring::internal::bitset_container_remove
    - roaring::internal::array_container_from_bitset
    - CAST_run
    - roaring::internal::array_container_remove
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove(\n    container_t *c, uint16_t val,\n
      \   uint8_t typecode,  // !!! should be second argument?\n    uint8_t *new_typecode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4510,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4513,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4513,1
    - Dst: roaring::internal::array_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4515,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4515,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4517,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4517,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - c
    - val
    - typecode
    argTypes:
    - container_t*
    - uint16_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4518
        line_start: 4518
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4523
      start: 4506
    functionDepth: 0
    functionLinenumber: 4506
    functionLinenumberEnd: 4523
    functionName: roaring::internal::container_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_get
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains
    - roaring::internal::array_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool container_contains(\n    const container_t *c, uint16_t val,\n
      \   uint8_t typecode  // !!! should be second argument?\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4533,1
    - Dst: roaring::internal::bitset_container_get_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4536,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4536,1
    - Dst: roaring::internal::array_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4539,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4539,1
    - Dst: roaring::internal::run_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4542,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4542,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - c
    - range_start
    - range_end
    - typecode
    argTypes:
    - container_t*
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4544
        line_start: 4544
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4549
      start: 4529
    functionDepth: 0
    functionLinenumber: 4529
    functionLinenumberEnd: 4549
    functionName: roaring::internal::container_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::bitset_container_get_range
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_contains_range
    - const_CAST_run
    - assert
    - roaring::internal::run_container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool container_contains_range(\n    const container_t *c, uint32_t
      range_start, uint32_t range_end,\n    uint8_t typecode  // !!! should be second
      argument?\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4557,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4558,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4559,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4560,1
    - Dst: roaring::internal::bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4561,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4561,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4562,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4564,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4565,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4565,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4566,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4568,1
    - Dst: roaring::internal::run_container_equals_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4569,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4569,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4570,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4572,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4574,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4574,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4575,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4577,1
    - Dst: roaring::internal::array_container_equal_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4579,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4579,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4580,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4582,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4583,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4583,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4584,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4586,1
    - Dst: roaring::internal::run_container_equals_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4587,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4587,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4588,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4590,1
    - Dst: roaring::internal::array_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4591,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4592,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4594,1
    - Dst: roaring::internal::run_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4595,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4597
        line_start: 4597
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4602
      start: 4555
    functionDepth: 0
    functionLinenumber: 4555
    functionLinenumberEnd: 4602
    functionName: roaring::internal::container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_equals
    - roaring::internal::run_container_equals
    - roaring::internal::run_container_equals_bitset
    - roaring::internal::run_container_equals_array
    - roaring::internal::array_container_equals
    - CONTAINER_PAIR
    - roaring::internal::array_container_equal_bitset
    linkageType: ''
    returnType: bool
    signature: "bool container_equals(const container_t *c1, uint8_t type1,\n                                    const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4610,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4611,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4612,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4613,1
    - Dst: roaring::internal::bitset_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4614,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4614,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4615,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4617,1
    - Dst: roaring::internal::bitset_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4618,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4618,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4619,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4621,1
    - Dst: roaring::internal::run_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4622,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4622,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4623,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4625,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4628,1
    - Dst: roaring::internal::array_container_is_subset_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4629,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4629,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4630,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4632,1
    - Dst: roaring::internal::array_container_is_subset_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4633,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4633,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4634,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4636,1
    - Dst: roaring::internal::run_container_is_subset_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4637,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4637,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4638,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4640,1
    - Dst: roaring::internal::array_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4641,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4641,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4642,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4644,1
    - Dst: roaring::internal::run_container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4645,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4645,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4646,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4648
        line_start: 4648
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4653
      start: 4608
    functionDepth: 0
    functionLinenumber: 4608
    functionLinenumberEnd: 4653
    functionName: roaring::internal::container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_container_is_subset_bitset
    - const_CAST_array
    - roaring::internal::array_container_is_subset_bitset
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_is_subset_array
    - assert
    - roaring::internal::array_container_is_subset
    - roaring::internal::bitset_container_is_subset_run
    - roaring::internal::array_container_is_subset_run
    - CONTAINER_PAIR
    - roaring::internal::run_container_is_subset
    - roaring::internal::bitset_container_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool container_is_subset(const container_t *c1, uint8_t type1,\n                                       const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4665,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4666,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4668,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4669,1
    - Dst: roaring::internal::bitset_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4671,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4672,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4672,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4677,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4678,1
    - Dst: roaring::internal::array_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4679,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4680,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4684,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4685,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4686,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4687,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4688,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4688,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4691,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4692,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4693,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4693,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4694,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4695,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4699,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4700,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4702,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4702,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4703,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4704,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4707,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4709,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4710,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4710,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4715,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4717,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4718,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4718,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4723,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4724,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4726,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4727,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4730,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4731,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4733,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4734,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4737
        line_start: 4737
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4742
      start: 4662
    functionDepth: 0
    functionLinenumber: 4662
    functionLinenumberEnd: 4742
    functionName: roaring::internal::container_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection
    - const_CAST_bitset
    - CAST_array
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_bitset_container_intersection
    - roaring::internal::convert_run_to_efficient_container_and_free
    - assert
    - roaring::internal::array_container_intersection
    - roaring::internal::array_container_create
    - roaring::internal::array_bitset_container_intersection
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_and(const container_t *c1, uint8_t type1,\n
      \                                        const container_t *c2, uint8_t type2,\n
      \                                        uint8_t *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4751,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4752,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4753,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4754,1
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4756,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4758,1
    - Dst: roaring::internal::array_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4759,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4760,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4760,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4762,1
    - Dst: roaring::internal::run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4763,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4763,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4764,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4766,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4767,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4768,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4768,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4770,1
    - Dst: roaring::internal::array_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4771,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4772,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4772,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4774,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4775,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4776,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4776,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4778,1
    - Dst: roaring::internal::run_bitset_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4779,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4780,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4780,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4782,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4783,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4784,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4784,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4786,1
    - Dst: roaring::internal::array_run_container_intersection_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4787,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4788,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4788,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4790
        line_start: 4790
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4795
      start: 4747
    functionDepth: 0
    functionLinenumber: 4747
    functionLinenumberEnd: 4795
    functionName: roaring::internal::container_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersection_cardinality
    - const_CAST_bitset
    - roaring::internal::array_container_intersection_cardinality
    - bitset_container_and_justcard
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_bitset_container_intersection_cardinality
    - assert
    - roaring::internal::array_bitset_container_intersection_cardinality
    - roaring::internal::array_run_container_intersection_cardinality
    - CONTAINER_PAIR
    linkageType: ''
    returnType: int
    signature: "int container_and_cardinality(const container_t *c1,\n                                            uint8_t
      type1,\n                                            const container_t *c2,\n
      \                                           uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4802,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4803,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4804,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4805,1
    - Dst: roaring::internal::bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4806,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4806,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4807,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4809,1
    - Dst: roaring::internal::array_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4810,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4810,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4811,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4813,1
    - Dst: roaring::internal::run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4814,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4814,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4815,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4817,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4818,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4818,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4819,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4821,1
    - Dst: roaring::internal::array_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4822,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4822,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4823,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4825,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4826,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4826,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4827,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4829,1
    - Dst: roaring::internal::run_bitset_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4830,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4830,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4831,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4833,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4834,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4834,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4835,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4837,1
    - Dst: roaring::internal::array_run_container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4838,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4838,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4839,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - c1
    - type1
    - c2
    - type2
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4841
        line_start: 4841
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4846
      start: 4800
    functionDepth: 0
    functionLinenumber: 4800
    functionLinenumberEnd: 4846
    functionName: roaring::internal::container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_container_intersect
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_intersect
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_intersect
    - roaring::internal::run_bitset_container_intersect
    - roaring::internal::array_container_intersect
    - roaring::internal::array_run_container_intersect
    - CONTAINER_PAIR
    linkageType: ''
    returnType: bool
    signature: "bool container_intersect(const container_t *c1, uint8_t type1,\n                                       const
      container_t *c2, uint8_t type2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4860,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4861,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4863,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4864,1
    - Dst: roaring::internal::bitset_bitset_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4865,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4866,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4866,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4871,1
    - Dst: roaring::internal::array_container_intersection_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4872,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4872,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4873,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4877,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4878,1
    - Dst: roaring::internal::run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4879,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4880,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4883,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4883,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4886,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4888,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4889,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4889,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4890,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4891,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4895,1
    - Dst: roaring::internal::array_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4897,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4898,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4898,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4899,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4902,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4904,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4905,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4905,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4910,1
    - Dst: roaring::internal::run_bitset_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4912,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4913,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4913,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4918,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4919,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4921,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4922,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4925,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4926,1
    - Dst: roaring::internal::array_run_container_intersection
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4928,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4929,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 4932
        line_start: 4932
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 4937
      start: 4857
    functionDepth: 0
    functionLinenumber: 4857
    functionLinenumberEnd: 4937
    functionName: roaring::internal::container_iand
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_bitset_container_intersection
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_bitset_container_intersection_inplace
    - roaring::internal::array_bitset_container_intersection
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - roaring::internal::array_run_container_intersection
    - roaring::internal::array_container_intersection_inplace
    - const_CAST_array
    - roaring::internal::run_container_intersection
    - roaring::internal::container_unwrap_shared
    - CAST_array
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iand(container_t *c1, uint8_t type1,\n                                          const
      container_t *c2, uint8_t type2,\n                                          uint8_t
      *result_type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4947,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4948,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4950,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4951,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4952,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4953,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4954,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4958,1
    - Dst: roaring::internal::array_array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4960,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4960,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4961,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4966,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4967,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4968,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4969,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4972,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4973,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4976,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4977,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4978,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4978,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4979,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4980,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4984,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4985,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4986,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4986,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4987,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4988,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4992,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4993,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4993,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4994,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4996,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:4999,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5000,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5001,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5005,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5006,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5006,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5007,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5009,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5012,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5013,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5014,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5018,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5019,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5020,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5021,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5022,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5023,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5026,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5027,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5028,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5029,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5030,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5031,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5034
        line_start: 5034
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5039
      start: 4944
    functionDepth: 0
    functionLinenumber: 4944
    functionLinenumberEnd: 5039
    functionName: roaring::internal::container_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::array_array_container_union
    - const_CAST_run
    - CAST_bitset
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_or(const container_t *c1, uint8_t type1,\n
      \                                       const container_t *c2, uint8_t type2,\n
      \                                       uint8_t *result_type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5054,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5055,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5057,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5058,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5059,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5060,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5060,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5061,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5062,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5066,1
    - Dst: roaring::internal::array_array_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5068,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5068,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5069,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5074,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5075,1
    - Dst: roaring::internal::run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5076,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5077,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5080,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5081,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5084,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5085,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5086,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5086,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5087,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5088,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5092,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5093,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5094,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5094,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5095,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5096,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5100,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5101,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5101,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5102,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5104,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5107,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5108,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5108,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5109,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5110,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5114,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5115,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5115,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5116,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5118,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5121,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5122,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5122,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5123,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5124,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5128,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5129,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5130,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5131,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5137,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5138,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5139,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5140,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 65
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5146
        line_start: 5146
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5151
      start: 5049
    functionDepth: 0
    functionLinenumber: 5049
    functionLinenumberEnd: 5151
    functionName: roaring::internal::container_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_bitset_container_lazy_union
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_union
    - roaring::internal::bitset_container_create
    - assert
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_union
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_or(const container_t *c1,\n                                             uint8_t
      type1,\n                                             const container_t *c2,\n
      \                                            uint8_t type2,\n                                             uint8_t
      *result_type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5165,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5166,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5168,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5169,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5170,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5171,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5173,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5174,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5182,1
    - Dst: roaring::internal::array_array_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5183,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5184,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5184,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5192,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5193,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5194,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5194,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5197,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5198,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5199,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5203,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5205,1
    - Dst: roaring::internal::array_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5207,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5207,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5208,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5209,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5212,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5213,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5213,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5214,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5216,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5219,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5219,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5220,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5221,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5225,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5226,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5226,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5230,1
    - Dst: roaring::internal::run_bitset_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5231,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5232,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5236,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5237,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5238,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5239,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5240,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5241,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5244,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5245,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5245,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5246,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5247,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5247,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 64
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5250
        line_start: 5250
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5255
      start: 5162
    functionDepth: 0
    functionLinenumber: 5162
    functionLinenumberEnd: 5255
    functionName: roaring::internal::container_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_container_is_full
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_bitset_container_union
    - roaring::internal::array_array_container_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::run_bitset_container_union
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ior(container_t *c1, uint8_t type1,\n                                         const
      container_t *c2, uint8_t type2,\n                                         uint8_t
      *result_type)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5273,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5275,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5277,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5278,1
    - Dst: bitset_container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5281,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5282,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5284,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5285,1
    - Dst: bitset_container_or_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5290,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5290,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5291,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5291,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5297,1
    - Dst: roaring::internal::array_array_container_lazy_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5298,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5299,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5299,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5307,1
    - Dst: roaring::internal::run_container_union_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5308,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5310,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5310,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5313,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5314,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5314,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5315,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5316,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5320,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5322,1
    - Dst: roaring::internal::array_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5324,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5324,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5325,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5326,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5329,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5330,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5330,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5331,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5333,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5336,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5337,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5337,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5338,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5342,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5343,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5343,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5347,1
    - Dst: roaring::internal::run_bitset_container_lazy_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5348,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5348,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5349,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5350,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5354,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5355,1
    - Dst: roaring::internal::array_run_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5356,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5357,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5364,1
    - Dst: roaring::internal::array_run_container_inplace_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5365,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5365,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5366,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5272
        line_start: 5272
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5373
        line_start: 5373
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5378
      start: 5269
    functionDepth: 0
    functionLinenumber: 5269
    functionLinenumberEnd: 5378
    functionName: roaring::internal::container_lazy_ior
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::array_bitset_container_lazy_union
    - bitset_container_or_nocard
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_container_create_range
    - roaring::internal::run_bitset_container_lazy_union
    - bitset_container_or
    - const_CAST_array
    - roaring::internal::run_container_create
    - roaring::internal::array_run_container_union
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_array_container_lazy_inplace_union
    - roaring::internal::array_run_container_inplace_union
    - roaring::internal::bitset_container_create
    - CAST_array
    - assert
    - roaring::internal::run_container_union_inplace
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ior(container_t *c1, uint8_t type1,\n
      \                                             const container_t *c2,\n                                              uint8_t
      type2,\n                                              uint8_t *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5388,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5389,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5391,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5392,1
    - Dst: roaring::internal::bitset_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5394,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5394,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5395,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5400,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5402,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5402,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5403,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5408,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5409,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5410,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5410,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5413,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5415,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5415,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5416,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5421,1
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5423,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5423,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5424,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5429,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5431,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5431,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5432,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5437,1
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5439,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5439,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5440,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5445,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5446,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5447,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5447,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5450,1
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5451,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5452,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5452,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5455
        line_start: 5455
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5460
      start: 5385
    functionDepth: 0
    functionLinenumber: 5385
    functionLinenumberEnd: 5460
    functionName: roaring::internal::container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_xor
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_bitset_container_xor
    - const_CAST_run
    - assert
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::array_array_container_xor
    - roaring::internal::array_bitset_container_xor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_xor(const container_t *c1, uint8_t type1,\n
      \                                        const container_t *c2, uint8_t type2,\n
      \                                        uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5475,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5476,1
    - Dst: roaring::internal::container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5476,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5477,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5478,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5479,1
    - Dst: roaring::internal::bitset_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5483,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5483,1
    - Dst: roaring::internal::array_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5486,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5486,1
    - Dst: roaring::internal::run_container_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5489,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5489,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - c
    - type
    - lo
    - hi
    - offset
    argTypes:
    - container_t*
    - uint8_t
    - container_t**
    - container_t**
    - uint16_t
    assertStmts:
    - condition: (offset != 0)
      pos:
        line_end: 5474
        line_start: 5474
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (lo != NULL || hi != NULL)
      pos:
        line_end: 5476
        line_start: 5476
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (container_nonzero_cardinality(c, type))
      pos:
        line_end: 5475
        line_start: 5475
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (lo == NULL || *lo == NULL)
      pos:
        line_end: 5477
        line_start: 5477
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (hi == NULL || *hi == NULL)
      pos:
        line_end: 5478
        line_start: 5478
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5491
        line_start: 5491
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5496
      start: 5472
    functionDepth: 0
    functionLinenumber: 5472
    functionLinenumberEnd: 5496
    functionName: roaring::internal::container_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_offset
    - const_CAST_bitset
    - roaring::internal::array_container_offset
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_offset
    - roaring::internal::container_nonzero_cardinality
    linkageType: ''
    returnType: void
    signature: "void container_add_offset(const container_t *c, uint8_t type,\n                                        container_t
      **lo, container_t **hi,\n                                        uint16_t offset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5511,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5512,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5514,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5515,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5516,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5517,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5517,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5518,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5519,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5523,1
    - Dst: roaring::internal::array_array_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5525,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5525,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5526,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5531,1
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5533,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5534,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5534,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5537,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5538,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5540,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5540,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5541,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5542,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5545,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5546,1
    - Dst: roaring::internal::array_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5548,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5548,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5549,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5550,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5553,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5554,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5555,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5556,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5560,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5561,1
    - Dst: roaring::internal::run_bitset_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5562,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5563,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5567,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5568,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5569,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5569,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5570,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5570,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5576,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5577,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5578,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5578,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5579,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5579,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5585
        line_start: 5585
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5590
      start: 5506
    functionDepth: 0
    functionLinenumber: 5506
    functionLinenumberEnd: 5590
    functionName: roaring::internal::container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - const_CAST_array
    - bitset_container_xor_nocard
    - roaring::internal::run_run_container_xor
    - roaring::internal::array_run_container_lazy_xor
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::run_bitset_container_lazy_xor
    - roaring::internal::run_container_create
    - roaring::internal::array_bitset_container_lazy_xor
    - CAST_run
    - CONTAINER_PAIR
    - roaring::internal::bitset_container_create
    - roaring::internal::array_array_container_lazy_xor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_xor(const container_t *c1,\n                                              uint8_t
      type1,\n                                              const container_t *c2,\n
      \                                             uint8_t type2,\n                                              uint8_t
      *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5604,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5605,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5607,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5608,1
    - Dst: roaring::internal::bitset_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5609,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5610,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5610,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5615,1
    - Dst: roaring::internal::array_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5616,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5617,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5617,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5622,1
    - Dst: roaring::internal::run_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5623,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5624,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5624,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5627,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5628,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5629,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5629,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5634,1
    - Dst: roaring::internal::array_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5635,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5636,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5636,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5641,1
    - Dst: roaring::internal::bitset_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5642,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5643,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5643,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5649,1
    - Dst: roaring::internal::run_bitset_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5650,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5651,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5651,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5656,1
    - Dst: roaring::internal::array_run_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5657,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5658,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5658,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5661,1
    - Dst: roaring::internal::run_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5662,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5663,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5663,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5666
        line_start: 5666
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5671
      start: 5601
    functionDepth: 0
    functionLinenumber: 5601
    functionLinenumberEnd: 5671
    functionName: roaring::internal::container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::bitset_run_container_ixor
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::run_array_container_ixor
    - roaring::internal::array_bitset_container_ixor
    - const_CAST_array
    - roaring::internal::run_run_container_ixor
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::array_array_container_ixor
    - CAST_array
    - assert
    - roaring::internal::array_run_container_ixor
    - roaring::internal::run_bitset_container_ixor
    - roaring::internal::bitset_bitset_container_ixor
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_ixor(container_t *c1, uint8_t type1,\n                                          const
      container_t *c2, uint8_t type2,\n                                          uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5689,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5691,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5692,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5693,1
    - Dst: bitset_container_xor_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5694,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5695,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5705,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5707,1
    - Dst: roaring::internal::container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 5688
        line_start: 5688
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5712
      start: 5685
    functionDepth: 0
    functionLinenumber: 5685
    functionLinenumberEnd: 5712
    functionName: roaring::internal::container_lazy_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - bitset_container_xor_nocard
    - roaring::internal::bitset_container_compute_cardinality
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - assert
    - CAST_bitset
    - roaring::internal::container_ixor
    - CONTAINER_PAIR
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_lazy_ixor(container_t *c1, uint8_t type1,\n
      \                                              const container_t *c2,\n                                               uint8_t
      type2,\n                                               uint8_t *result_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5724,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5725,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5727,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5728,1
    - Dst: roaring::internal::bitset_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5730,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5730,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5731,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5736,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5737,1
    - Dst: roaring::internal::array_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5738,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5739,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5743,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5744,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5744,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5745,1
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5749,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5750,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5750,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5753,1
    - Dst: roaring::internal::bitset_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5755,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5755,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5756,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5761,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5762,1
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5763,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5763,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5764,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5765,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5769,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5770,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5770,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5771,1
    - Dst: roaring::internal::bitset_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5776,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5776,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5777,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5782,1
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5784,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5784,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5785,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5790,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5791,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5791,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5792,1
    - Dst: roaring::internal::array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5796,1
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5797,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5798,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5802,1
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5803,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5804,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5804,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5807
        line_start: 5807
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5812
      start: 5719
    functionDepth: 0
    functionLinenumber: 5719
    functionLinenumberEnd: 5812
    functionName: roaring::internal::container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::run_array_container_andnot
    - const_CAST_run
    - roaring::internal::run_run_container_andnot
    - roaring::internal::array_run_container_andnot
    - CONTAINER_PAIR
    - roaring::internal::bitset_array_container_andnot
    - const_CAST_bitset
    - roaring::internal::array_container_create
    - const_CAST_array
    - roaring::internal::bitset_bitset_container_andnot
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_andnot
    - roaring::internal::array_array_container_andnot
    - roaring::internal::run_bitset_container_andnot
    - CAST_array
    - assert
    - roaring::internal::array_bitset_container_andnot
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_andnot(const container_t *c1,\n                                            uint8_t
      type1,\n                                            const container_t *c2,\n
      \                                           uint8_t type2,\n                                            uint8_t
      *result_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5828,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5829,1
    - Dst: PAIR_CONTAINER_TYPES
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5831,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5832,1
    - Dst: roaring::internal::bitset_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5833,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5834,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5834,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5839,1
    - Dst: roaring::internal::array_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5840,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5844,1
    - Dst: roaring::internal::run_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5845,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5846,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5846,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5849,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5850,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5851,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5851,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5856,1
    - Dst: roaring::internal::array_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5858,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5858,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5859,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5862,1
    - Dst: roaring::internal::bitset_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5863,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5864,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5864,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5869,1
    - Dst: roaring::internal::run_bitset_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5870,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5871,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5871,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5876,1
    - Dst: roaring::internal::array_run_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5878,1
    - Dst: CONTAINER_PAIR
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5881,1
    - Dst: roaring::internal::run_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5882,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5883,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5883,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 5
    argNames:
    - c1
    - type1
    - c2
    - type2
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5886
        line_start: 5886
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5891
      start: 5824
    functionDepth: 0
    functionLinenumber: 5824
    functionLinenumberEnd: 5891
    functionName: roaring::internal::container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - PAIR_CONTAINER_TYPES
    - roaring::internal::get_writable_copy_if_shared
    - const_CAST_run
    - CAST_bitset
    - roaring::internal::run_array_container_iandnot
    - roaring::internal::bitset_array_container_iandnot
    - CAST_run
    - CONTAINER_PAIR
    - const_CAST_bitset
    - roaring::internal::array_bitset_container_iandnot
    - const_CAST_array
    - roaring::internal::container_unwrap_shared
    - roaring::internal::bitset_run_container_iandnot
    - CAST_array
    - assert
    - roaring::internal::array_array_container_iandnot
    - roaring::internal::array_run_container_iandnot
    - roaring::internal::bitset_bitset_container_iandnot
    - roaring::internal::run_run_container_iandnot
    - roaring::internal::run_bitset_container_iandnot
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_iandnot(container_t *c1, uint8_t type1,\n                                             const
      container_t *c2,\n                                             uint8_t type2,\n
      \                                            uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5901,1
    - Dst: roaring::internal::bitset_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5904,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5904,1
    - Dst: roaring::internal::array_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5907,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5907,1
    - Dst: roaring::internal::run_container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5910,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5910,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5913,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - base
    - iterator
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5912
        line_start: 5912
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5915
        line_start: 5915
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5919
      start: 5898
    functionDepth: 0
    functionLinenumber: 5898
    functionLinenumberEnd: 5919
    functionName: roaring::internal::container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_iterate
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_iterate
    - assert
    - roaring::internal::run_container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate(const container_t *c, uint8_t type,\n                                     uint32_t
      base, roaring_iterator iterator,\n                                     void
      *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5925,1
    - Dst: roaring::internal::bitset_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5928,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5928,1
    - Dst: roaring::internal::array_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5931,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5931,1
    - Dst: roaring::internal::run_container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5934,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5934,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5937,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5936
        line_start: 5936
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5939
        line_start: 5939
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5943
      start: 5921
    functionDepth: 0
    functionLinenumber: 5921
    functionLinenumberEnd: 5943
    functionName: roaring::internal::container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_iterate64
    - const_CAST_run
    - assert
    - roaring::internal::run_container_iterate64
    - roaring::internal::bitset_container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool container_iterate64(const container_t *c, uint8_t type,\n                                       uint32_t
      base,\n                                       roaring_iterator64 iterator,\n
      \                                      uint64_t high_bits, void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5947,1
    - Dst: roaring::internal::bitset_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5952,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5952,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5957,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5959,1
    - Dst: roaring::internal::run_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5963,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5963,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5967,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 5966
        line_start: 5966
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 5969
        line_start: 5969
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 5973
      start: 5945
    functionDepth: 0
    functionLinenumber: 5945
    functionLinenumberEnd: 5973
    functionName: roaring::internal::container_not
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_negation
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - CAST_bitset
    - assert
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not(const container_t *c, uint8_t type,\n                                         uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5980,1
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5985,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5985,1
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5992,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5992,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5998,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:5999,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6003,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6002
        line_start: 6002
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6005
        line_start: 6005
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6009
      start: 5975
    functionDepth: 0
    functionLinenumber: 5975
    functionLinenumberEnd: 6009
    functionName: roaring::internal::container_not_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::array_container_negation_range
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::run_container_negation_range
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_not_range(const container_t *c,\n                                               uint8_t
      type,\n                                               uint32_t range_start,\n
      \                                              uint32_t range_end,\n                                               uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6013,1
    - Dst: roaring::internal::bitset_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6018,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6018,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6024,1
    - Dst: roaring::internal::array_container_negation
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6026,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6027,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6027,1
    - Dst: roaring::internal::run_container_negation_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6031,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6031,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6035,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - c
    - type
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6034
        line_start: 6034
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6037
        line_start: 6037
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6041
      start: 6011
    functionDepth: 0
    functionLinenumber: 6011
    functionLinenumberEnd: 6041
    functionName: roaring::internal::container_inot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CAST_array
    - roaring::internal::get_writable_copy_if_shared
    - assert
    - CAST_bitset
    - roaring::internal::run_container_negation_inplace
    - roaring::internal::array_container_free
    - roaring::internal::array_container_negation
    - roaring::internal::bitset_container_negation_inplace
    - CAST_run
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot(container_t *c, uint8_t type,\n                                          uint8_t
      *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6047,1
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6051,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6052,1
    - Dst: roaring::internal::array_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6057,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6058,1
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6063,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6064,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6068,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - c
    - type
    - range_start
    - range_end
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6067
        line_start: 6067
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6070
        line_start: 6070
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6074
      start: 6043
    functionDepth: 0
    functionLinenumber: 6043
    functionLinenumberEnd: 6074
    functionName: roaring::internal::container_inot_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    - CAST_array
    - roaring::internal::bitset_container_negation_range_inplace
    - roaring::internal::get_writable_copy_if_shared
    - roaring::internal::array_container_negation_range_inplace
    - CAST_bitset
    - assert
    - CAST_run
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_inot_range(container_t *c, uint8_t type,\n
      \                                               uint32_t range_start,\n                                                uint32_t
      range_end,\n                                                uint8_t *result_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6087,1
    - Dst: roaring::internal::bitset_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6090,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6090,1
    - Dst: roaring::internal::array_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6093,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6093,1
    - Dst: roaring::internal::run_container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6096,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6096,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6099,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 5
    argNames:
    - c
    - type
    - start_rank
    - rank
    - element
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6098
        line_start: 6098
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6101
        line_start: 6101
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6105
      start: 6084
    functionDepth: 0
    functionLinenumber: 6084
    functionLinenumberEnd: 6105
    functionName: roaring::internal::container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::bitset_container_select
    - assert
    - roaring::internal::run_container_select
    - roaring::internal::array_container_select
    linkageType: ''
    returnType: bool
    signature: "bool container_select(const container_t *c, uint8_t type,\n                                    uint32_t
      *start_rank, uint32_t rank,\n                                    uint32_t *element)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6108,1
    - Dst: roaring::internal::bitset_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6111,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6111,1
    - Dst: roaring::internal::array_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6113,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6113,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6115,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6115,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6117,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6116
        line_start: 6116
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6119
        line_start: 6119
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6123
      start: 6107
    functionDepth: 0
    functionLinenumber: 6107
    functionLinenumberEnd: 6123
    functionName: roaring::internal::container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_maximum
    - roaring::internal::run_container_maximum
    - roaring::internal::array_container_maximum
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t container_maximum(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6126,1
    - Dst: roaring::internal::bitset_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6129,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6129,1
    - Dst: roaring::internal::array_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6131,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6131,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6133,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6133,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6135,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6134
        line_start: 6134
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6137
        line_start: 6137
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6141
      start: 6125
    functionDepth: 0
    functionLinenumber: 6125
    functionLinenumberEnd: 6141
    functionName: roaring::internal::container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::array_container_minimum
    - assert
    - roaring::internal::run_container_minimum
    - roaring::internal::bitset_container_minimum
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t container_minimum(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6146,1
    - Dst: roaring::internal::bitset_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6149,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6149,1
    - Dst: roaring::internal::array_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6151,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6151,1
    - Dst: roaring::internal::run_container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6153,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6153,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6155,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6154
        line_start: 6154
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6157
        line_start: 6157
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6161
      start: 6144
    functionDepth: 0
    functionLinenumber: 6144
    functionLinenumberEnd: 6161
    functionName: roaring::internal::container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::run_container_rank
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - assert
    - roaring::internal::bitset_container_rank
    - roaring::internal::array_container_rank
    linkageType: ''
    returnType: int
    signature: "int container_rank(const container_t *c, uint8_t type,\n                                 uint16_t
      x)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6168,1
    - Dst: roaring::internal::bitset_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6171,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6171,1
    - Dst: roaring::internal::array_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6174,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6174,1
    - Dst: roaring::internal::run_container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6177,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6177,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6180,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - c
    - type
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - container_t*
    - uint8_t
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6179
        line_start: 6179
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6182
        line_start: 6182
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6186
      start: 6164
    functionDepth: 1
    functionLinenumber: 6164
    functionLinenumberEnd: 6186
    functionName: roaring::internal::container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_rank_many
    - assert
    - roaring::internal::bitset_container_rank_many
    - roaring::internal::array_container_rank_many
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t container_rank_many(const container_t *c, uint8_t type,\n
      \                                          uint64_t start_rank,\n                                           const
      uint32_t *begin,\n                                           const uint32_t
      *end, uint64_t *ans)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6191,1
    - Dst: roaring::internal::bitset_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6194,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6194,1
    - Dst: roaring::internal::array_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6196,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6196,1
    - Dst: roaring::internal::run_container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6198,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6198,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6200,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - c
    - type
    - x
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 6199
        line_start: 6199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 6202
        line_start: 6202
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6206
      start: 6189
    functionDepth: 1
    functionLinenumber: 6189
    functionLinenumberEnd: 6206
    functionName: roaring::internal::container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_get_index
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - roaring::internal::array_container_get_index
    - const_CAST_run
    - assert
    - roaring::internal::run_container_get_index
    linkageType: ''
    returnType: int
    signature: "int container_get_index(const container_t *c, uint8_t type,\n                                      uint16_t
      x)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6222,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6228,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6230,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6232,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6232,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6235,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6241,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6244,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6246,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6251,1
    - Dst: roaring::internal::run_container_create_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6253,1
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6253,1
    - Dst: roaring::internal::array_container_add_range_nvals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6256,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6261,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6262,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6268,1
    - Dst: roaring::internal::rle16_count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6271,1
    - Dst: roaring::internal::rle16_count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6272,1
    - Dst: roaring::internal::run_container_add_range_nruns
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6281,1
    - Dst: roaring::internal::container_from_run_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6292
      start: 6216
    functionDepth: 0
    functionLinenumber: 6216
    functionLinenumberEnd: 6292
    functionName: roaring::internal::container_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - CAST_run
    - CAST_array
    - roaring::internal::run_container_add_range_nruns
    - roaring::internal::run_container_create_range
    - CAST_bitset
    - roaring::internal::rle16_count_less
    - roaring::internal::count_greater
    - roaring::internal::array_container_add_range_nvals
    - roaring::internal::count_less
    - INT32_C
    - roaring::internal::rle16_count_greater
    - roaring::internal::container_from_run_range
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_add_range(container_t *c, uint8_t type,\n                                               uint32_t
      min, uint32_t max,\n                                               uint8_t *result_type)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6310,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6314,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6320,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6322,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6325,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6331,1
    - Dst: roaring::internal::count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6334,1
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6336,1
    - Dst: roaring::internal::array_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6344,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6350,1
    - Dst: roaring::internal::run_container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6355,1
    - Dst: roaring::internal::run_container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6356,1
    - Dst: roaring::internal::run_container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6360,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 5
    argNames:
    - c
    - type
    - min
    - max
    - result_type
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6366
      start: 6305
    functionDepth: 0
    functionLinenumber: 6305
    functionLinenumberEnd: 6366
    functionName: roaring::internal::container_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_remove_range
    - CAST_run
    - CAST_array
    - CAST_bitset
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::count_greater
    - roaring::internal::array_container_remove_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::count_less
    - roaring::internal::run_container_minimum
    - roaring::internal::run_container_maximum
    - roaring::internal::bitset_lenrange_cardinality
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_remove_range(container_t *c, uint8_t type,\n
      \                                                 uint32_t min, uint32_t max,\n
      \                                                 uint8_t *result_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - x
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6521
      start: 6518
    functionDepth: 0
    functionLinenumber: 6518
    functionLinenumberEnd: 6521
    functionName: roaring::internal::ra_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_index(const roaring_array_t *ra, uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ra
    - i
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6530
      start: 6526
    functionDepth: 0
    functionLinenumber: 6526
    functionLinenumberEnd: 6530
    functionName: roaring::internal::ra_get_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container_at_index(const roaring_array_t *ra,\n
      \                                             uint16_t i, uint8_t *typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6537
      start: 6535
    functionDepth: 0
    functionLinenumber: 6535
    functionLinenumberEnd: 6537
    functionName: roaring::internal::ra_get_key_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ra_get_key_at_index(const roaring_array_t *ra, uint16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ra
    - i
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6600
        line_start: 6600
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6604
      start: 6599
    functionDepth: 0
    functionLinenumber: 6599
    functionLinenumberEnd: 6604
    functionName: roaring::internal::ra_set_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_set_container_at_index(const roaring_array_t *ra, int32_t
      i,\n                                      container_t *c, uint8_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6616
      start: 6616
    functionDepth: 0
    functionLinenumber: 6616
    functionLinenumberEnd: 6616
    functionName: roaring::internal::ra_get_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6621
      start: 6618
    functionDepth: 0
    functionLinenumber: 6618
    functionLinenumberEnd: 6621
    functionName: roaring::internal::ra_advance_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ra_advance_until(const roaring_array_t *ra, uint16_t x,\n
      \                                      int32_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6630
        line_start: 6630
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6636
      start: 6627
    functionDepth: 0
    functionLinenumber: 6627
    functionLinenumberEnd: 6636
    functionName: roaring::internal::ra_replace_key_and_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_replace_key_and_container_at_index(roaring_array_t *ra,\n
      \                                                 int32_t i, uint16_t key,\n
      \                                                 container_t *c,\n                                                  uint8_t
      typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6697,1
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6696
        line_start: 6696
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6700
      start: 6695
    functionDepth: 0
    functionLinenumber: 6695
    functionLinenumberEnd: 6700
    functionName: roaring::internal::ra_unshare_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_writable_copy_if_shared
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_unshare_container_at_index(roaring_array_t *ra,\n                                                 uint16_t
      i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - x
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6521
      start: 6518
    functionDepth: 0
    functionLinenumber: 6518
    functionLinenumberEnd: 6521
    functionName: roaring::internal::ra_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_index(const roaring_array_t *ra, uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ra
    - i
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6530
      start: 6526
    functionDepth: 0
    functionLinenumber: 6526
    functionLinenumberEnd: 6530
    functionName: roaring::internal::ra_get_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container_at_index(const roaring_array_t *ra,\n
      \                                             uint16_t i, uint8_t *typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6537
      start: 6535
    functionDepth: 0
    functionLinenumber: 6535
    functionLinenumberEnd: 6537
    functionName: roaring::internal::ra_get_key_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ra_get_key_at_index(const roaring_array_t *ra, uint16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ra
    - i
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6600
        line_start: 6600
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6604
      start: 6599
    functionDepth: 0
    functionLinenumber: 6599
    functionLinenumberEnd: 6604
    functionName: roaring::internal::ra_set_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_set_container_at_index(const roaring_array_t *ra, int32_t
      i,\n                                      container_t *c, uint8_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6616
      start: 6616
    functionDepth: 0
    functionLinenumber: 6616
    functionLinenumberEnd: 6616
    functionName: roaring::internal::ra_get_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6621
      start: 6618
    functionDepth: 0
    functionLinenumber: 6618
    functionLinenumberEnd: 6621
    functionName: roaring::internal::ra_advance_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ra_advance_until(const roaring_array_t *ra, uint16_t x,\n
      \                                      int32_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6630
        line_start: 6630
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6636
      start: 6627
    functionDepth: 0
    functionLinenumber: 6627
    functionLinenumberEnd: 6636
    functionName: roaring::internal::ra_replace_key_and_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_replace_key_and_container_at_index(roaring_array_t *ra,\n
      \                                                 int32_t i, uint16_t key,\n
      \                                                 container_t *c,\n                                                  uint8_t
      typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6697,1
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6696
        line_start: 6696
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6700
      start: 6695
    functionDepth: 0
    functionLinenumber: 6695
    functionLinenumberEnd: 6700
    functionName: roaring::internal::ra_unshare_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_writable_copy_if_shared
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_unshare_container_at_index(roaring_array_t *ra,\n                                                 uint16_t
      i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - x
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6521
      start: 6518
    functionDepth: 0
    functionLinenumber: 6518
    functionLinenumberEnd: 6521
    functionName: roaring::internal::ra_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_index(const roaring_array_t *ra, uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ra
    - i
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6530
      start: 6526
    functionDepth: 0
    functionLinenumber: 6526
    functionLinenumberEnd: 6530
    functionName: roaring::internal::ra_get_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container_at_index(const roaring_array_t *ra,\n
      \                                             uint16_t i, uint8_t *typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6537
      start: 6535
    functionDepth: 0
    functionLinenumber: 6535
    functionLinenumberEnd: 6537
    functionName: roaring::internal::ra_get_key_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ra_get_key_at_index(const roaring_array_t *ra, uint16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ra
    - i
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6600
        line_start: 6600
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6604
      start: 6599
    functionDepth: 0
    functionLinenumber: 6599
    functionLinenumberEnd: 6604
    functionName: roaring::internal::ra_set_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_set_container_at_index(const roaring_array_t *ra, int32_t
      i,\n                                      container_t *c, uint8_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6616
      start: 6616
    functionDepth: 0
    functionLinenumber: 6616
    functionLinenumberEnd: 6616
    functionName: roaring::internal::ra_get_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6621
      start: 6618
    functionDepth: 0
    functionLinenumber: 6618
    functionLinenumberEnd: 6621
    functionName: roaring::internal::ra_advance_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ra_advance_until(const roaring_array_t *ra, uint16_t x,\n
      \                                      int32_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6630
        line_start: 6630
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6636
      start: 6627
    functionDepth: 0
    functionLinenumber: 6627
    functionLinenumberEnd: 6636
    functionName: roaring::internal::ra_replace_key_and_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_replace_key_and_container_at_index(roaring_array_t *ra,\n
      \                                                 int32_t i, uint16_t key,\n
      \                                                 container_t *c,\n                                                  uint8_t
      typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6697,1
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6696
        line_start: 6696
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6700
      start: 6695
    functionDepth: 0
    functionLinenumber: 6695
    functionLinenumberEnd: 6700
    functionName: roaring::internal::ra_unshare_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_writable_copy_if_shared
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_unshare_container_at_index(roaring_array_t *ra,\n                                                 uint16_t
      i)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - x
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6521
      start: 6518
    functionDepth: 0
    functionLinenumber: 6518
    functionLinenumberEnd: 6521
    functionName: roaring::internal::ra_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_index(const roaring_array_t *ra, uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ra
    - i
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6530
      start: 6526
    functionDepth: 0
    functionLinenumber: 6526
    functionLinenumberEnd: 6530
    functionName: roaring::internal::ra_get_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container_at_index(const roaring_array_t *ra,\n
      \                                             uint16_t i, uint8_t *typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6537
      start: 6535
    functionDepth: 0
    functionLinenumber: 6535
    functionLinenumberEnd: 6537
    functionName: roaring::internal::ra_get_key_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ra_get_key_at_index(const roaring_array_t *ra, uint16_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ra
    - i
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6600
        line_start: 6600
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6604
      start: 6599
    functionDepth: 0
    functionLinenumber: 6599
    functionLinenumberEnd: 6604
    functionName: roaring::internal::ra_set_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_set_container_at_index(const roaring_array_t *ra, int32_t
      i,\n                                      container_t *c, uint8_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6616
      start: 6616
    functionDepth: 0
    functionLinenumber: 6616
    functionLinenumberEnd: 6616
    functionName: roaring::internal::ra_get_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_get_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6621
      start: 6618
    functionDepth: 0
    functionLinenumber: 6618
    functionLinenumberEnd: 6621
    functionName: roaring::internal::ra_advance_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t ra_advance_until(const roaring_array_t *ra, uint16_t x,\n
      \                                      int32_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6630
        line_start: 6630
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6636
      start: 6627
    functionDepth: 0
    functionLinenumber: 6627
    functionLinenumberEnd: 6636
    functionName: roaring::internal::ra_replace_key_and_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_replace_key_and_container_at_index(roaring_array_t *ra,\n
      \                                                 int32_t i, uint16_t key,\n
      \                                                 container_t *c,\n                                                  uint8_t
      typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6697,1
    - Dst: roaring::internal::get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:6699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts:
    - condition: (i < ra->size)
      pos:
        line_end: 6696
        line_start: 6696
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 6700
      start: 6695
    functionDepth: 0
    functionLinenumber: 6695
    functionLinenumberEnd: 6700
    functionName: roaring::internal::ra_unshare_container_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_writable_copy_if_shared
    - assert
    linkageType: ''
    returnType: void
    signature: "void ra_unshare_container_at_index(roaring_array_t *ra,\n                                                 uint16_t
      i)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7381,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7382,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7384,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7387,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7388,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7389,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7390,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7391,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7397,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7402,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7407,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7410,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7412,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7413,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7414,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7415,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7421,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7426,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7446
      start: 7370
    functionDepth: 0
    functionLinenumber: 7370
    functionLinenumberEnd: 7446
    functionName: roaring::internal::intersect_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 intersect_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                           const uint16_t *__restrict__ B, size_t
      s_b,\n                           uint16_t *C)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7457,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7458,1
    - Dst: _mm256_cvtepu16_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7458,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7459,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7460,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - vout
    - array
    - cardinality
    - base
    argTypes:
    - void*
    - uint16_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7470
      start: 7448
    functionDepth: 0
    functionLinenumber: 7448
    functionLinenumberEnd: 7470
    functionName: roaring::internal::array_container_to_uint32_array_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_cvtepu16_epi32
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm_loadu_si128
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array_vector16(void *vout,
      const uint16_t *array,\n                                             size_t
      cardinality,\n                                             uint32_t base)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7481,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7482,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7483,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7486,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7489,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7490,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7491,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7492,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7493,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7497,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7498,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7498,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7503,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7508,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7513,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7516,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7518,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7519,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7520,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7521,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7525,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7526,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7526,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7531,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7536,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7563
      start: 7472
    functionDepth: 0
    functionLinenumber: 7472
    functionLinenumberEnd: 7563
    functionName: roaring::internal::intersect_vector16_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_vector16_inplace(uint16_t *__restrict__ A, size_t
      s_a,\n                                   const uint16_t *__restrict__ B, size_t
      s_b)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7578,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7579,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7581,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7584,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7585,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7591,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7596,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7601,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7604,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7605,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7611,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7616,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7635
      start: 7564
    functionDepth: 0
    functionLinenumber: 7564
    functionLinenumberEnd: 7635
    functionName: roaring::internal::intersect_vector16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 intersect_vector16_cardinality(const uint16_t
      *__restrict__ A,\n                                       size_t s_a,\n                                       const
      uint16_t *__restrict__ B,\n                                       size_t s_b)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7649,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7679,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7680,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7683,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7691,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7695,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7704,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7706,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7708,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7709,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7710,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7715,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7716,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7722,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7731,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7732,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7733,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7734,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7738,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7740,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7741,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7743,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7744,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7745,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7767,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7769,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts:
    - condition: ((size_t)count <= i_a)
      pos:
        line_end: 7766
        line_start: 7766
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 7779
      start: 7636
    functionDepth: 0
    functionLinenumber: 7636
    functionLinenumberEnd: 7779
    functionName: roaring::internal::difference_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - memmove
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - assert
    - _mm_loadu_si128
    - _mm_lddqu_si128
    - memset
    - _mm_storeu_si128
    - _mm_or_si128
    - memcpy
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 difference_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                            const uint16_t *__restrict__ B,
      size_t s_b,\n                            uint16_t *C)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 10
    argNames:
    - array
    - n
    - target1
    - target2
    - target3
    - target4
    - index1
    - index2
    - index3
    - index4
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7812
      start: 7791
    functionDepth: 0
    functionLinenumber: 7791
    functionLinenumberEnd: 7812
    functionName: roaring::internal::binarySearch4
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch4(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                         uint16_t target2, uint16_t target3, uint16_t target4,\n
      \                         int32_t *index1, int32_t *index2, int32_t *index3,\n
      \                         int32_t *index4)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - array
    - n
    - target1
    - target2
    - index1
    - index2
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7835
      start: 7822
    functionDepth: 0
    functionLinenumber: 7822
    functionLinenumberEnd: 7835
    functionName: roaring::internal::binarySearch2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch2(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                         uint16_t target2, int32_t *index1, int32_t *index2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch4
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7857,1
    - Dst: roaring::internal::binarySearch2
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7878,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7892,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - small
    - size_s
    - large
    - size_l
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7896
      start: 7843
    functionDepth: 0
    functionLinenumber: 7843
    functionLinenumberEnd: 7896
    functionName: roaring::internal::intersect_skewed_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::binarySearch
    - roaring::internal::binarySearch2
    - roaring::internal::binarySearch4
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16(const uint16_t *small, size_t size_s,\n
      \                               const uint16_t *large, size_t size_l,\n                                uint16_t
      *buffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7913,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7925,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7932
      start: 7899
    functionDepth: 0
    functionLinenumber: 7899
    functionLinenumberEnd: 7932
    functionName: roaring::internal::intersect_skewed_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16_cardinality(const uint16_t *small,\n
      \                                           size_t size_s,\n                                            const
      uint16_t *large,\n                                            size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7946,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7959
      start: 7934
    functionDepth: 0
    functionLinenumber: 7934
    functionLinenumberEnd: 7959
    functionName: roaring::internal::intersect_skewed_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool intersect_skewed_uint16_nonempty(const uint16_t *small, size_t
      size_s,\n                                      const uint16_t *large, size_t
      size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7987
      start: 7964
    functionDepth: 0
    functionLinenumber: 7964
    functionLinenumberEnd: 7987
    functionName: roaring::internal::intersect_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16(const uint16_t *A, const size_t lenA,\n                         const
      uint16_t *B, const size_t lenB, uint16_t *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8012
      start: 7989
    functionDepth: 0
    functionLinenumber: 7989
    functionLinenumberEnd: 8012
    functionName: roaring::internal::intersect_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16_cardinality(const uint16_t *A, const size_t
      lenA,\n                                     const uint16_t *B, const size_t
      lenB)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8035
      start: 8014
    functionDepth: 0
    functionLinenumber: 8014
    functionLinenumberEnd: 8035
    functionName: roaring::internal::intersect_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool intersect_uint16_nonempty(const uint16_t *A, const size_t lenA,\n
      \                              const uint16_t *B, const size_t lenB)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8064
      start: 8040
    functionDepth: 0
    functionLinenumber: 8040
    functionLinenumberEnd: 8064
    functionName: roaring::internal::intersection_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32(const uint32_t *A, const size_t lenA,\n
      \                          const uint32_t *B, const size_t lenB,\n                           uint32_t
      *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8089
      start: 8066
    functionDepth: 0
    functionLinenumber: 8066
    functionLinenumberEnd: 8089
    functionName: roaring::internal::intersection_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32_card(const uint32_t *A, const size_t lenA,\n
      \                               const uint32_t *B, const size_t lenB)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8099,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8103,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8132,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8141
      start: 8094
    functionDepth: 0
    functionLinenumber: 8094
    functionLinenumberEnd: 8141
    functionName: roaring::internal::union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint16(const uint16_t *set_1, size_t size_1, const uint16_t
      *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8149,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8169,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8178,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - a1
    - length1
    - a2
    - length2
    - a_out
    argTypes:
    - uint16_t*
    - int
    - uint16_t*
    - int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8186
      start: 8143
    functionDepth: 0
    functionLinenumber: 8143
    functionLinenumberEnd: 8186
    functionName: roaring::internal::difference_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int difference_uint16(const uint16_t *a1, int length1, const uint16_t
      *a2,\n                      int length2, uint16_t *a_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8209,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - array_1
    - card_1
    - array_2
    - card_2
    - out
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t*
    - int32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8217
      start: 8188
    functionDepth: 0
    functionLinenumber: 8188
    functionLinenumberEnd: 8217
    functionName: roaring::internal::xor_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t xor_uint16(const uint16_t *array_1, int32_t card_1,\n                   const
      uint16_t *array_2, int32_t card_2, uint16_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8236,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8237,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8238,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8239,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8240,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8241,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8242,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8243,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8244,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8245,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8246,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8247,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8248,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8249,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8250,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8251,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8252,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8253,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8254,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8255,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8256,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8257,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8258,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 4
    argNames:
    - vInput1
    - vInput2
    - vecMin
    - vecMax
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8260
      start: 8225
    functionDepth: 0
    functionLinenumber: 8225
    functionLinenumberEnd: 8260
    functionName: roaring::internal::sse_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - _mm_min_epu16
    - _mm_max_epu16
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 sse_merge(const __m128i *vInput1,\n                             const
      __m128i *vInput2,              // input 1 & 2\n                             __m128i
      *vecMin, __m128i *vecMax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8610,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8612,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8614,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8615,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8616,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8619
      start: 8606
    functionDepth: 0
    functionLinenumber: 8606
    functionLinenumberEnd: 8619
    functionName: roaring::internal::store_unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_lddqu_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 store_unique(__m128i old, __m128i newval, uint16_t
      *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8632
      start: 8620
    functionDepth: 0
    functionLinenumber: 8620
    functionLinenumberEnd: 8632
    functionName: roaring::internal::unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: CROARING_UNTARGET_AVX2 unique(uint16_t *out, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8637
      start: 8635
    functionDepth: 0
    functionLinenumber: 8635
    functionLinenumberEnd: 8637
    functionName: roaring::internal::uint16_compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uint16_compare(const void *a, const void *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8646,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8656,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8658,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8660,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8661,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8662,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8670,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8678,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8686,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8687,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8690,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8691,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8700,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8702,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8705,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8707,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8708,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8711,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8714,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8715,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8716,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8720
      start: 8639
    functionDepth: 0
    functionLinenumber: 8639
    functionLinenumberEnd: 8720
    functionName: roaring::internal::union_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::union_uint16
    - roaring::internal::sse_merge
    - _mm_set1_epi16
    - roaring::internal::unique
    - roaring::internal::store_unique
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 union_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                        const uint16_t *__restrict__ array2,
      uint32_t length2,\n                        uint16_t *__restrict__ output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8737,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8738,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8739,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8740,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8741,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8742,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8743,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8743,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8744,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8745,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8746,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8749
      start: 8721
    functionDepth: 0
    functionLinenumber: 8721
    functionLinenumberEnd: 8749
    functionName: roaring::internal::store_unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_lddqu_si128
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_or_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 store_unique_xor(__m128i old, __m128i newval,\n
      \                                  uint16_t *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8763
      start: 8750
    functionDepth: 0
    functionLinenumber: 8750
    functionLinenumberEnd: 8763
    functionName: roaring::internal::unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: CROARING_UNTARGET_AVX2 unique_xor(uint16_t *out, uint32_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8770,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8780,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8782,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8784,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8785,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8787,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8796,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8804,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8812,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8816,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8819,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8823,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8833,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8834,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8835,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8838,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8842,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8846,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8847,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8848,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8852,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8856,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8860,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8861,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8862,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8867
      start: 8764
    functionDepth: 0
    functionLinenumber: 8764
    functionLinenumberEnd: 8867
    functionName: roaring::internal::xor_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::store_unique_xor
    - roaring::internal::unique_xor
    - _mm_set1_epi16
    - roaring::internal::sse_merge
    - _mm_extract_epi16
    - roaring::internal::xor_uint16
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 xor_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                      const uint16_t *__restrict__ array2,
      uint32_t length2,\n                      uint16_t *__restrict__ output)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8880,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8884,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8913,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8917,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8922
      start: 8875
    functionDepth: 0
    functionLinenumber: 8875
    functionLinenumberEnd: 8922
    functionName: roaring::internal::union_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32(const uint32_t *set_1, size_t size_1, const uint32_t
      *set_2,\n                    size_t size_2, uint32_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8966
      start: 8924
    functionDepth: 0
    functionLinenumber: 8924
    functionLinenumberEnd: 8966
    functionName: roaring::internal::union_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32_card(const uint32_t *set_1, size_t size_1,\n                         const
      uint32_t *set_2, size_t size_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8972,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8975,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8978,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8984,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8986,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8992,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8997
      start: 8968
    functionDepth: 1
    functionLinenumber: 8968
    functionLinenumberEnd: 8997
    functionName: roaring::internal::fast_union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::union_uint16
    - roaring::internal::union_vector16
    linkageType: ''
    returnType: size_t
    signature: "size_t fast_union_uint16(const uint16_t *set_1, size_t size_1,\n                         const
      uint16_t *set_2, size_t size_2,\n                         uint16_t *buffer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9010,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9011,1
    - Dst: _mm512_cmpeq_epi8_mask
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9013,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9024,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9025,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9026,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9026,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9036,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9054
      start: 9000
    functionDepth: 0
    functionLinenumber: 9000
    functionLinenumberEnd: 9054
    functionName: roaring::internal::_avx512_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_movemask_epi8
    - _mm256_cmpeq_epi8
    - _mm512_cmpeq_epi8_mask
    - _mm512_loadu_si512
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: CROARING_TARGET_AVX512 _avx512_memequals(const void *s1, const void
      *s2, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9067,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9068,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9069,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9069,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9079,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9080,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9097
      start: 9058
    functionDepth: 0
    functionLinenumber: 9058
    functionLinenumberEnd: 9097
    functionName: roaring::internal::_avx2_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm256_loadu_si256
    - memcpy
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 _avx2_memequals(const void *s1, const void *s2,
      size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9106,1
    - Dst: roaring::internal::_avx512_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9109,1
    - Dst: roaring::internal::_avx2_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9113,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9115,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9120
      start: 9101
    functionDepth: 1
    functionLinenumber: 9101
    functionLinenumberEnd: 9120
    functionName: roaring::internal::memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::_avx512_memequals
    - roaring::internal::croaring_hardware_support
    - memcmp
    - roaring::internal::_avx2_memequals
    linkageType: ''
    returnType: bool
    signature: bool memequals(const void *s1, const void *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9133,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9134,1
    - Dst: _mm512_cvtepu16_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9134,1
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9135,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9136,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - vout
    - array
    - cardinality
    - base
    argTypes:
    - void*
    - uint16_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9146
      start: 9124
    functionDepth: 0
    functionLinenumber: 9124
    functionLinenumberEnd: 9146
    functionName: roaring::internal::avx512_array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - _mm512_cvtepu16_epi32
    - _mm512_storeu_si512
    - _mm512_set1_epi32
    - _mm512_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: "CROARING_TARGET_AVX512 avx512_array_container_to_uint32_array(void
      *vout, const uint16_t *array,\n                                           size_t
      cardinality, uint32_t base)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7381,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7382,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7384,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7387,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7388,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7389,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7390,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7391,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7397,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7402,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7407,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7410,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7412,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7413,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7414,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7415,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7421,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7426,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7446
      start: 7370
    functionDepth: 0
    functionLinenumber: 7370
    functionLinenumberEnd: 7446
    functionName: roaring::internal::intersect_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 intersect_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                           const uint16_t *__restrict__ B, size_t
      s_b,\n                           uint16_t *C)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7457,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7458,1
    - Dst: _mm256_cvtepu16_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7458,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7459,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7460,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - vout
    - array
    - cardinality
    - base
    argTypes:
    - void*
    - uint16_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7470
      start: 7448
    functionDepth: 0
    functionLinenumber: 7448
    functionLinenumberEnd: 7470
    functionName: roaring::internal::array_container_to_uint32_array_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_cvtepu16_epi32
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm_loadu_si128
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array_vector16(void *vout,
      const uint16_t *array,\n                                             size_t
      cardinality,\n                                             uint32_t base)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7481,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7482,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7483,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7486,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7489,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7490,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7491,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7492,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7493,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7497,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7498,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7498,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7503,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7508,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7513,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7516,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7518,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7519,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7520,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7521,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7525,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7526,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7526,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7531,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7536,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7563
      start: 7472
    functionDepth: 0
    functionLinenumber: 7472
    functionLinenumberEnd: 7563
    functionName: roaring::internal::intersect_vector16_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_vector16_inplace(uint16_t *__restrict__ A, size_t
      s_a,\n                                   const uint16_t *__restrict__ B, size_t
      s_b)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7578,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7579,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7581,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7584,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7585,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7591,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7596,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7601,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7604,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7605,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7611,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7616,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7635
      start: 7564
    functionDepth: 0
    functionLinenumber: 7564
    functionLinenumberEnd: 7635
    functionName: roaring::internal::intersect_vector16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 intersect_vector16_cardinality(const uint16_t
      *__restrict__ A,\n                                       size_t s_a,\n                                       const
      uint16_t *__restrict__ B,\n                                       size_t s_b)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7649,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7679,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7680,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7683,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7691,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7695,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7704,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7706,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7708,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7709,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7710,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7715,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7716,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7722,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7731,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7732,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7733,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7734,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7738,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7740,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7741,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7743,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7744,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7745,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7767,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7769,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts:
    - condition: ((size_t)count <= i_a)
      pos:
        line_end: 7766
        line_start: 7766
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 7779
      start: 7636
    functionDepth: 0
    functionLinenumber: 7636
    functionLinenumberEnd: 7779
    functionName: roaring::internal::difference_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - memmove
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - assert
    - _mm_loadu_si128
    - _mm_lddqu_si128
    - memset
    - _mm_storeu_si128
    - _mm_or_si128
    - memcpy
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 difference_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                            const uint16_t *__restrict__ B,
      size_t s_b,\n                            uint16_t *C)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 10
    argNames:
    - array
    - n
    - target1
    - target2
    - target3
    - target4
    - index1
    - index2
    - index3
    - index4
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7812
      start: 7791
    functionDepth: 0
    functionLinenumber: 7791
    functionLinenumberEnd: 7812
    functionName: roaring::internal::binarySearch4
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch4(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                         uint16_t target2, uint16_t target3, uint16_t target4,\n
      \                         int32_t *index1, int32_t *index2, int32_t *index3,\n
      \                         int32_t *index4)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - array
    - n
    - target1
    - target2
    - index1
    - index2
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7835
      start: 7822
    functionDepth: 0
    functionLinenumber: 7822
    functionLinenumberEnd: 7835
    functionName: roaring::internal::binarySearch2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch2(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                         uint16_t target2, int32_t *index1, int32_t *index2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch4
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7857,1
    - Dst: roaring::internal::binarySearch2
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7878,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7892,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - small
    - size_s
    - large
    - size_l
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7896
      start: 7843
    functionDepth: 0
    functionLinenumber: 7843
    functionLinenumberEnd: 7896
    functionName: roaring::internal::intersect_skewed_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::binarySearch
    - roaring::internal::binarySearch2
    - roaring::internal::binarySearch4
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16(const uint16_t *small, size_t size_s,\n
      \                               const uint16_t *large, size_t size_l,\n                                uint16_t
      *buffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7913,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7925,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7932
      start: 7899
    functionDepth: 0
    functionLinenumber: 7899
    functionLinenumberEnd: 7932
    functionName: roaring::internal::intersect_skewed_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16_cardinality(const uint16_t *small,\n
      \                                           size_t size_s,\n                                            const
      uint16_t *large,\n                                            size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7946,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7959
      start: 7934
    functionDepth: 0
    functionLinenumber: 7934
    functionLinenumberEnd: 7959
    functionName: roaring::internal::intersect_skewed_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool intersect_skewed_uint16_nonempty(const uint16_t *small, size_t
      size_s,\n                                      const uint16_t *large, size_t
      size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7987
      start: 7964
    functionDepth: 0
    functionLinenumber: 7964
    functionLinenumberEnd: 7987
    functionName: roaring::internal::intersect_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16(const uint16_t *A, const size_t lenA,\n                         const
      uint16_t *B, const size_t lenB, uint16_t *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8012
      start: 7989
    functionDepth: 0
    functionLinenumber: 7989
    functionLinenumberEnd: 8012
    functionName: roaring::internal::intersect_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16_cardinality(const uint16_t *A, const size_t
      lenA,\n                                     const uint16_t *B, const size_t
      lenB)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8035
      start: 8014
    functionDepth: 0
    functionLinenumber: 8014
    functionLinenumberEnd: 8035
    functionName: roaring::internal::intersect_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool intersect_uint16_nonempty(const uint16_t *A, const size_t lenA,\n
      \                              const uint16_t *B, const size_t lenB)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8064
      start: 8040
    functionDepth: 0
    functionLinenumber: 8040
    functionLinenumberEnd: 8064
    functionName: roaring::internal::intersection_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32(const uint32_t *A, const size_t lenA,\n
      \                          const uint32_t *B, const size_t lenB,\n                           uint32_t
      *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8089
      start: 8066
    functionDepth: 0
    functionLinenumber: 8066
    functionLinenumberEnd: 8089
    functionName: roaring::internal::intersection_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32_card(const uint32_t *A, const size_t lenA,\n
      \                               const uint32_t *B, const size_t lenB)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8099,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8103,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8132,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8141
      start: 8094
    functionDepth: 0
    functionLinenumber: 8094
    functionLinenumberEnd: 8141
    functionName: roaring::internal::union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 18
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint16(const uint16_t *set_1, size_t size_1, const uint16_t
      *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8149,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8169,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8178,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - a1
    - length1
    - a2
    - length2
    - a_out
    argTypes:
    - uint16_t*
    - int
    - uint16_t*
    - int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8186
      start: 8143
    functionDepth: 0
    functionLinenumber: 8143
    functionLinenumberEnd: 8186
    functionName: roaring::internal::difference_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int difference_uint16(const uint16_t *a1, int length1, const uint16_t
      *a2,\n                      int length2, uint16_t *a_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8209,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - array_1
    - card_1
    - array_2
    - card_2
    - out
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t*
    - int32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8217
      start: 8188
    functionDepth: 0
    functionLinenumber: 8188
    functionLinenumberEnd: 8217
    functionName: roaring::internal::xor_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t xor_uint16(const uint16_t *array_1, int32_t card_1,\n                   const
      uint16_t *array_2, int32_t card_2, uint16_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8236,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8237,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8238,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8239,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8240,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8241,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8242,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8243,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8244,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8245,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8246,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8247,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8248,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8249,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8250,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8251,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8252,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8253,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8254,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8255,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8256,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8257,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8258,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 4
    argNames:
    - vInput1
    - vInput2
    - vecMin
    - vecMax
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8260
      start: 8225
    functionDepth: 0
    functionLinenumber: 8225
    functionLinenumberEnd: 8260
    functionName: roaring::internal::sse_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - _mm_min_epu16
    - _mm_max_epu16
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 sse_merge(const __m128i *vInput1,\n                             const
      __m128i *vInput2,              // input 1 & 2\n                             __m128i
      *vecMin, __m128i *vecMax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8610,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8612,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8614,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8615,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8616,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8619
      start: 8606
    functionDepth: 0
    functionLinenumber: 8606
    functionLinenumberEnd: 8619
    functionName: roaring::internal::store_unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_lddqu_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 store_unique(__m128i old, __m128i newval, uint16_t
      *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8632
      start: 8620
    functionDepth: 0
    functionLinenumber: 8620
    functionLinenumberEnd: 8632
    functionName: roaring::internal::unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: CROARING_UNTARGET_AVX2 unique(uint16_t *out, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8637
      start: 8635
    functionDepth: 0
    functionLinenumber: 8635
    functionLinenumberEnd: 8637
    functionName: roaring::internal::uint16_compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uint16_compare(const void *a, const void *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8646,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8656,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8658,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8660,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8661,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8662,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8670,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8678,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8686,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8687,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8690,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8691,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8700,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8702,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8705,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8707,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8708,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8711,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8714,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8715,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8716,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8720
      start: 8639
    functionDepth: 0
    functionLinenumber: 8639
    functionLinenumberEnd: 8720
    functionName: roaring::internal::union_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::union_uint16
    - roaring::internal::sse_merge
    - _mm_set1_epi16
    - roaring::internal::unique
    - roaring::internal::store_unique
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 union_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                        const uint16_t *__restrict__ array2,
      uint32_t length2,\n                        uint16_t *__restrict__ output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8737,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8738,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8739,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8740,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8741,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8742,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8743,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8743,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8744,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8745,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8746,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8749
      start: 8721
    functionDepth: 0
    functionLinenumber: 8721
    functionLinenumberEnd: 8749
    functionName: roaring::internal::store_unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_lddqu_si128
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_or_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 store_unique_xor(__m128i old, __m128i newval,\n
      \                                  uint16_t *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8763
      start: 8750
    functionDepth: 0
    functionLinenumber: 8750
    functionLinenumberEnd: 8763
    functionName: roaring::internal::unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: CROARING_UNTARGET_AVX2 unique_xor(uint16_t *out, uint32_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8770,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8780,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8782,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8784,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8785,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8787,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8796,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8804,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8812,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8816,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8819,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8823,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8833,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8834,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8835,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8838,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8842,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8846,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8847,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8848,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8852,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8856,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8860,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8861,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8862,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8867
      start: 8764
    functionDepth: 0
    functionLinenumber: 8764
    functionLinenumberEnd: 8867
    functionName: roaring::internal::xor_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::store_unique_xor
    - roaring::internal::unique_xor
    - _mm_set1_epi16
    - roaring::internal::sse_merge
    - _mm_extract_epi16
    - roaring::internal::xor_uint16
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 xor_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                      const uint16_t *__restrict__ array2,
      uint32_t length2,\n                      uint16_t *__restrict__ output)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8880,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8884,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8913,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8917,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8922
      start: 8875
    functionDepth: 0
    functionLinenumber: 8875
    functionLinenumberEnd: 8922
    functionName: roaring::internal::union_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32(const uint32_t *set_1, size_t size_1, const uint32_t
      *set_2,\n                    size_t size_2, uint32_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8966
      start: 8924
    functionDepth: 0
    functionLinenumber: 8924
    functionLinenumberEnd: 8966
    functionName: roaring::internal::union_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32_card(const uint32_t *set_1, size_t size_1,\n                         const
      uint32_t *set_2, size_t size_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8972,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8975,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8978,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8984,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8986,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8992,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8997
      start: 8968
    functionDepth: 1
    functionLinenumber: 8968
    functionLinenumberEnd: 8997
    functionName: roaring::internal::fast_union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::union_uint16
    - roaring::internal::union_vector16
    linkageType: ''
    returnType: size_t
    signature: "size_t fast_union_uint16(const uint16_t *set_1, size_t size_1,\n                         const
      uint16_t *set_2, size_t size_2,\n                         uint16_t *buffer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9010,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9011,1
    - Dst: _mm512_cmpeq_epi8_mask
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9013,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9024,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9025,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9026,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9026,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9036,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9054
      start: 9000
    functionDepth: 0
    functionLinenumber: 9000
    functionLinenumberEnd: 9054
    functionName: roaring::internal::_avx512_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_movemask_epi8
    - _mm256_cmpeq_epi8
    - _mm512_cmpeq_epi8_mask
    - _mm512_loadu_si512
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: CROARING_TARGET_AVX512 _avx512_memequals(const void *s1, const void
      *s2, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9067,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9068,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9069,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9069,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9079,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9080,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9097
      start: 9058
    functionDepth: 0
    functionLinenumber: 9058
    functionLinenumberEnd: 9097
    functionName: roaring::internal::_avx2_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - _mm256_loadu_si256
    - memcpy
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 _avx2_memequals(const void *s1, const void *s2,
      size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9106,1
    - Dst: roaring::internal::_avx512_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9109,1
    - Dst: roaring::internal::_avx2_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9113,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9115,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9120
      start: 9101
    functionDepth: 1
    functionLinenumber: 9101
    functionLinenumberEnd: 9120
    functionName: roaring::internal::memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::_avx512_memequals
    - roaring::internal::croaring_hardware_support
    - memcmp
    - roaring::internal::_avx2_memequals
    linkageType: ''
    returnType: bool
    signature: bool memequals(const void *s1, const void *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9133,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9134,1
    - Dst: _mm512_cvtepu16_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9134,1
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9135,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9136,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - vout
    - array
    - cardinality
    - base
    argTypes:
    - void*
    - uint16_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9146
      start: 9124
    functionDepth: 0
    functionLinenumber: 9124
    functionLinenumberEnd: 9146
    functionName: roaring::internal::avx512_array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - _mm512_cvtepu16_epi32
    - _mm512_storeu_si512
    - _mm512_set1_epi32
    - _mm512_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: "CROARING_TARGET_AVX512 avx512_array_container_to_uint32_array(void
      *vout, const uint16_t *array,\n                                           size_t
      cardinality, uint32_t base)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7381,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7382,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7384,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7387,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7388,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7389,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7390,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7391,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7397,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7402,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7407,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7410,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7412,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7413,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7414,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7415,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7421,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7426,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7446
      start: 7370
    functionDepth: 0
    functionLinenumber: 7370
    functionLinenumberEnd: 7446
    functionName: roaring::internal::intersect_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 intersect_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                           const uint16_t *__restrict__ B, size_t
      s_b,\n                           uint16_t *C)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7457,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7458,1
    - Dst: _mm256_cvtepu16_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7458,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7459,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7460,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - vout
    - array
    - cardinality
    - base
    argTypes:
    - void*
    - uint16_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7470
      start: 7448
    functionDepth: 0
    functionLinenumber: 7448
    functionLinenumberEnd: 7470
    functionName: roaring::internal::array_container_to_uint32_array_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_cvtepu16_epi32
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm_loadu_si128
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array_vector16(void *vout,
      const uint16_t *array,\n                                             size_t
      cardinality,\n                                             uint32_t base)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7481,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7482,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7483,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7486,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7489,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7490,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7491,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7492,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7493,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7497,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7498,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7498,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7503,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7508,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7513,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7516,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7518,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7519,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7520,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7521,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7525,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7526,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7526,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7531,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7536,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7563
      start: 7472
    functionDepth: 0
    functionLinenumber: 7472
    functionLinenumberEnd: 7563
    functionName: roaring::internal::intersect_vector16_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_vector16_inplace(uint16_t *__restrict__ A, size_t
      s_a,\n                                   const uint16_t *__restrict__ B, size_t
      s_b)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7578,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7579,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7581,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7584,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7585,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7591,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7596,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7601,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7604,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7605,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7611,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7616,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7635
      start: 7564
    functionDepth: 0
    functionLinenumber: 7564
    functionLinenumberEnd: 7635
    functionName: roaring::internal::intersect_vector16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 intersect_vector16_cardinality(const uint16_t
      *__restrict__ A,\n                                       size_t s_a,\n                                       const
      uint16_t *__restrict__ B,\n                                       size_t s_b)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7649,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7679,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7680,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7683,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7691,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7695,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7704,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7706,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7708,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7709,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7710,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7715,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7716,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7722,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7731,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7732,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7733,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7734,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7738,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7740,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7741,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7743,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7744,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7745,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7767,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7769,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts:
    - condition: ((size_t)count <= i_a)
      pos:
        line_end: 7766
        line_start: 7766
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 7779
      start: 7636
    functionDepth: 0
    functionLinenumber: 7636
    functionLinenumberEnd: 7779
    functionName: roaring::internal::difference_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - memmove
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - assert
    - _mm_loadu_si128
    - _mm_lddqu_si128
    - memset
    - _mm_storeu_si128
    - _mm_or_si128
    - memcpy
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 difference_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                            const uint16_t *__restrict__ B,
      size_t s_b,\n                            uint16_t *C)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 10
    argNames:
    - array
    - n
    - target1
    - target2
    - target3
    - target4
    - index1
    - index2
    - index3
    - index4
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7812
      start: 7791
    functionDepth: 0
    functionLinenumber: 7791
    functionLinenumberEnd: 7812
    functionName: roaring::internal::binarySearch4
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch4(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                         uint16_t target2, uint16_t target3, uint16_t target4,\n
      \                         int32_t *index1, int32_t *index2, int32_t *index3,\n
      \                         int32_t *index4)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - array
    - n
    - target1
    - target2
    - index1
    - index2
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7835
      start: 7822
    functionDepth: 0
    functionLinenumber: 7822
    functionLinenumberEnd: 7835
    functionName: roaring::internal::binarySearch2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch2(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                         uint16_t target2, int32_t *index1, int32_t *index2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch4
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7857,1
    - Dst: roaring::internal::binarySearch2
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7878,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7892,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - small
    - size_s
    - large
    - size_l
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7896
      start: 7843
    functionDepth: 0
    functionLinenumber: 7843
    functionLinenumberEnd: 7896
    functionName: roaring::internal::intersect_skewed_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::binarySearch
    - roaring::internal::binarySearch2
    - roaring::internal::binarySearch4
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16(const uint16_t *small, size_t size_s,\n
      \                               const uint16_t *large, size_t size_l,\n                                uint16_t
      *buffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7913,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7925,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7932
      start: 7899
    functionDepth: 0
    functionLinenumber: 7899
    functionLinenumberEnd: 7932
    functionName: roaring::internal::intersect_skewed_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16_cardinality(const uint16_t *small,\n
      \                                           size_t size_s,\n                                            const
      uint16_t *large,\n                                            size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7946,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7959
      start: 7934
    functionDepth: 0
    functionLinenumber: 7934
    functionLinenumberEnd: 7959
    functionName: roaring::internal::intersect_skewed_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool intersect_skewed_uint16_nonempty(const uint16_t *small, size_t
      size_s,\n                                      const uint16_t *large, size_t
      size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7987
      start: 7964
    functionDepth: 0
    functionLinenumber: 7964
    functionLinenumberEnd: 7987
    functionName: roaring::internal::intersect_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16(const uint16_t *A, const size_t lenA,\n                         const
      uint16_t *B, const size_t lenB, uint16_t *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8012
      start: 7989
    functionDepth: 0
    functionLinenumber: 7989
    functionLinenumberEnd: 8012
    functionName: roaring::internal::intersect_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16_cardinality(const uint16_t *A, const size_t
      lenA,\n                                     const uint16_t *B, const size_t
      lenB)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8035
      start: 8014
    functionDepth: 0
    functionLinenumber: 8014
    functionLinenumberEnd: 8035
    functionName: roaring::internal::intersect_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool intersect_uint16_nonempty(const uint16_t *A, const size_t lenA,\n
      \                              const uint16_t *B, const size_t lenB)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8064
      start: 8040
    functionDepth: 0
    functionLinenumber: 8040
    functionLinenumberEnd: 8064
    functionName: roaring::internal::intersection_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32(const uint32_t *A, const size_t lenA,\n
      \                          const uint32_t *B, const size_t lenB,\n                           uint32_t
      *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8089
      start: 8066
    functionDepth: 0
    functionLinenumber: 8066
    functionLinenumberEnd: 8089
    functionName: roaring::internal::intersection_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32_card(const uint32_t *A, const size_t lenA,\n
      \                               const uint32_t *B, const size_t lenB)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8099,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8103,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8132,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8141
      start: 8094
    functionDepth: 0
    functionLinenumber: 8094
    functionLinenumberEnd: 8141
    functionName: roaring::internal::union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint16(const uint16_t *set_1, size_t size_1, const uint16_t
      *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8149,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8169,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8178,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - a1
    - length1
    - a2
    - length2
    - a_out
    argTypes:
    - uint16_t*
    - int
    - uint16_t*
    - int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8186
      start: 8143
    functionDepth: 0
    functionLinenumber: 8143
    functionLinenumberEnd: 8186
    functionName: roaring::internal::difference_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int difference_uint16(const uint16_t *a1, int length1, const uint16_t
      *a2,\n                      int length2, uint16_t *a_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8209,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - array_1
    - card_1
    - array_2
    - card_2
    - out
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t*
    - int32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8217
      start: 8188
    functionDepth: 0
    functionLinenumber: 8188
    functionLinenumberEnd: 8217
    functionName: roaring::internal::xor_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t xor_uint16(const uint16_t *array_1, int32_t card_1,\n                   const
      uint16_t *array_2, int32_t card_2, uint16_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8236,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8237,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8238,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8239,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8240,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8241,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8242,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8243,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8244,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8245,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8246,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8247,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8248,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8249,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8250,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8251,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8252,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8253,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8254,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8255,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8256,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8257,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8258,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 4
    argNames:
    - vInput1
    - vInput2
    - vecMin
    - vecMax
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8260
      start: 8225
    functionDepth: 0
    functionLinenumber: 8225
    functionLinenumberEnd: 8260
    functionName: roaring::internal::sse_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - _mm_min_epu16
    - _mm_max_epu16
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 sse_merge(const __m128i *vInput1,\n                             const
      __m128i *vInput2,              // input 1 & 2\n                             __m128i
      *vecMin, __m128i *vecMax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8610,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8612,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8614,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8615,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8616,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8619
      start: 8606
    functionDepth: 0
    functionLinenumber: 8606
    functionLinenumberEnd: 8619
    functionName: roaring::internal::store_unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_lddqu_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 store_unique(__m128i old, __m128i newval, uint16_t
      *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8632
      start: 8620
    functionDepth: 0
    functionLinenumber: 8620
    functionLinenumberEnd: 8632
    functionName: roaring::internal::unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: CROARING_UNTARGET_AVX2 unique(uint16_t *out, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8637
      start: 8635
    functionDepth: 0
    functionLinenumber: 8635
    functionLinenumberEnd: 8637
    functionName: roaring::internal::uint16_compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uint16_compare(const void *a, const void *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8646,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8656,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8658,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8660,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8661,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8662,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8670,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8678,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8686,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8687,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8690,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8691,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8700,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8702,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8705,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8707,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8708,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8711,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8714,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8715,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8716,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8720
      start: 8639
    functionDepth: 0
    functionLinenumber: 8639
    functionLinenumberEnd: 8720
    functionName: roaring::internal::union_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::union_uint16
    - roaring::internal::sse_merge
    - _mm_set1_epi16
    - roaring::internal::unique
    - roaring::internal::store_unique
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 union_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                        const uint16_t *__restrict__ array2,
      uint32_t length2,\n                        uint16_t *__restrict__ output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8737,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8738,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8739,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8740,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8741,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8742,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8743,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8743,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8744,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8745,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8746,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8749
      start: 8721
    functionDepth: 0
    functionLinenumber: 8721
    functionLinenumberEnd: 8749
    functionName: roaring::internal::store_unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_lddqu_si128
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_or_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 store_unique_xor(__m128i old, __m128i newval,\n
      \                                  uint16_t *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8763
      start: 8750
    functionDepth: 0
    functionLinenumber: 8750
    functionLinenumberEnd: 8763
    functionName: roaring::internal::unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: CROARING_UNTARGET_AVX2 unique_xor(uint16_t *out, uint32_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8770,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8780,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8782,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8784,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8785,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8787,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8796,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8804,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8812,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8816,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8819,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8823,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8833,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8834,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8835,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8838,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8842,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8846,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8847,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8848,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8852,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8856,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8860,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8861,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8862,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8867
      start: 8764
    functionDepth: 0
    functionLinenumber: 8764
    functionLinenumberEnd: 8867
    functionName: roaring::internal::xor_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::store_unique_xor
    - roaring::internal::unique_xor
    - _mm_set1_epi16
    - roaring::internal::sse_merge
    - _mm_extract_epi16
    - roaring::internal::xor_uint16
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 xor_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                      const uint16_t *__restrict__ array2,
      uint32_t length2,\n                      uint16_t *__restrict__ output)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8880,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8884,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8913,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8917,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8922
      start: 8875
    functionDepth: 0
    functionLinenumber: 8875
    functionLinenumberEnd: 8922
    functionName: roaring::internal::union_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32(const uint32_t *set_1, size_t size_1, const uint32_t
      *set_2,\n                    size_t size_2, uint32_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8966
      start: 8924
    functionDepth: 0
    functionLinenumber: 8924
    functionLinenumberEnd: 8966
    functionName: roaring::internal::union_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32_card(const uint32_t *set_1, size_t size_1,\n                         const
      uint32_t *set_2, size_t size_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8972,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8975,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8978,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8984,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8986,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8992,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8997
      start: 8968
    functionDepth: 1
    functionLinenumber: 8968
    functionLinenumberEnd: 8997
    functionName: roaring::internal::fast_union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::union_uint16
    - roaring::internal::union_vector16
    linkageType: ''
    returnType: size_t
    signature: "size_t fast_union_uint16(const uint16_t *set_1, size_t size_1,\n                         const
      uint16_t *set_2, size_t size_2,\n                         uint16_t *buffer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9010,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9011,1
    - Dst: _mm512_cmpeq_epi8_mask
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9013,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9024,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9025,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9026,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9026,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9036,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9054
      start: 9000
    functionDepth: 0
    functionLinenumber: 9000
    functionLinenumberEnd: 9054
    functionName: roaring::internal::_avx512_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_movemask_epi8
    - _mm256_cmpeq_epi8
    - _mm512_cmpeq_epi8_mask
    - _mm512_loadu_si512
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: CROARING_TARGET_AVX512 _avx512_memequals(const void *s1, const void
      *s2, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9067,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9068,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9069,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9069,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9079,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9080,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9097
      start: 9058
    functionDepth: 0
    functionLinenumber: 9058
    functionLinenumberEnd: 9097
    functionName: roaring::internal::_avx2_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - _mm256_loadu_si256
    - memcpy
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 _avx2_memequals(const void *s1, const void *s2,
      size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9106,1
    - Dst: roaring::internal::_avx512_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9109,1
    - Dst: roaring::internal::_avx2_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9113,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9115,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9120
      start: 9101
    functionDepth: 1
    functionLinenumber: 9101
    functionLinenumberEnd: 9120
    functionName: roaring::internal::memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::_avx512_memequals
    - roaring::internal::croaring_hardware_support
    - memcmp
    - roaring::internal::_avx2_memequals
    linkageType: ''
    returnType: bool
    signature: bool memequals(const void *s1, const void *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9133,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9134,1
    - Dst: _mm512_cvtepu16_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9134,1
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9135,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9136,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - vout
    - array
    - cardinality
    - base
    argTypes:
    - void*
    - uint16_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9146
      start: 9124
    functionDepth: 0
    functionLinenumber: 9124
    functionLinenumberEnd: 9146
    functionName: roaring::internal::avx512_array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - _mm512_cvtepu16_epi32
    - _mm512_storeu_si512
    - _mm512_set1_epi32
    - _mm512_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: "CROARING_TARGET_AVX512 avx512_array_container_to_uint32_array(void
      *vout, const uint16_t *array,\n                                           size_t
      cardinality, uint32_t base)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7381,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7382,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7384,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7387,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7388,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7389,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7390,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7391,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7397,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7402,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7407,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7410,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7412,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7413,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7414,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7415,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7421,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7426,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7446
      start: 7370
    functionDepth: 0
    functionLinenumber: 7370
    functionLinenumberEnd: 7446
    functionName: roaring::internal::intersect_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_extract_epi32
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 intersect_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                           const uint16_t *__restrict__ B, size_t
      s_b,\n                           uint16_t *C)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7457,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7458,1
    - Dst: _mm256_cvtepu16_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7458,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7459,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7460,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - vout
    - array
    - cardinality
    - base
    argTypes:
    - void*
    - uint16_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7470
      start: 7448
    functionDepth: 0
    functionLinenumber: 7448
    functionLinenumberEnd: 7470
    functionName: roaring::internal::array_container_to_uint32_array_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_cvtepu16_epi32
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm_loadu_si128
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array_vector16(void *vout,
      const uint16_t *array,\n                                             size_t
      cardinality,\n                                             uint32_t base)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7481,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7482,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7483,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7486,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7489,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7490,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7491,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7492,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7493,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7497,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7498,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7498,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7503,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7508,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7513,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7516,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7518,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7519,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7520,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7521,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7525,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7526,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7526,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7531,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7536,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7563
      start: 7472
    functionDepth: 0
    functionLinenumber: 7472
    functionLinenumberEnd: 7563
    functionName: roaring::internal::intersect_vector16_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - _mm_loadu_si128
    - _mm_storeu_si128
    - _mm_lddqu_si128
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_vector16_inplace(uint16_t *__restrict__ A, size_t
      s_a,\n                                   const uint16_t *__restrict__ B, size_t
      s_b)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7578,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7579,1
    - Dst: _mm_cmpestrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7581,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7584,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7585,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7591,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7596,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7601,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7604,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7605,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7611,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7616,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 4
    argNames:
    - A
    - s_a
    - B
    - s_b
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7635
      start: 7564
    functionDepth: 0
    functionLinenumber: 7564
    functionLinenumberEnd: 7635
    functionName: roaring::internal::intersect_vector16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - _mm_cmpestrm
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_lddqu_si128
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 intersect_vector16_cardinality(const uint16_t
      *__restrict__ A,\n                                       size_t s_a,\n                                       const
      uint16_t *__restrict__ B,\n                                       size_t s_b)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7649,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7679,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7680,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7683,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7691,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7695,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7704,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7706,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7708,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7709,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7710,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7715,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7716,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7722,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7731,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7732,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7733,1
    - Dst: _mm_cmpistrm
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7734,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7738,1
    - Dst: _mm_extract_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7740,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7741,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7743,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7744,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7745,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7767,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7769,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 5
    argNames:
    - A
    - s_a
    - B
    - s_b
    - C
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts:
    - condition: ((size_t)count <= i_a)
      pos:
        line_end: 7766
        line_start: 7766
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 7779
      start: 7636
    functionDepth: 0
    functionLinenumber: 7636
    functionLinenumberEnd: 7779
    functionName: roaring::internal::difference_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm_cmpistrm
    - memmove
    - _mm_popcnt_u32
    - _mm_extract_epi32
    - _mm_setzero_si128
    - _mm_shuffle_epi8
    - assert
    - _mm_loadu_si128
    - _mm_lddqu_si128
    - memset
    - _mm_storeu_si128
    - _mm_or_si128
    - memcpy
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 difference_vector16(const uint16_t *__restrict__
      A, size_t s_a,\n                            const uint16_t *__restrict__ B,
      size_t s_b,\n                            uint16_t *C)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 10
    argNames:
    - array
    - n
    - target1
    - target2
    - target3
    - target4
    - index1
    - index2
    - index3
    - index4
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7812
      start: 7791
    functionDepth: 0
    functionLinenumber: 7791
    functionLinenumberEnd: 7812
    functionName: roaring::internal::binarySearch4
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch4(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                         uint16_t target2, uint16_t target3, uint16_t target4,\n
      \                         int32_t *index1, int32_t *index2, int32_t *index3,\n
      \                         int32_t *index4)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - array
    - n
    - target1
    - target2
    - index1
    - index2
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t
    - uint16_t
    - int32_t*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7835
      start: 7822
    functionDepth: 0
    functionLinenumber: 7822
    functionLinenumberEnd: 7835
    functionName: roaring::internal::binarySearch2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void binarySearch2(const uint16_t *array, int32_t n, uint16_t target1,\n
      \                         uint16_t target2, int32_t *index1, int32_t *index2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch4
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7857,1
    - Dst: roaring::internal::binarySearch2
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7878,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7892,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 5
    argNames:
    - small
    - size_s
    - large
    - size_l
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7896
      start: 7843
    functionDepth: 0
    functionLinenumber: 7843
    functionLinenumberEnd: 7896
    functionName: roaring::internal::intersect_skewed_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::binarySearch
    - roaring::internal::binarySearch2
    - roaring::internal::binarySearch4
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16(const uint16_t *small, size_t size_s,\n
      \                               const uint16_t *large, size_t size_l,\n                                uint16_t
      *buffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7913,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7925,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7932
      start: 7899
    functionDepth: 0
    functionLinenumber: 7899
    functionLinenumberEnd: 7932
    functionName: roaring::internal::intersect_skewed_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_skewed_uint16_cardinality(const uint16_t *small,\n
      \                                           size_t size_s,\n                                            const
      uint16_t *large,\n                                            size_t size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:7946,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - small
    - size_s
    - large
    - size_l
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7959
      start: 7934
    functionDepth: 0
    functionLinenumber: 7934
    functionLinenumberEnd: 7959
    functionName: roaring::internal::intersect_skewed_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool intersect_skewed_uint16_nonempty(const uint16_t *small, size_t
      size_s,\n                                      const uint16_t *large, size_t
      size_l)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7987
      start: 7964
    functionDepth: 0
    functionLinenumber: 7964
    functionLinenumberEnd: 7987
    functionName: roaring::internal::intersect_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16(const uint16_t *A, const size_t lenA,\n                         const
      uint16_t *B, const size_t lenB, uint16_t *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8012
      start: 7989
    functionDepth: 0
    functionLinenumber: 7989
    functionLinenumberEnd: 8012
    functionName: roaring::internal::intersect_uint16_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t intersect_uint16_cardinality(const uint16_t *A, const size_t
      lenA,\n                                     const uint16_t *B, const size_t
      lenB)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8035
      start: 8014
    functionDepth: 0
    functionLinenumber: 8014
    functionLinenumberEnd: 8035
    functionName: roaring::internal::intersect_uint16_nonempty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool intersect_uint16_nonempty(const uint16_t *A, const size_t lenA,\n
      \                              const uint16_t *B, const size_t lenB)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - A
    - lenA
    - B
    - lenB
    - out
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8064
      start: 8040
    functionDepth: 0
    functionLinenumber: 8040
    functionLinenumberEnd: 8064
    functionName: roaring::internal::intersection_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32(const uint32_t *A, const size_t lenA,\n
      \                          const uint32_t *B, const size_t lenB,\n                           uint32_t
      *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - A
    - lenA
    - B
    - lenB
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8089
      start: 8066
    functionDepth: 0
    functionLinenumber: 8066
    functionLinenumberEnd: 8089
    functionName: roaring::internal::intersection_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t intersection_uint32_card(const uint32_t *A, const size_t lenA,\n
      \                               const uint32_t *B, const size_t lenB)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8099,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8103,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8132,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8141
      start: 8094
    functionDepth: 0
    functionLinenumber: 8094
    functionLinenumberEnd: 8141
    functionName: roaring::internal::union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 22
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint16(const uint16_t *set_1, size_t size_1, const uint16_t
      *set_2,\n                    size_t size_2, uint16_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8149,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8169,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8178,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - a1
    - length1
    - a2
    - length2
    - a_out
    argTypes:
    - uint16_t*
    - int
    - uint16_t*
    - int
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8186
      start: 8143
    functionDepth: 0
    functionLinenumber: 8143
    functionLinenumberEnd: 8186
    functionName: roaring::internal::difference_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int difference_uint16(const uint16_t *a1, int length1, const uint16_t
      *a2,\n                      int length2, uint16_t *a_out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8209,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - array_1
    - card_1
    - array_2
    - card_2
    - out
    argTypes:
    - uint16_t*
    - int32_t
    - uint16_t*
    - int32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8217
      start: 8188
    functionDepth: 0
    functionLinenumber: 8188
    functionLinenumberEnd: 8217
    functionName: roaring::internal::xor_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 11
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t xor_uint16(const uint16_t *array_1, int32_t card_1,\n                   const
      uint16_t *array_2, int32_t card_2, uint16_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8236,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8237,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8238,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8239,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8240,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8241,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8242,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8243,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8244,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8245,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8246,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8247,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8248,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8249,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8250,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8251,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8252,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8253,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8254,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8255,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8256,1
    - Dst: _mm_min_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8257,1
    - Dst: _mm_max_epu16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8258,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 4
    argNames:
    - vInput1
    - vInput2
    - vecMin
    - vecMax
    argTypes:
    - __m128i*
    - __m128i*
    - __m128i*
    - __m128i*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8260
      start: 8225
    functionDepth: 0
    functionLinenumber: 8225
    functionLinenumberEnd: 8260
    functionName: roaring::internal::sse_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - _mm_min_epu16
    - _mm_max_epu16
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 sse_merge(const __m128i *vInput1,\n                             const
      __m128i *vInput2,              // input 1 & 2\n                             __m128i
      *vecMin, __m128i *vecMax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8610,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8612,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8613,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8614,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8615,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8616,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8619
      start: 8606
    functionDepth: 0
    functionLinenumber: 8606
    functionLinenumberEnd: 8619
    functionName: roaring::internal::store_unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_lddqu_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 store_unique(__m128i old, __m128i newval, uint16_t
      *output)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8632
      start: 8620
    functionDepth: 0
    functionLinenumber: 8620
    functionLinenumberEnd: 8632
    functionName: roaring::internal::unique
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: CROARING_UNTARGET_AVX2 unique(uint16_t *out, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8637
      start: 8635
    functionDepth: 0
    functionLinenumber: 8635
    functionLinenumberEnd: 8637
    functionName: roaring::internal::uint16_compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uint16_compare(const void *a, const void *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8646,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8656,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8658,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8660,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8661,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8662,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8670,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8678,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8686,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8687,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8690,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8691,1
    - Dst: roaring::internal::store_unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8700,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8702,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8705,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8707,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8708,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8711,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8714,1
    - Dst: roaring::internal::unique
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8715,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8716,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8720
      start: 8639
    functionDepth: 0
    functionLinenumber: 8639
    functionLinenumberEnd: 8720
    functionName: roaring::internal::union_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::union_uint16
    - roaring::internal::sse_merge
    - _mm_set1_epi16
    - roaring::internal::unique
    - roaring::internal::store_unique
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 union_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                        const uint16_t *__restrict__ array2,
      uint32_t length2,\n                        uint16_t *__restrict__ output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8737,1
    - Dst: _mm_alignr_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8738,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8739,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8740,1
    - Dst: _mm_or_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8741,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8742,1
    - Dst: _mm_packs_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8743,1
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8743,1
    - Dst: _mm_popcnt_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8744,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8745,1
    - Dst: _mm_shuffle_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8746,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - old
    - newval
    - output
    argTypes:
    - __m128i
    - __m128i
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8749
      start: 8721
    functionDepth: 0
    functionLinenumber: 8721
    functionLinenumberEnd: 8749
    functionName: roaring::internal::store_unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - _mm_movemask_epi8
    - _mm_popcnt_u32
    - _mm_shuffle_epi8
    - _mm_setzero_si128
    - _mm_cmpeq_epi16
    - _mm_lddqu_si128
    - _mm_storeu_si128
    - _mm_packs_epi16
    - _mm_or_si128
    - _mm_alignr_epi8
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 store_unique_xor(__m128i old, __m128i newval,\n
      \                                  uint16_t *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - uint16_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8763
      start: 8750
    functionDepth: 0
    functionLinenumber: 8750
    functionLinenumberEnd: 8763
    functionName: roaring::internal::unique_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: CROARING_UNTARGET_AVX2 unique_xor(uint16_t *out, uint32_t len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8770,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8780,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8782,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8784,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8785,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8787,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8796,1
    - Dst: _mm_lddqu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8804,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8812,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8816,1
    - Dst: roaring::internal::sse_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8819,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8823,1
    - Dst: roaring::internal::store_unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8833,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8834,1
    - Dst: _mm_extract_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8835,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8838,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8842,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8846,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8847,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8848,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8852,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8856,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8860,1
    - Dst: roaring::internal::unique_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8861,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8862,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 5
    argNames:
    - array1
    - length1
    - array2
    - length2
    - output
    argTypes:
    - uint16_t*
    - uint32_t
    - uint16_t*
    - uint32_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8867
      start: 8764
    functionDepth: 0
    functionLinenumber: 8764
    functionLinenumberEnd: 8867
    functionName: roaring::internal::xor_vector16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::store_unique_xor
    - roaring::internal::unique_xor
    - _mm_set1_epi16
    - roaring::internal::sse_merge
    - _mm_extract_epi16
    - roaring::internal::xor_uint16
    - _mm_lddqu_si128
    - memcpy
    - qsort
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 xor_vector16(const uint16_t *__restrict__ array1,
      uint32_t length1,\n                      const uint16_t *__restrict__ array2,
      uint32_t length2,\n                      uint16_t *__restrict__ output)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8880,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8884,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8913,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8917,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8922
      start: 8875
    functionDepth: 0
    functionLinenumber: 8875
    functionLinenumberEnd: 8922
    functionName: roaring::internal::union_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32(const uint32_t *set_1, size_t size_1, const uint32_t
      *set_2,\n                    size_t size_2, uint32_t *buffer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8966
      start: 8924
    functionDepth: 0
    functionLinenumber: 8924
    functionLinenumberEnd: 8966
    functionName: roaring::internal::union_uint32_card
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t union_uint32_card(const uint32_t *set_1, size_t size_1,\n                         const
      uint32_t *set_2, size_t size_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8972,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8975,1
    - Dst: roaring::internal::union_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8978,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8984,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8986,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8992,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:8994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - set_1
    - size_1
    - set_2
    - size_2
    - buffer
    argTypes:
    - uint16_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8997
      start: 8968
    functionDepth: 1
    functionLinenumber: 8968
    functionLinenumberEnd: 8997
    functionName: roaring::internal::fast_union_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::union_uint16
    - roaring::internal::union_vector16
    linkageType: ''
    returnType: size_t
    signature: "size_t fast_union_uint16(const uint16_t *set_1, size_t size_1,\n                         const
      uint16_t *set_2, size_t size_2,\n                         uint16_t *buffer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9010,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9011,1
    - Dst: _mm512_cmpeq_epi8_mask
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9013,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9024,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9025,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9026,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9026,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9036,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9054
      start: 9000
    functionDepth: 0
    functionLinenumber: 9000
    functionLinenumberEnd: 9054
    functionName: roaring::internal::_avx512_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_movemask_epi8
    - _mm256_cmpeq_epi8
    - _mm512_cmpeq_epi8_mask
    - _mm512_loadu_si512
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: CROARING_TARGET_AVX512 _avx512_memequals(const void *s1, const void
      *s2, size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9067,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9068,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9069,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9069,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9079,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9080,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9097
      start: 9058
    functionDepth: 0
    functionLinenumber: 9058
    functionLinenumberEnd: 9097
    functionName: roaring::internal::_avx2_memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - _mm256_loadu_si256
    - memcpy
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: CROARING_TARGET_AVX2 _avx2_memequals(const void *s1, const void *s2,
      size_t n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9106,1
    - Dst: roaring::internal::_avx512_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9109,1
    - Dst: roaring::internal::_avx2_memequals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9113,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9115,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9120
      start: 9101
    functionDepth: 1
    functionLinenumber: 9101
    functionLinenumberEnd: 9120
    functionName: roaring::internal::memequals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::_avx512_memequals
    - roaring::internal::croaring_hardware_support
    - memcmp
    - roaring::internal::_avx2_memequals
    linkageType: ''
    returnType: bool
    signature: bool memequals(const void *s1, const void *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9133,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9134,1
    - Dst: _mm512_cvtepu16_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9134,1
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9135,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9136,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - vout
    - array
    - cardinality
    - base
    argTypes:
    - void*
    - uint16_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9146
      start: 9124
    functionDepth: 0
    functionLinenumber: 9124
    functionLinenumberEnd: 9146
    functionName: roaring::internal::avx512_array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - _mm512_cvtepu16_epi32
    - _mm512_storeu_si512
    - _mm512_set1_epi32
    - _mm512_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX512
    signature: "CROARING_TARGET_AVX512 avx512_array_container_to_uint32_array(void
      *vout, const uint16_t *array,\n                                           size_t
      cardinality, uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - alignment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9184
      start: 9181
    functionDepth: 0
    functionLinenumber: 9181
    functionLinenumberEnd: 9184
    functionName: CROARING_ART_ALIGN_BUF
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_ART_ALIGN_BUF(buf, alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf_cur
    - ','
    - buf_start
    - ','
    - alignment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9191
      start: 9187
    functionDepth: 0
    functionLinenumber: 9187
    functionLinenumberEnd: 9191
    functionName: CROARING_ART_ALIGN_SIZE_RELATIVE
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_ART_ALIGN_SIZE_RELATIVE(buf_cur, buf_start, alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - validate
    - msg
    argTypes:
    - art_internal_validate_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9309
      start: 9305
    functionDepth: 0
    functionLinenumber: 9305
    functionLinenumberEnd: 9309
    functionName: roaring::internal::art_validate_fail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool art_validate_fail(const art_internal_validate_t *validate,\n
      \                                    const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - typecode
    argTypes:
    - uint64_t
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9313
      start: 9311
    functionDepth: 0
    functionLinenumber: 9311
    functionLinenumberEnd: 9313
    functionName: roaring::internal::art_to_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_to_ref(uint64_t index, art_typecode_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9317
      start: 9315
    functionDepth: 0
    functionLinenumber: 9315
    functionLinenumberEnd: 9317
    functionName: roaring::internal::art_ref_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_ref_index(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9321
      start: 9319
    functionDepth: 0
    functionLinenumber: 9319
    functionLinenumberEnd: 9321
    functionName: roaring::internal::art_ref_typecode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_typecode_t
    signature: art_typecode_t art_ref_typecode(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9329,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9330,1
    - Dst: roaring::internal::art_ref_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (ref != CROARING_ART_NULL_REF)
      pos:
        line_end: 9328
        line_start: 9328
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9333
      start: 9328
    functionDepth: 1
    functionLinenumber: 9328
    functionLinenumberEnd: 9333
    functionName: roaring::internal::art_deref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_ref_index
    linkageType: ''
    returnType: art_node_t
    signature: art_node_t *art_deref(const art_t *art, art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9337,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - art
    - index
    - typecode
    argTypes:
    - art_t*
    - uint64_t
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9338
      start: 9335
    functionDepth: 2
    functionLinenumber: 9335
    functionLinenumberEnd: 9338
    functionName: roaring::internal::art_get_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: art_node_t
    signature: "art_node_t *art_get_node(const art_t *art, uint64_t index,\n                                       art_typecode_t
      typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 9354
        line_start: 9354
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9358
      start: 9340
    functionDepth: 0
    functionLinenumber: 9340
    functionLinenumberEnd: 9358
    functionName: roaring::internal::art_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t art_get_index(const art_t *art, const art_node_t *node,\n
      \                                    art_typecode_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9365,1
    - Dst: roaring::internal::art_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9366
      start: 9363
    functionDepth: 1
    functionLinenumber: 9363
    functionLinenumberEnd: 9366
    functionName: roaring::internal::art_get_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_get_index
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_get_ref(const art_t *art, const art_node_t *node,\n
      \                                   art_typecode_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9370
      start: 9368
    functionDepth: 1
    functionLinenumber: 9368
    functionLinenumberEnd: 9370
    functionName: roaring::internal::art_is_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_ref_typecode
    linkageType: ''
    returnType: bool
    signature: bool art_is_leaf(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - node
    - prefix
    - prefix_size
    argTypes:
    - art_inner_node_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9377
      start: 9372
    functionDepth: 0
    functionLinenumber: 9372
    functionLinenumberEnd: 9377
    functionName: roaring::internal::art_init_inner_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void art_init_inner_node(art_inner_node_t *node,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9388,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9391,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - key
    - val
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - art_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9394
      start: 9386
    functionDepth: 1
    functionLinenumber: 9386
    functionLinenumberEnd: 9394
    functionName: roaring::internal::art_leaf_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_allocate_index
    - roaring::internal::art_to_ref
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_leaf_create(art_t *art, const art_key_chunk_t key[],\n
      \                                art_val_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9419,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9425
      start: 9417
    functionDepth: 1
    functionLinenumber: 9417
    functionLinenumberEnd: 9425
    functionName: roaring::internal::art_node4_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node4_t
    signature: "art_node4_t *art_node4_create(art_t *art, const art_key_chunk_t prefix[],\n
      \                                    uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9435
      start: 9427
    functionDepth: 0
    functionLinenumber: 9427
    functionLinenumberEnd: 9435
    functionName: roaring::internal::art_node4_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_find_child(const art_node4_t *node,\n                                             art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9448,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9450,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9456,1
    - Dst: roaring::internal::art_node16_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9459,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9463,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9465,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node4_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9467
      start: 9437
    functionDepth: 2
    functionLinenumber: 9437
    functionLinenumberEnd: 9467
    functionName: roaring::internal::art_node4_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::art_node_free
    - roaring::internal::art_node16_create
    - roaring::internal::art_node16_insert
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_insert(art_t *art, art_node4_t *node,\n                                  art_ref_t
      child, uint8_t key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9478,1
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9486,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9489,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9490,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9492,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9497,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9502,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9504,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9508
      start: 9469
    functionDepth: 2
    functionLinenumber: 9469
    functionLinenumberEnd: 9508
    functionName: roaring::internal::art_node4_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::art_deref
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    - roaring::internal::art_is_leaf
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_erase(art_t *art, art_node4_t *node,\n                                        art_key_chunk_t
      key_chunk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9519
      start: 9510
    functionDepth: 0
    functionLinenumber: 9510
    functionLinenumberEnd: 9519
    functionName: roaring::internal::art_node4_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node4_replace(art_node4_t *node,\n                                     art_key_chunk_t
      key_chunk,\n                                     art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9533
      start: 9521
    functionDepth: 0
    functionLinenumber: 9521
    functionLinenumberEnd: 9533
    functionName: roaring::internal::art_node4_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_next_child(const art_node4_t *node,\n
      \                                                      int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9550
      start: 9535
    functionDepth: 0
    functionLinenumber: 9535
    functionLinenumberEnd: 9550
    functionName: roaring::internal::art_node4_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_prev_child(const art_node4_t *node,\n
      \                                                      int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9563
      start: 9552
    functionDepth: 0
    functionLinenumber: 9552
    functionLinenumberEnd: 9563
    functionName: roaring::internal::art_node4_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_child_at(const art_node4_t *node,\n
      \                                                    int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9578
      start: 9565
    functionDepth: 0
    functionLinenumber: 9565
    functionLinenumberEnd: 9578
    functionName: roaring::internal::art_node4_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_lower_bound(\n    art_node4_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9587,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9590,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9593,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9600,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9606,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9611,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node4_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9616
      start: 9583
    functionDepth: 1
    functionLinenumber: 9583
    functionLinenumberEnd: 9616
    functionName: roaring::internal::art_node4_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node4_internal_validate(const art_t *art,\n                                        const
      art_node4_t *node,\n                                        art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9621,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9627
      start: 9618
    functionDepth: 1
    functionLinenumber: 9618
    functionLinenumberEnd: 9627
    functionName: roaring::internal::art_node16_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node16_t
    signature: "art_node16_t *art_node16_create(art_t *art,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9637
      start: 9629
    functionDepth: 0
    functionLinenumber: 9629
    functionLinenumberEnd: 9637
    functionName: roaring::internal::art_node16_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_find_child(const art_node16_t *node,\n                                              art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9650,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9652,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9658,1
    - Dst: roaring::internal::art_node48_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9661,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9663,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9665,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node16_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9667
      start: 9639
    functionDepth: 2
    functionLinenumber: 9639
    functionLinenumberEnd: 9667
    functionName: roaring::internal::art_node16_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - memmove
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node48_create
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_insert(art_t *art, art_node16_t *node,\n                                   art_ref_t
      child, uint8_t key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9675,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9677,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9684,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9687,1
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9691,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9693,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node16_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9695
      start: 9669
    functionDepth: 3
    functionLinenumber: 9669
    functionLinenumberEnd: 9695
    functionName: roaring::internal::art_node16_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node4_insert
    - memmove
    - roaring::internal::art_node4_create
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_erase(art_t *art, art_node16_t *node,\n                                         uint8_t
      key_chunk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9706
      start: 9697
    functionDepth: 0
    functionLinenumber: 9697
    functionLinenumberEnd: 9706
    functionName: roaring::internal::art_node16_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node16_replace(art_node16_t *node,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9720
      start: 9708
    functionDepth: 0
    functionLinenumber: 9708
    functionLinenumberEnd: 9720
    functionName: roaring::internal::art_node16_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_next_child(\n    const art_node16_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9737
      start: 9722
    functionDepth: 0
    functionLinenumber: 9722
    functionLinenumberEnd: 9737
    functionName: roaring::internal::art_node16_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_prev_child(\n    const art_node16_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9750
      start: 9739
    functionDepth: 0
    functionLinenumber: 9739
    functionLinenumberEnd: 9750
    functionName: roaring::internal::art_node16_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_child_at(const art_node16_t *node,\n
      \                                                     int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9765
      start: 9752
    functionDepth: 0
    functionLinenumber: 9752
    functionLinenumberEnd: 9765
    functionName: roaring::internal::art_node16_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_lower_bound(\n    art_node16_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9771,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9774,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9780,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9786,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9791,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node16_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9796
      start: 9767
    functionDepth: 1
    functionLinenumber: 9767
    functionLinenumberEnd: 9796
    functionName: roaring::internal::art_node16_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node16_internal_validate(const art_t *art,\n                                         const
      art_node16_t *node,\n                                         art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9801,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9811
      start: 9798
    functionDepth: 1
    functionLinenumber: 9798
    functionLinenumberEnd: 9811
    functionName: roaring::internal::art_node48_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node48_t
    signature: "art_node48_t *art_node48_create(art_t *art,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9820
      start: 9813
    functionDepth: 0
    functionLinenumber: 9813
    functionLinenumberEnd: 9820
    functionName: roaring::internal::art_node48_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_find_child(const art_node48_t *node,\n                                              art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9827,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9831,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9832,1
    - Dst: roaring::internal::art_node256_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9835,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9839,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9842,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node48_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9844
      start: 9822
    functionDepth: 2
    functionLinenumber: 9822
    functionLinenumberEnd: 9844
    functionName: roaring::internal::art_node48_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_node_free
    - roaring_trailing_zeroes
    - UINT64_C
    - roaring::internal::art_get_ref
    - roaring::internal::art_node256_insert
    - roaring::internal::art_node256_create
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_insert(art_t *art, art_node48_t *node,\n                                   art_ref_t
      child, uint8_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9850,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9853,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9856,1
    - Dst: roaring::internal::art_node16_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9860,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9864,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9867,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node48_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9869
      start: 9846
    functionDepth: 3
    functionLinenumber: 9846
    functionLinenumberEnd: 9869
    functionName: roaring::internal::art_node48_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_free
    - UINT64_C
    - roaring::internal::art_node16_insert
    - roaring::internal::art_node16_create
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_erase(art_t *art, art_node48_t *node,\n                                         uint8_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (val_idx != CROARING_ART_NODE48_EMPTY_VAL)
      pos:
        line_end: 9874
        line_start: 9874
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9877
      start: 9871
    functionDepth: 0
    functionLinenumber: 9871
    functionLinenumberEnd: 9877
    functionName: roaring::internal::art_node48_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void art_node48_replace(art_node48_t *node,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9893
      start: 9879
    functionDepth: 0
    functionLinenumber: 9879
    functionLinenumberEnd: 9893
    functionName: roaring::internal::art_node48_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_next_child(\n    const art_node48_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9912
      start: 9895
    functionDepth: 0
    functionLinenumber: 9895
    functionLinenumberEnd: 9912
    functionName: roaring::internal::art_node48_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_prev_child(\n    const art_node48_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9925
      start: 9914
    functionDepth: 0
    functionLinenumber: 9914
    functionLinenumberEnd: 9925
    functionName: roaring::internal::art_node48_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_child_at(const art_node48_t *node,\n
      \                                                     int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9940
      start: 9927
    functionDepth: 0
    functionLinenumber: 9927
    functionLinenumberEnd: 9940
    functionName: roaring::internal::art_node48_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_lower_bound(\n    art_node48_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9946,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9949,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9955,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9956,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9962,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9964,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9970,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9975,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9980,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9982,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9993,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node48_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10000
      start: 9942
    functionDepth: 1
    functionLinenumber: 9942
    functionLinenumberEnd: 10000
    functionName: roaring::internal::art_node48_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring_trailing_zeroes
    - UINT64_C
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node48_internal_validate(const art_t *art,\n                                         const
      art_node48_t *node,\n                                         art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10005,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10014
      start: 10002
    functionDepth: 1
    functionLinenumber: 10002
    functionLinenumberEnd: 10014
    functionName: roaring::internal::art_node256_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node256_t
    signature: "art_node256_t *art_node256_create(art_t *art,\n                                         const
      art_key_chunk_t prefix[],\n                                         uint8_t
      prefix_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10019
      start: 10016
    functionDepth: 0
    functionLinenumber: 10016
    functionLinenumberEnd: 10019
    functionName: roaring::internal::art_node256_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_find_child(const art_node256_t *node,\n                                               art_key_chunk_t
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node256_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10026
      start: 10021
    functionDepth: 2
    functionLinenumber: 10021
    functionLinenumberEnd: 10026
    functionName: roaring::internal::art_node256_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_insert(art_t *art, art_node256_t *node,\n                                    art_ref_t
      child, uint8_t key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10033,1
    - Dst: roaring::internal::art_node48_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10037,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10040,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10043,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node256_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10045
      start: 10028
    functionDepth: 3
    functionLinenumber: 10028
    functionLinenumberEnd: 10045
    functionName: roaring::internal::art_node256_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node48_create
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_erase(art_t *art, art_node256_t *node,\n                                          uint8_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10051
      start: 10047
    functionDepth: 0
    functionLinenumber: 10047
    functionLinenumberEnd: 10051
    functionName: roaring::internal::art_node256_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node256_replace(art_node256_t *node,\n                                       art_key_chunk_t
      key_chunk,\n                                       art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10067
      start: 10053
    functionDepth: 0
    functionLinenumber: 10053
    functionLinenumberEnd: 10067
    functionName: roaring::internal::art_node256_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_next_child(\n    const art_node256_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10086
      start: 10069
    functionDepth: 0
    functionLinenumber: 10069
    functionLinenumberEnd: 10086
    functionName: roaring::internal::art_node256_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_prev_child(\n    const art_node256_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10099
      start: 10088
    functionDepth: 0
    functionLinenumber: 10088
    functionLinenumberEnd: 10099
    functionName: roaring::internal::art_node256_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_child_at(\n    const art_node256_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10114
      start: 10101
    functionDepth: 0
    functionLinenumber: 10101
    functionLinenumberEnd: 10114
    functionName: roaring::internal::art_node256_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_lower_bound(\n    art_node256_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10120,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10123,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10133,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10139,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node256_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10149
      start: 10116
    functionDepth: 1
    functionLinenumber: 10116
    functionLinenumberEnd: 10149
    functionName: roaring::internal::art_node256_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node256_internal_validate(const art_t *art,\n                                          const
      art_node256_t *node,\n                                          art_internal_validate_t
      validator)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10158,1
    - Dst: roaring::internal::art_node16_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10160,1
    - Dst: roaring::internal::art_node48_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10162,1
    - Dst: roaring::internal::art_node256_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10164,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10165
        line_start: 10165
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10169
      start: 10153
    functionDepth: 1
    functionLinenumber: 10153
    functionLinenumberEnd: 10169
    functionName: roaring::internal::art_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node4_find_child
    - assert
    - roaring::internal::art_node48_find_child
    - roaring::internal::art_node16_find_child
    - roaring::internal::art_node256_find_child
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_find_child(const art_inner_node_t *node,\n                                art_typecode_t
      typecode,\n                                art_key_chunk_t key_chunk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10176,1
    - Dst: roaring::internal::art_node16_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10179,1
    - Dst: roaring::internal::art_node48_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10182,1
    - Dst: roaring::internal::art_node256_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10185,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - node
    - typecode
    - key_chunk
    - new_child
    argTypes:
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10187
        line_start: 10187
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10190
      start: 10172
    functionDepth: 1
    functionLinenumber: 10172
    functionLinenumberEnd: 10190
    functionName: roaring::internal::art_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node16_replace
    - roaring::internal::art_node256_replace
    - roaring::internal::art_node48_replace
    - assert
    - roaring::internal::art_node4_replace
    linkageType: ''
    returnType: void
    signature: "void art_replace(art_inner_node_t *node, art_typecode_t typecode,\n
      \                       art_key_chunk_t key_chunk, art_ref_t new_child)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10199,1
    - Dst: roaring::internal::art_node16_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10201,1
    - Dst: roaring::internal::art_node48_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10203,1
    - Dst: roaring::internal::art_node256_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10205,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - art
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_t*
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10206
        line_start: 10206
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10210
      start: 10194
    functionDepth: 4
    functionLinenumber: 10194
    functionLinenumberEnd: 10210
    functionName: roaring::internal::art_node_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node16_erase
    - roaring::internal::art_node256_erase
    - assert
    - roaring::internal::art_node48_erase
    - roaring::internal::art_node4_erase
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node_erase(art_t *art, art_inner_node_t *node,\n                                art_typecode_t
      typecode,\n                                art_key_chunk_t key_chunk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10220,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10222,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10225,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10228,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - art
    - node
    - typecode
    - key_chunk
    - leaf
    argTypes:
    - art_t*
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10230
        line_start: 10230
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10234
      start: 10214
    functionDepth: 3
    functionLinenumber: 10214
    functionLinenumberEnd: 10234
    functionName: roaring::internal::art_node_insert_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node4_insert
    - assert
    - roaring::internal::art_node16_insert
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node256_insert
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node_insert_leaf(art_t *art, art_inner_node_t *node,\n
      \                                     art_typecode_t typecode,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t leaf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10237,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10238,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10250
        line_start: 10250
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10254
      start: 10236
    functionDepth: 2
    functionLinenumber: 10236
    functionLinenumberEnd: 10254
    functionName: roaring::internal::art_node_get_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_deref
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_node_get_next_free(const art_t *art, art_ref_t ref)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - node
    - typecode
    - next_free
    argTypes:
    - art_node_t*
    - art_typecode_t
    - uint64_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10274
        line_start: 10274
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10277
      start: 10256
    functionDepth: 0
    functionLinenumber: 10256
    functionLinenumberEnd: 10277
    functionName: roaring::internal::art_node_set_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void art_node_set_next_free(art_node_t *node, art_typecode_t typecode,\n
      \                                  uint64_t next_free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10282,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10286
      start: 10280
    functionDepth: 1
    functionLinenumber: 10280
    functionLinenumberEnd: 10286
    functionName: roaring::internal::art_node_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::art_get_index
    - roaring::internal::art_node_set_next_free
    linkageType: ''
    returnType: void
    signature: "void art_node_free(art_t *art, art_node_t *node,\n                          art_typecode_t
      typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10301,1
    - Dst: roaring::internal::art_node16_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10303,1
    - Dst: roaring::internal::art_node48_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10305,1
    - Dst: roaring::internal::art_node256_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10307,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10308
        line_start: 10308
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10312
      start: 10290
    functionDepth: 1
    functionLinenumber: 10290
    functionLinenumberEnd: 10312
    functionName: roaring::internal::art_node_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node16_next_child
    - assert
    - roaring::internal::art_node4_next_child
    - roaring::internal::art_node256_next_child
    - roaring::internal::art_node48_next_child
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_next_child(const art_node_t *node,\n
      \                                              art_typecode_t typecode,\n                                               int
      index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10327,1
    - Dst: roaring::internal::art_node16_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10329,1
    - Dst: roaring::internal::art_node48_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10331,1
    - Dst: roaring::internal::art_node256_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10333,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10334
        line_start: 10334
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10338
      start: 10316
    functionDepth: 1
    functionLinenumber: 10316
    functionLinenumberEnd: 10338
    functionName: roaring::internal::art_node_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node4_prev_child
    - roaring::internal::art_node48_prev_child
    - assert
    - roaring::internal::art_node16_prev_child
    - roaring::internal::art_node256_prev_child
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_prev_child(const art_node_t *node,\n
      \                                              art_typecode_t typecode,\n                                               int
      index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10354,1
    - Dst: roaring::internal::art_node16_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10356,1
    - Dst: roaring::internal::art_node48_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10358,1
    - Dst: roaring::internal::art_node256_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10360,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10361
        line_start: 10361
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10365
      start: 10343
    functionDepth: 1
    functionLinenumber: 10343
    functionLinenumberEnd: 10365
    functionName: roaring::internal::art_node_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node4_child_at
    - roaring::internal::art_node256_child_at
    - assert
    - roaring::internal::art_node16_child_at
    - roaring::internal::art_node48_child_at
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_child_at(const art_node_t *node,\n                                             art_typecode_t
      typecode,\n                                             int index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10380,1
    - Dst: roaring::internal::art_node16_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10382,1
    - Dst: roaring::internal::art_node48_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10384,1
    - Dst: roaring::internal::art_node256_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10386,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10387
        line_start: 10387
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10391
      start: 10369
    functionDepth: 1
    functionLinenumber: 10369
    functionLinenumberEnd: 10391
    functionName: roaring::internal::art_node_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node48_lower_bound
    - roaring::internal::art_node16_lower_bound
    - roaring::internal::art_node256_lower_bound
    - assert
    - roaring::internal::art_node4_lower_bound
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_lower_bound(const art_node_t *node,\n
      \                                               art_typecode_t typecode,\n                                                art_key_chunk_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key1
    - key1_from
    - key2
    - key2_from
    - length
    argTypes:
    - art_key_chunk_t[]
    - uint8_t
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10404
      start: 10399
    functionDepth: 0
    functionLinenumber: 10399
    functionLinenumberEnd: 10404
    functionName: roaring::internal::art_compare_prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int art_compare_prefix(const art_key_chunk_t key1[],\n                                     uint8_t
      key1_from,\n                                     const art_key_chunk_t key2[],\n
      \                                    uint8_t key2_from, uint8_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - art_key_chunk_t[]
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10410
      start: 10407
    functionDepth: 1
    functionLinenumber: 10407
    functionLinenumberEnd: 10410
    functionName: roaring::internal::art_compare_keys
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_compare_prefix
    linkageType: ''
    returnType: int
    signature: "int art_compare_keys(const art_key_chunk_t key1[],\n                     const
      art_key_chunk_t key2[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - key1
    - key1_from
    - key1_to
    - key2
    - key2_from
    - key2_to
    argTypes:
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10429
      start: 10413
    functionDepth: 0
    functionLinenumber: 10413
    functionLinenumberEnd: 10429
    functionName: roaring::internal::art_common_prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t art_common_prefix(const art_key_chunk_t key1[],\n                                 uint8_t
      key1_from, uint8_t key1_to,\n                                 const art_key_chunk_t
      key2[],\n                                 uint8_t key2_from, uint8_t key2_to)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10450,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10453,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10453,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10456,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10458
      start: 10435
    functionDepth: 3
    functionLinenumber: 10435
    functionLinenumberEnd: 10458
    functionName: roaring::internal::art_extend
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    - roaring::internal::art_node_set_next_free
    - roaring::internal::art_get_node
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void art_extend(art_t *art, art_typecode_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10466,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10467
      start: 10464
    functionDepth: 3
    functionLinenumber: 10464
    functionLinenumberEnd: 10467
    functionName: roaring::internal::art_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_next_free(const art_t *art, art_typecode_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_extend
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10476,1
    - Dst: roaring::internal::art_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10482
      start: 10473
    functionDepth: 4
    functionLinenumber: 10473
    functionLinenumberEnd: 10482
    functionName: roaring::internal::art_allocate_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::art_extend
    - roaring::internal::art_next_free
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_allocate_index(art_t *art, art_typecode_t typecode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10489,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10490,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10491,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10497,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10499,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10502,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10509,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10512,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10519,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10521,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10523,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10524,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10527,1
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10530,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10533,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10540,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10545,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10553,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10553,1
    - Dst: roaring::internal::art_insert_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10556,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10559,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10561,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10561,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10566,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - art
    - ref
    - key
    - depth
    - new_leaf
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t[]
    - uint8_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10568
      start: 10486
    functionDepth: 4
    functionLinenumber: 10486
    functionLinenumberEnd: 10568
    functionName: roaring::internal::art_insert_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_node4_insert
    - memmove
    - roaring::internal::art_deref
    - roaring::internal::art_node4_create
    - roaring::internal::art_node_insert_leaf
    - roaring::internal::art_insert_at
    - roaring::internal::art_ref_typecode
    - roaring_malloc
    - roaring_free
    - roaring::internal::art_replace
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_insert_at(art_t *art, art_ref_t ref,\n                               const
      art_key_chunk_t key[], uint8_t depth,\n                               art_ref_t
      new_leaf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10592,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10593,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10594,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10602,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10605,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10607,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10615,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10615,1
    - Dst: roaring::internal::art_erase_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10623,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10632,1
    - Dst: roaring::internal::art_node_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10636,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10636,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10640,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - art
    - ref
    - key
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10644
      start: 10585
    functionDepth: 5
    functionLinenumber: 10585
    functionLinenumberEnd: 10644
    functionName: roaring::internal::art_erase_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_node_erase
    - roaring::internal::art_node_free
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_erase_at
    - roaring::internal::art_replace
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    linkageType: ''
    returnType: art_erase_result_t
    signature: "art_erase_result_t art_erase_at(art_t *art, art_ref_t ref,\n                                       const
      art_key_chunk_t *key,\n                                       uint8_t depth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10650,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10651,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10653,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10658,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10658,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10667,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - art
    - ref
    - key
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10677
      start: 10648
    functionDepth: 2
    functionLinenumber: 10648
    functionLinenumberEnd: 10677
    functionName: roaring::internal::art_find_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    linkageType: ''
    returnType: art_val_t
    signature: "art_val_t *art_find_at(const art_t *art, art_ref_t ref,\n                              const
      art_key_chunk_t *key, uint8_t depth)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10680,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10682,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10685,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10688,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10691,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10694,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10696
        line_start: 10696
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10700
      start: 10679
    functionDepth: 1
    functionLinenumber: 10679
    functionLinenumberEnd: 10700
    functionName: roaring::internal::art_node_print_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - printf
    - assert
    - roaring::internal::art_ref_typecode
    linkageType: ''
    returnType: void
    signature: void art_node_print_type(art_ref_t ref)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10703,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10704,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10705,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10707,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10709,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10712,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10715,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10716,1
    - Dst: roaring::internal::art_node_print_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10717,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10718,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10720,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10721,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10722,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10724,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10725,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10727,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10729,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10731,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10735,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10736,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10737,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10743,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10744,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10745,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10752,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10753,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10754,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10755,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10764,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10765,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10766,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10771,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10775,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10776,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 3
    argNames:
    - art
    - ref
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10770
        line_start: 10770
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10777
      start: 10702
    functionDepth: 2
    functionLinenumber: 10702
    functionLinenumberEnd: 10777
    functionName: roaring::internal::art_node_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_deref
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_printf
    - roaring::internal::art_node_print_type
    - roaring::internal::art_is_leaf
    - printf
    linkageType: ''
    returnType: void
    signature: void art_node_printf(const art_t *art, art_ref_t ref, uint8_t depth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10785,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10786,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10788,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10794,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10794,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10818,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10818,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10820,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10820,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10822,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10822,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (idx != first_free)
      pos:
        line_end: 10787
        line_start: 10787
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10828
      start: 10784
    functionDepth: 3
    functionLinenumber: 10784
    functionLinenumberEnd: 10828
    functionName: roaring::internal::art_move_node_to_shrink
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_get_node
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_to_ref
    - roaring::internal::art_ref_index
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_node_set_next_free
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_move_node_to_shrink(art_t *art, art_ref_t ref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10837,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10840,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10840,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10848,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10848,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10856
      start: 10833
    functionDepth: 3
    functionLinenumber: 10833
    functionLinenumberEnd: 10856
    functionName: roaring::internal::art_sort_free_lists
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring::internal::art_get_node
    - roaring::internal::art_to_ref
    - roaring_free
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_node_set_next_free
    linkageType: ''
    returnType: void
    signature: void art_sort_free_lists(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10875
      start: 10862
    functionDepth: 0
    functionLinenumber: 10862
    functionLinenumberEnd: 10875
    functionName: roaring::internal::art_shrink_node_arrays
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_realloc
    linkageType: ''
    returnType: size_t
    signature: size_t art_shrink_node_arrays(art_t *art)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10882,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10885,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10887,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10890,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10891,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10895,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10898,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10899,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10903,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10908,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10909,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10914,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10918,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10919,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10924,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10923
        line_start: 10923
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10927
      start: 10881
    functionDepth: 4
    functionLinenumber: 10881
    functionLinenumberEnd: 10927
    functionName: roaring::internal::art_shrink_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_deref
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_shrink_at
    - roaring::internal::art_is_leaf
    - roaring::internal::art_move_node_to_shrink
    linkageType: ''
    returnType: void
    signature: void art_shrink_at(art_t *art, art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10931,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10937
      start: 10929
    functionDepth: 0
    functionLinenumber: 10929
    functionLinenumberEnd: 10937
    functionName: roaring::internal::art_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void art_init_cleared(art_t *art)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10940,1
    - Dst: roaring::internal::art_sort_free_lists
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10944,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10945,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10946,1
    - Dst: roaring::internal::art_shrink_node_arrays
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10949
      start: 10939
    functionDepth: 5
    functionLinenumber: 10939
    functionLinenumberEnd: 10949
    functionName: roaring::internal::art_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_sort_free_lists
    - roaring::internal::art_shrink_node_arrays
    - roaring::internal::art_shrink_at
    - roaring::internal::art_move_node_to_shrink
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_shrink_to_fit(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10959
      start: 10951
    functionDepth: 0
    functionLinenumber: 10951
    functionLinenumberEnd: 10959
    functionName: roaring::internal::art_is_shrunken
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool art_is_shrunken(const art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_leaf_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10962,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10965,1
    - Dst: roaring::internal::art_insert_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10967,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - art
    - key
    - val
    argTypes:
    - art_t*
    - art_key_chunk_t*
    - art_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10969
      start: 10961
    functionDepth: 5
    functionLinenumber: 10961
    functionLinenumberEnd: 10969
    functionName: roaring::internal::art_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_insert_at
    - roaring::internal::art_leaf_create
    - roaring::internal::art_deref
    linkageType: ''
    returnType: art_val_t
    signature: art_val_t *art_insert(art_t *art, const art_key_chunk_t *key, art_val_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_erase_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - art
    - key
    - erased_val
    argTypes:
    - art_t*
    - art_key_chunk_t*
    - art_val_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10986
      start: 10971
    functionDepth: 6
    functionLinenumber: 10971
    functionLinenumberEnd: 10986
    functionName: roaring::internal::art_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_erase_at
    linkageType: ''
    returnType: bool
    signature: bool art_erase(art_t *art, const art_key_chunk_t *key, art_val_t *erased_val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_find_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10993
      start: 10988
    functionDepth: 3
    functionLinenumber: 10988
    functionLinenumberEnd: 10993
    functionName: roaring::internal::art_find
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_find_at
    linkageType: ''
    returnType: art_val_t
    signature: art_val_t *art_find(const art_t *art, const art_key_chunk_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10997
      start: 10995
    functionDepth: 0
    functionLinenumber: 10995
    functionLinenumberEnd: 10997
    functionName: roaring::internal::art_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool art_is_empty(const art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11004
      start: 10999
    functionDepth: 0
    functionLinenumber: 10999
    functionLinenumberEnd: 11004
    functionName: roaring::internal::art_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void art_free(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11011
      start: 11006
    functionDepth: 3
    functionLinenumber: 11006
    functionLinenumberEnd: 11011
    functionName: roaring::internal::art_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_printf
    linkageType: ''
    returnType: void
    signature: void art_printf(const art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11017
      start: 11015
    functionDepth: 0
    functionLinenumber: 11015
    functionLinenumberEnd: 11017
    functionName: roaring::internal::art_iterator_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_iterator_ref(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11021,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11022
      start: 11020
    functionDepth: 2
    functionLinenumber: 11020
    functionLinenumberEnd: 11022
    functionName: roaring::internal::art_iterator_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_iterator_ref
    linkageType: ''
    returnType: art_node_t
    signature: art_node_t *art_iterator_node(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11030,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - iterator
    - leaf_ref
    argTypes:
    - art_iterator_t*
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11034
      start: 11026
    functionDepth: 2
    functionLinenumber: 11026
    functionLinenumberEnd: 11034
    functionName: roaring::internal::art_iterator_valid_loc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_deref
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool art_iterator_valid_loc(art_iterator_t *iterator,\n                                          art_ref_t
      leaf_ref)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11042
      start: 11038
    functionDepth: 0
    functionLinenumber: 11038
    functionLinenumberEnd: 11042
    functionName: roaring::internal::art_iterator_invalid_loc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_invalid_loc(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11053,1
    - Dst: roaring::internal::art_node_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11054,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11055,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - iterator
    - ref
    - index_in_node
    argTypes:
    - art_iterator_t*
    - art_ref_t
    - uint8_t
    assertStmts:
    - condition: (indexed_child.child != CROARING_ART_NULL_REF)
      pos:
        line_end: 11055
        line_start: 11055
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 11059
      start: 11048
    functionDepth: 2
    functionLinenumber: 11048
    functionLinenumberEnd: 11059
    functionName: roaring::internal::art_iterator_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::art_node_child_at
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_deref
    linkageType: ''
    returnType: void
    signature: "void art_iterator_down(art_iterator_t *iterator, art_ref_t ref,\n
      \                             uint8_t index_in_node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11066,1
    - Dst: roaring::internal::art_node_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11069,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11069,1
    - Dst: roaring::internal::art_node_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11072,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11072,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11079
      start: 11063
    functionDepth: 3
    functionLinenumber: 11063
    functionLinenumberEnd: 11079
    functionName: roaring::internal::art_iterator_neighbor_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_prev_child
    - roaring::internal::art_iterator_down
    - roaring::internal::art_node_next_child
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_iterator_neighbor_child(art_iterator_t *iterator,\n
      \                                            bool forward)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11092
      start: 11083
    functionDepth: 3
    functionLinenumber: 11083
    functionLinenumberEnd: 11092
    functionName: roaring::internal::art_iterator_up
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_node
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_up(art_iterator_t *iterator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11097,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11099,1
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11102
      start: 11096
    functionDepth: 4
    functionLinenumber: 11096
    functionLinenumberEnd: 11102
    functionName: roaring::internal::art_iterator_up_and_move
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_move
    - roaring::internal::art_iterator_up
    - roaring::internal::art_iterator_invalid_loc
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_up_and_move(art_iterator_t *iterator, bool forward)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11108,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11109,1
    - Dst: roaring::internal::art_node_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11113,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11113,1
    - Dst: roaring::internal::art_node_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11116,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11116,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11118,1
    - Dst: roaring::internal::art_iterator_valid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ref
    - iterator
    - first
    argTypes:
    - art_ref_t
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11125
      start: 11106
    functionDepth: 3
    functionLinenumber: 11106
    functionLinenumberEnd: 11125
    functionName: roaring::internal::art_node_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_down
    - roaring::internal::art_deref
    - roaring::internal::art_iterator_valid_loc
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_prev_child
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node_next_child
    linkageType: ''
    returnType: bool
    signature: "bool art_node_init_iterator(art_ref_t ref, art_iterator_t *iterator,\n
      \                                  bool first)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11128,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11128,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11129,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11132,1
    - Dst: roaring::internal::art_iterator_neighbor_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11136,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11140,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11144
      start: 11127
    functionDepth: 5
    functionLinenumber: 11127
    functionLinenumberEnd: 11144
    functionName: roaring::internal::art_iterator_move
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_iterator_up_and_move
    - roaring::internal::art_iterator_neighbor_child
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_up
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_move(art_iterator_t *iterator, bool forward)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11151,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11153,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11155,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11161,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11165,1
    - Dst: roaring::internal::art_node_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11170,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11171,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11174,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11178,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11179,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11182,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11185,1
    - Dst: roaring::internal::art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11186,1
    - Dst: roaring::internal::art_iterator_valid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11188,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ref
    - iterator
    - key
    argTypes:
    - art_ref_t
    - art_iterator_t*
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11193
      start: 11148
    functionDepth: 5
    functionLinenumber: 11148
    functionLinenumberEnd: 11193
    functionName: roaring::internal::art_node_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_up_and_move
    - roaring::internal::art_deref
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_iterator_valid_loc
    - roaring::internal::art_node_lower_bound
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_is_leaf
    - roaring::internal::art_iterator_down
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_compare_keys
    linkageType: ''
    returnType: bool
    signature: "bool art_node_iterator_lower_bound(art_ref_t ref,\n                                          art_iterator_t
      *iterator,\n                                          const art_key_chunk_t
      key[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - art
    - first
    argTypes:
    - art_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11203
      start: 11195
    functionDepth: 4
    functionLinenumber: 11195
    functionLinenumberEnd: 11203
    functionName: roaring::internal::art_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_init_iterator
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_init_iterator(art_t *art, bool first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11207
      start: 11205
    functionDepth: 6
    functionLinenumber: 11205
    functionLinenumberEnd: 11207
    functionName: roaring::internal::art_iterator_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_move
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_next(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11211
      start: 11209
    functionDepth: 6
    functionLinenumber: 11209
    functionLinenumberEnd: 11211
    functionName: roaring::internal::art_iterator_prev
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_move
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_prev(art_iterator_t *iterator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11220,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11224,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11227,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11231,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11234,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11236,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11236,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11243,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11245,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11249,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11249,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11252,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - iterator
    - key
    argTypes:
    - art_iterator_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11254
      start: 11213
    functionDepth: 6
    functionLinenumber: 11213
    functionLinenumberEnd: 11254
    functionName: roaring::internal::art_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_node
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_up
    linkageType: ''
    returnType: bool
    signature: "bool art_iterator_lower_bound(art_iterator_t *iterator,\n                              const
      art_key_chunk_t *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11263
      start: 11256
    functionDepth: 6
    functionLinenumber: 11256
    functionLinenumberEnd: 11263
    functionName: roaring::internal::art_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_lower_bound(art_t *art, const art_key_chunk_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11269,1
    - Dst: roaring::internal::art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11270,1
    - Dst: roaring::internal::art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11275
      start: 11265
    functionDepth: 7
    functionLinenumber: 11265
    functionLinenumberEnd: 11275
    functionName: roaring::internal::art_upper_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_iterator_next
    - roaring::internal::art_compare_keys
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_upper_bound(art_t *art, const art_key_chunk_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11280,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11281,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - iterator
    - key
    - val
    argTypes:
    - art_iterator_t*
    - art_key_chunk_t*
    - art_val_t
    assertStmts:
    - condition: (iterator->art->root != CROARING_ART_NULL_REF)
      pos:
        line_end: 11280
        line_start: 11280
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 11285
      start: 11277
    functionDepth: 6
    functionLinenumber: 11277
    functionLinenumberEnd: 11285
    functionName: roaring::internal::art_iterator_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    - assert
    - roaring::internal::art_insert
    linkageType: ''
    returnType: void
    signature: "void art_iterator_insert(art_iterator_t *iterator, const art_key_chunk_t
      *key,\n                         art_val_t val)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11296,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11300,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11300,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11301,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11301,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11302,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11306,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11311,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11313,1
    - Dst: roaring::internal::art_node_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11317,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11317,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11324,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11326,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11328,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11331,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11331,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - iterator
    - erased_val
    argTypes:
    - art_iterator_t*
    - art_val_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11346
      start: 11287
    functionDepth: 6
    functionLinenumber: 11287
    functionLinenumberEnd: 11346
    functionName: roaring::internal::art_iterator_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::art_iterator_up
    - roaring::internal::art_node_erase
    - roaring::internal::art_node_free
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_replace
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_node
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_erase(art_iterator_t *iterator, art_val_t *erased_val)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11351,1
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11353,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11354,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11355,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11357,1
    - Dst: art_internal_validate_t::validate_cb
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11362,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11370,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11373,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11376,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11380,1
    - Dst: roaring::internal::art_node4_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11382,1
    - Dst: roaring::internal::art_node16_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11388,1
    - Dst: roaring::internal::art_node48_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11394,1
    - Dst: roaring::internal::art_node256_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11400,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11406,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - art
    - ref
    - validator
    argTypes:
    - art_t*
    - art_ref_t
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11410
      start: 11348
    functionDepth: 2
    functionLinenumber: 11348
    functionLinenumberEnd: 11410
    functionName: roaring::internal::art_internal_validate_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - art_internal_validate_t::validate_cb
    - roaring::internal::art_deref
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_validate_fail
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node4_internal_validate
    - roaring::internal::art_node256_internal_validate
    - roaring::internal::art_node48_internal_validate
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node16_internal_validate
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool art_internal_validate_at(const art_t *art, art_ref_t ref,\n                                     art_internal_validate_t
      validator)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11436,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - art
    - reason
    - validate_cb
    - context
    argTypes:
    - art_t*
    - char**
    - art_validate_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11441
      start: 11412
    functionDepth: 3
    functionLinenumber: 11412
    functionLinenumberEnd: 11441
    functionName: roaring::internal::art_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_internal_validate(const art_t *art, const char **reason,\n
      \                          art_validate_cb_t validate_cb, void *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11468
      start: 11452
    functionDepth: 1
    functionLinenumber: 11452
    functionLinenumberEnd: 11468
    functionName: roaring::internal::art_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_size_in_bytes(const art_t *art)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11474,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11480,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11484,1
    - Dst: CROARING_ART_ALIGN_SIZE_RELATIVE
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11489,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11490,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - art
    - buf
    argTypes:
    - art_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11503
      start: 11470
    functionDepth: 1
    functionLinenumber: 11470
    functionLinenumberEnd: 11503
    functionName: roaring::internal::art_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CROARING_ART_ALIGN_SIZE_RELATIVE
    - memset
    - memcpy
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_serialize(const art_t *art, char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_init_cleared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11510,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11515,1
    - Dst: CROARING_STATIC_ASSERT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11522,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11524,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11525,1
    - Dst: CROARING_ART_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11531,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - buf
    - maxbytes
    - art
    argTypes:
    - char*
    - size_t
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11550
      start: 11505
    functionDepth: 1
    functionLinenumber: 11505
    functionLinenumberEnd: 11550
    functionName: roaring::internal::art_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CROARING_STATIC_ASSERT
    - roaring::internal::art_init_cleared
    - memcpy
    - CROARING_ART_ALIGN_BUF
    linkageType: ''
    returnType: size_t
    signature: size_t art_frozen_view(const char *buf, size_t maxbytes, art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - validate
    - msg
    argTypes:
    - art_internal_validate_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9309
      start: 9305
    functionDepth: 0
    functionLinenumber: 9305
    functionLinenumberEnd: 9309
    functionName: roaring::internal::art_validate_fail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool art_validate_fail(const art_internal_validate_t *validate,\n
      \                                    const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - typecode
    argTypes:
    - uint64_t
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9313
      start: 9311
    functionDepth: 0
    functionLinenumber: 9311
    functionLinenumberEnd: 9313
    functionName: roaring::internal::art_to_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_to_ref(uint64_t index, art_typecode_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9317
      start: 9315
    functionDepth: 0
    functionLinenumber: 9315
    functionLinenumberEnd: 9317
    functionName: roaring::internal::art_ref_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_ref_index(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9321
      start: 9319
    functionDepth: 0
    functionLinenumber: 9319
    functionLinenumberEnd: 9321
    functionName: roaring::internal::art_ref_typecode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: art_typecode_t
    signature: art_typecode_t art_ref_typecode(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9329,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9330,1
    - Dst: roaring::internal::art_ref_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (ref != CROARING_ART_NULL_REF)
      pos:
        line_end: 9328
        line_start: 9328
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9333
      start: 9328
    functionDepth: 1
    functionLinenumber: 9328
    functionLinenumberEnd: 9333
    functionName: roaring::internal::art_deref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 17
    functionsReached:
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_ref_index
    linkageType: ''
    returnType: art_node_t
    signature: art_node_t *art_deref(const art_t *art, art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9337,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - art
    - index
    - typecode
    argTypes:
    - art_t*
    - uint64_t
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9338
      start: 9335
    functionDepth: 2
    functionLinenumber: 9335
    functionLinenumberEnd: 9338
    functionName: roaring::internal::art_get_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: art_node_t
    signature: "art_node_t *art_get_node(const art_t *art, uint64_t index,\n                                       art_typecode_t
      typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 9354
        line_start: 9354
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9358
      start: 9340
    functionDepth: 0
    functionLinenumber: 9340
    functionLinenumberEnd: 9358
    functionName: roaring::internal::art_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t art_get_index(const art_t *art, const art_node_t *node,\n
      \                                    art_typecode_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9365,1
    - Dst: roaring::internal::art_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9366
      start: 9363
    functionDepth: 1
    functionLinenumber: 9363
    functionLinenumberEnd: 9366
    functionName: roaring::internal::art_get_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::art_get_index
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_get_ref(const art_t *art, const art_node_t *node,\n
      \                                   art_typecode_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9370
      start: 9368
    functionDepth: 1
    functionLinenumber: 9368
    functionLinenumberEnd: 9370
    functionName: roaring::internal::art_is_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring::internal::art_ref_typecode
    linkageType: ''
    returnType: bool
    signature: bool art_is_leaf(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - node
    - prefix
    - prefix_size
    argTypes:
    - art_inner_node_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9377
      start: 9372
    functionDepth: 0
    functionLinenumber: 9372
    functionLinenumberEnd: 9377
    functionName: roaring::internal::art_init_inner_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void art_init_inner_node(art_inner_node_t *node,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9388,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9391,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - key
    - val
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - art_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9394
      start: 9386
    functionDepth: 5
    functionLinenumber: 9386
    functionLinenumberEnd: 9394
    functionName: roaring::internal::art_leaf_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_allocate_index
    - roaring::internal::art_to_ref
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_leaf_create(art_t *art, const art_key_chunk_t key[],\n
      \                                art_val_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9419,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9425
      start: 9417
    functionDepth: 5
    functionLinenumber: 9417
    functionLinenumberEnd: 9425
    functionName: roaring::internal::art_node4_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node4_t
    signature: "art_node4_t *art_node4_create(art_t *art, const art_key_chunk_t prefix[],\n
      \                                    uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9435
      start: 9427
    functionDepth: 0
    functionLinenumber: 9427
    functionLinenumberEnd: 9435
    functionName: roaring::internal::art_node4_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_find_child(const art_node4_t *node,\n                                             art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9448,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9450,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9456,1
    - Dst: roaring::internal::art_node16_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9459,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9463,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9465,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node4_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9467
      start: 9437
    functionDepth: 3
    functionLinenumber: 9437
    functionLinenumberEnd: 9467
    functionName: roaring::internal::art_node4_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - memmove
    - roaring::internal::art_node_free
    - roaring::internal::art_node16_create
    - roaring::internal::art_node16_insert
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_insert(art_t *art, art_node4_t *node,\n                                  art_ref_t
      child, uint8_t key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9478,1
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9486,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9489,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9490,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9492,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9497,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9502,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9504,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9508
      start: 9469
    functionDepth: 2
    functionLinenumber: 9469
    functionLinenumberEnd: 9508
    functionName: roaring::internal::art_node4_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - memmove
    - roaring::internal::art_deref
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    - roaring::internal::art_is_leaf
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_erase(art_t *art, art_node4_t *node,\n                                        art_key_chunk_t
      key_chunk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9519
      start: 9510
    functionDepth: 0
    functionLinenumber: 9510
    functionLinenumberEnd: 9519
    functionName: roaring::internal::art_node4_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node4_replace(art_node4_t *node,\n                                     art_key_chunk_t
      key_chunk,\n                                     art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9533
      start: 9521
    functionDepth: 0
    functionLinenumber: 9521
    functionLinenumberEnd: 9533
    functionName: roaring::internal::art_node4_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_next_child(const art_node4_t *node,\n
      \                                                      int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9550
      start: 9535
    functionDepth: 0
    functionLinenumber: 9535
    functionLinenumberEnd: 9550
    functionName: roaring::internal::art_node4_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_prev_child(const art_node4_t *node,\n
      \                                                      int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9563
      start: 9552
    functionDepth: 0
    functionLinenumber: 9552
    functionLinenumberEnd: 9563
    functionName: roaring::internal::art_node4_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_child_at(const art_node4_t *node,\n
      \                                                    int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9578
      start: 9565
    functionDepth: 0
    functionLinenumber: 9565
    functionLinenumberEnd: 9578
    functionName: roaring::internal::art_node4_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_lower_bound(\n    art_node4_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9587,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9590,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9593,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9600,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9606,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9611,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node4_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9616
      start: 9583
    functionDepth: 3
    functionLinenumber: 9583
    functionLinenumberEnd: 9616
    functionName: roaring::internal::art_node4_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node4_internal_validate(const art_t *art,\n                                        const
      art_node4_t *node,\n                                        art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9621,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9627
      start: 9618
    functionDepth: 5
    functionLinenumber: 9618
    functionLinenumberEnd: 9627
    functionName: roaring::internal::art_node16_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node16_t
    signature: "art_node16_t *art_node16_create(art_t *art,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9637
      start: 9629
    functionDepth: 0
    functionLinenumber: 9629
    functionLinenumberEnd: 9637
    functionName: roaring::internal::art_node16_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_find_child(const art_node16_t *node,\n                                              art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9650,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9652,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9658,1
    - Dst: roaring::internal::art_node48_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9661,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9663,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9665,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node16_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9667
      start: 9639
    functionDepth: 3
    functionLinenumber: 9639
    functionLinenumberEnd: 9667
    functionName: roaring::internal::art_node16_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node48_create
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_insert(art_t *art, art_node16_t *node,\n                                   art_ref_t
      child, uint8_t key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9675,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9677,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9684,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9687,1
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9691,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9693,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node16_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9695
      start: 9669
    functionDepth: 3
    functionLinenumber: 9669
    functionLinenumberEnd: 9695
    functionName: roaring::internal::art_node16_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_node4_insert
    - memmove
    - roaring::internal::art_node4_create
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_erase(art_t *art, art_node16_t *node,\n                                         uint8_t
      key_chunk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9706
      start: 9697
    functionDepth: 0
    functionLinenumber: 9697
    functionLinenumberEnd: 9706
    functionName: roaring::internal::art_node16_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node16_replace(art_node16_t *node,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9720
      start: 9708
    functionDepth: 0
    functionLinenumber: 9708
    functionLinenumberEnd: 9720
    functionName: roaring::internal::art_node16_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_next_child(\n    const art_node16_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9737
      start: 9722
    functionDepth: 0
    functionLinenumber: 9722
    functionLinenumberEnd: 9737
    functionName: roaring::internal::art_node16_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_prev_child(\n    const art_node16_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9750
      start: 9739
    functionDepth: 0
    functionLinenumber: 9739
    functionLinenumberEnd: 9750
    functionName: roaring::internal::art_node16_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_child_at(const art_node16_t *node,\n
      \                                                     int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9765
      start: 9752
    functionDepth: 0
    functionLinenumber: 9752
    functionLinenumberEnd: 9765
    functionName: roaring::internal::art_node16_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_lower_bound(\n    art_node16_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9771,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9774,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9780,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9786,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9791,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node16_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9796
      start: 9767
    functionDepth: 3
    functionLinenumber: 9767
    functionLinenumberEnd: 9796
    functionName: roaring::internal::art_node16_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node16_internal_validate(const art_t *art,\n                                         const
      art_node16_t *node,\n                                         art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9801,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9811
      start: 9798
    functionDepth: 5
    functionLinenumber: 9798
    functionLinenumberEnd: 9811
    functionName: roaring::internal::art_node48_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node48_t
    signature: "art_node48_t *art_node48_create(art_t *art,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9820
      start: 9813
    functionDepth: 0
    functionLinenumber: 9813
    functionLinenumberEnd: 9820
    functionName: roaring::internal::art_node48_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_find_child(const art_node48_t *node,\n                                              art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9827,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9831,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9832,1
    - Dst: roaring::internal::art_node256_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9835,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9839,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9842,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node48_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9844
      start: 9822
    functionDepth: 3
    functionLinenumber: 9822
    functionLinenumberEnd: 9844
    functionName: roaring::internal::art_node48_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_node_free
    - roaring_trailing_zeroes
    - UINT64_C
    - roaring::internal::art_get_ref
    - roaring::internal::art_node256_insert
    - roaring::internal::art_node256_create
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_insert(art_t *art, art_node48_t *node,\n                                   art_ref_t
      child, uint8_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9850,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9853,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9856,1
    - Dst: roaring::internal::art_node16_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9860,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9864,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9867,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node48_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9869
      start: 9846
    functionDepth: 3
    functionLinenumber: 9846
    functionLinenumberEnd: 9869
    functionName: roaring::internal::art_node48_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_node_free
    - UINT64_C
    - roaring::internal::art_node16_insert
    - roaring::internal::art_node16_create
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_erase(art_t *art, art_node48_t *node,\n                                         uint8_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (val_idx != CROARING_ART_NODE48_EMPTY_VAL)
      pos:
        line_end: 9874
        line_start: 9874
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9877
      start: 9871
    functionDepth: 0
    functionLinenumber: 9871
    functionLinenumberEnd: 9877
    functionName: roaring::internal::art_node48_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void art_node48_replace(art_node48_t *node,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9893
      start: 9879
    functionDepth: 0
    functionLinenumber: 9879
    functionLinenumberEnd: 9893
    functionName: roaring::internal::art_node48_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_next_child(\n    const art_node48_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9912
      start: 9895
    functionDepth: 0
    functionLinenumber: 9895
    functionLinenumberEnd: 9912
    functionName: roaring::internal::art_node48_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_prev_child(\n    const art_node48_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9925
      start: 9914
    functionDepth: 0
    functionLinenumber: 9914
    functionLinenumberEnd: 9925
    functionName: roaring::internal::art_node48_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_child_at(const art_node48_t *node,\n
      \                                                     int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9940
      start: 9927
    functionDepth: 0
    functionLinenumber: 9927
    functionLinenumberEnd: 9940
    functionName: roaring::internal::art_node48_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_lower_bound(\n    art_node48_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9946,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9949,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9955,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9956,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9962,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9964,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9970,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9975,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9980,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9982,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9993,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node48_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10000
      start: 9942
    functionDepth: 3
    functionLinenumber: 9942
    functionLinenumberEnd: 10000
    functionName: roaring::internal::art_node48_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring_trailing_zeroes
    - UINT64_C
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node48_internal_validate(const art_t *art,\n                                         const
      art_node48_t *node,\n                                         art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10005,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10014
      start: 10002
    functionDepth: 5
    functionLinenumber: 10002
    functionLinenumberEnd: 10014
    functionName: roaring::internal::art_node256_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node256_t
    signature: "art_node256_t *art_node256_create(art_t *art,\n                                         const
      art_key_chunk_t prefix[],\n                                         uint8_t
      prefix_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10019
      start: 10016
    functionDepth: 0
    functionLinenumber: 10016
    functionLinenumberEnd: 10019
    functionName: roaring::internal::art_node256_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_find_child(const art_node256_t *node,\n                                               art_key_chunk_t
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node256_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10026
      start: 10021
    functionDepth: 2
    functionLinenumber: 10021
    functionLinenumberEnd: 10026
    functionName: roaring::internal::art_node256_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_insert(art_t *art, art_node256_t *node,\n                                    art_ref_t
      child, uint8_t key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10033,1
    - Dst: roaring::internal::art_node48_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10037,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10040,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10043,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node256_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10045
      start: 10028
    functionDepth: 3
    functionLinenumber: 10028
    functionLinenumberEnd: 10045
    functionName: roaring::internal::art_node256_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node48_create
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_erase(art_t *art, art_node256_t *node,\n                                          uint8_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10051
      start: 10047
    functionDepth: 0
    functionLinenumber: 10047
    functionLinenumberEnd: 10051
    functionName: roaring::internal::art_node256_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node256_replace(art_node256_t *node,\n                                       art_key_chunk_t
      key_chunk,\n                                       art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10067
      start: 10053
    functionDepth: 0
    functionLinenumber: 10053
    functionLinenumberEnd: 10067
    functionName: roaring::internal::art_node256_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_next_child(\n    const art_node256_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10086
      start: 10069
    functionDepth: 0
    functionLinenumber: 10069
    functionLinenumberEnd: 10086
    functionName: roaring::internal::art_node256_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_prev_child(\n    const art_node256_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10099
      start: 10088
    functionDepth: 0
    functionLinenumber: 10088
    functionLinenumberEnd: 10099
    functionName: roaring::internal::art_node256_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_child_at(\n    const art_node256_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10114
      start: 10101
    functionDepth: 0
    functionLinenumber: 10101
    functionLinenumberEnd: 10114
    functionName: roaring::internal::art_node256_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_lower_bound(\n    art_node256_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10120,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10123,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10133,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10139,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node256_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10149
      start: 10116
    functionDepth: 3
    functionLinenumber: 10116
    functionLinenumberEnd: 10149
    functionName: roaring::internal::art_node256_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node256_internal_validate(const art_t *art,\n                                          const
      art_node256_t *node,\n                                          art_internal_validate_t
      validator)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10158,1
    - Dst: roaring::internal::art_node16_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10160,1
    - Dst: roaring::internal::art_node48_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10162,1
    - Dst: roaring::internal::art_node256_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10164,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10165
        line_start: 10165
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10169
      start: 10153
    functionDepth: 1
    functionLinenumber: 10153
    functionLinenumberEnd: 10169
    functionName: roaring::internal::art_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_node4_find_child
    - assert
    - roaring::internal::art_node48_find_child
    - roaring::internal::art_node16_find_child
    - roaring::internal::art_node256_find_child
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_find_child(const art_inner_node_t *node,\n                                art_typecode_t
      typecode,\n                                art_key_chunk_t key_chunk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10176,1
    - Dst: roaring::internal::art_node16_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10179,1
    - Dst: roaring::internal::art_node48_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10182,1
    - Dst: roaring::internal::art_node256_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10185,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - node
    - typecode
    - key_chunk
    - new_child
    argTypes:
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10187
        line_start: 10187
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10190
      start: 10172
    functionDepth: 1
    functionLinenumber: 10172
    functionLinenumberEnd: 10190
    functionName: roaring::internal::art_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_node16_replace
    - roaring::internal::art_node256_replace
    - roaring::internal::art_node48_replace
    - assert
    - roaring::internal::art_node4_replace
    linkageType: ''
    returnType: void
    signature: "void art_replace(art_inner_node_t *node, art_typecode_t typecode,\n
      \                       art_key_chunk_t key_chunk, art_ref_t new_child)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10199,1
    - Dst: roaring::internal::art_node16_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10201,1
    - Dst: roaring::internal::art_node48_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10203,1
    - Dst: roaring::internal::art_node256_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10205,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - art
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_t*
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10206
        line_start: 10206
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10210
      start: 10194
    functionDepth: 4
    functionLinenumber: 10194
    functionLinenumberEnd: 10210
    functionName: roaring::internal::art_node_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_node16_erase
    - roaring::internal::art_node256_erase
    - assert
    - roaring::internal::art_node48_erase
    - roaring::internal::art_node4_erase
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node_erase(art_t *art, art_inner_node_t *node,\n                                art_typecode_t
      typecode,\n                                art_key_chunk_t key_chunk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10220,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10222,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10225,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10228,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - art
    - node
    - typecode
    - key_chunk
    - leaf
    argTypes:
    - art_t*
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10230
        line_start: 10230
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10234
      start: 10214
    functionDepth: 3
    functionLinenumber: 10214
    functionLinenumberEnd: 10234
    functionName: roaring::internal::art_node_insert_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_node4_insert
    - assert
    - roaring::internal::art_node16_insert
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node256_insert
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node_insert_leaf(art_t *art, art_inner_node_t *node,\n
      \                                     art_typecode_t typecode,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t leaf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10237,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10238,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10250
        line_start: 10250
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10254
      start: 10236
    functionDepth: 2
    functionLinenumber: 10236
    functionLinenumberEnd: 10254
    functionName: roaring::internal::art_node_get_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_deref
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_node_get_next_free(const art_t *art, art_ref_t ref)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - node
    - typecode
    - next_free
    argTypes:
    - art_node_t*
    - art_typecode_t
    - uint64_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10274
        line_start: 10274
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10277
      start: 10256
    functionDepth: 0
    functionLinenumber: 10256
    functionLinenumberEnd: 10277
    functionName: roaring::internal::art_node_set_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void art_node_set_next_free(art_node_t *node, art_typecode_t typecode,\n
      \                                  uint64_t next_free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10282,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10286
      start: 10280
    functionDepth: 1
    functionLinenumber: 10280
    functionLinenumberEnd: 10286
    functionName: roaring::internal::art_node_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::art_get_index
    - roaring::internal::art_node_set_next_free
    linkageType: ''
    returnType: void
    signature: "void art_node_free(art_t *art, art_node_t *node,\n                          art_typecode_t
      typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10301,1
    - Dst: roaring::internal::art_node16_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10303,1
    - Dst: roaring::internal::art_node48_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10305,1
    - Dst: roaring::internal::art_node256_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10307,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10308
        line_start: 10308
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10312
      start: 10290
    functionDepth: 1
    functionLinenumber: 10290
    functionLinenumberEnd: 10312
    functionName: roaring::internal::art_node_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_node16_next_child
    - assert
    - roaring::internal::art_node4_next_child
    - roaring::internal::art_node256_next_child
    - roaring::internal::art_node48_next_child
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_next_child(const art_node_t *node,\n
      \                                              art_typecode_t typecode,\n                                               int
      index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10327,1
    - Dst: roaring::internal::art_node16_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10329,1
    - Dst: roaring::internal::art_node48_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10331,1
    - Dst: roaring::internal::art_node256_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10333,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10334
        line_start: 10334
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10338
      start: 10316
    functionDepth: 1
    functionLinenumber: 10316
    functionLinenumberEnd: 10338
    functionName: roaring::internal::art_node_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_node4_prev_child
    - roaring::internal::art_node48_prev_child
    - assert
    - roaring::internal::art_node16_prev_child
    - roaring::internal::art_node256_prev_child
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_prev_child(const art_node_t *node,\n
      \                                              art_typecode_t typecode,\n                                               int
      index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10354,1
    - Dst: roaring::internal::art_node16_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10356,1
    - Dst: roaring::internal::art_node48_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10358,1
    - Dst: roaring::internal::art_node256_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10360,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10361
        line_start: 10361
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10365
      start: 10343
    functionDepth: 1
    functionLinenumber: 10343
    functionLinenumberEnd: 10365
    functionName: roaring::internal::art_node_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_node4_child_at
    - roaring::internal::art_node256_child_at
    - assert
    - roaring::internal::art_node16_child_at
    - roaring::internal::art_node48_child_at
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_child_at(const art_node_t *node,\n                                             art_typecode_t
      typecode,\n                                             int index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10380,1
    - Dst: roaring::internal::art_node16_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10382,1
    - Dst: roaring::internal::art_node48_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10384,1
    - Dst: roaring::internal::art_node256_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10386,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10387
        line_start: 10387
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10391
      start: 10369
    functionDepth: 1
    functionLinenumber: 10369
    functionLinenumberEnd: 10391
    functionName: roaring::internal::art_node_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_node48_lower_bound
    - roaring::internal::art_node16_lower_bound
    - roaring::internal::art_node256_lower_bound
    - assert
    - roaring::internal::art_node4_lower_bound
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_lower_bound(const art_node_t *node,\n
      \                                               art_typecode_t typecode,\n                                                art_key_chunk_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key1
    - key1_from
    - key2
    - key2_from
    - length
    argTypes:
    - art_key_chunk_t[]
    - uint8_t
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10404
      start: 10399
    functionDepth: 0
    functionLinenumber: 10399
    functionLinenumberEnd: 10404
    functionName: roaring::internal::art_compare_prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int art_compare_prefix(const art_key_chunk_t key1[],\n                                     uint8_t
      key1_from,\n                                     const art_key_chunk_t key2[],\n
      \                                    uint8_t key2_from, uint8_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - art_key_chunk_t[]
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10410
      start: 10407
    functionDepth: 1
    functionLinenumber: 10407
    functionLinenumberEnd: 10410
    functionName: roaring::internal::art_compare_keys
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_compare_prefix
    linkageType: ''
    returnType: int
    signature: "int art_compare_keys(const art_key_chunk_t key1[],\n                     const
      art_key_chunk_t key2[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - key1
    - key1_from
    - key1_to
    - key2
    - key2_from
    - key2_to
    argTypes:
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10429
      start: 10413
    functionDepth: 0
    functionLinenumber: 10413
    functionLinenumberEnd: 10429
    functionName: roaring::internal::art_common_prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t art_common_prefix(const art_key_chunk_t key1[],\n                                 uint8_t
      key1_from, uint8_t key1_to,\n                                 const art_key_chunk_t
      key2[],\n                                 uint8_t key2_from, uint8_t key2_to)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10450,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10453,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10453,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10456,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10458
      start: 10435
    functionDepth: 3
    functionLinenumber: 10435
    functionLinenumberEnd: 10458
    functionName: roaring::internal::art_extend
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - memset
    - roaring::internal::art_node_set_next_free
    - roaring::internal::art_get_node
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void art_extend(art_t *art, art_typecode_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10466,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10467
      start: 10464
    functionDepth: 3
    functionLinenumber: 10464
    functionLinenumberEnd: 10467
    functionName: roaring::internal::art_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_next_free(const art_t *art, art_typecode_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_extend
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10476,1
    - Dst: roaring::internal::art_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10482
      start: 10473
    functionDepth: 4
    functionLinenumber: 10473
    functionLinenumberEnd: 10482
    functionName: roaring::internal::art_allocate_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring::internal::art_extend
    - roaring::internal::art_next_free
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_allocate_index(art_t *art, art_typecode_t typecode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10489,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10490,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10491,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10497,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10499,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10502,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10509,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10512,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10519,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10521,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10523,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10524,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10527,1
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10530,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10533,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10540,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10545,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10553,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10553,1
    - Dst: roaring::internal::art_insert_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10556,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10559,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10561,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10561,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10566,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - art
    - ref
    - key
    - depth
    - new_leaf
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t[]
    - uint8_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10568
      start: 10486
    functionDepth: 4
    functionLinenumber: 10486
    functionLinenumberEnd: 10568
    functionName: roaring::internal::art_insert_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_node4_insert
    - memmove
    - roaring::internal::art_deref
    - roaring::internal::art_node4_create
    - roaring::internal::art_node_insert_leaf
    - roaring::internal::art_insert_at
    - roaring::internal::art_ref_typecode
    - roaring_malloc
    - roaring_free
    - roaring::internal::art_replace
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_insert_at(art_t *art, art_ref_t ref,\n                               const
      art_key_chunk_t key[], uint8_t depth,\n                               art_ref_t
      new_leaf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10592,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10593,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10594,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10602,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10605,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10607,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10615,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10615,1
    - Dst: roaring::internal::art_erase_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10623,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10632,1
    - Dst: roaring::internal::art_node_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10636,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10636,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10640,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - art
    - ref
    - key
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10644
      start: 10585
    functionDepth: 5
    functionLinenumber: 10585
    functionLinenumberEnd: 10644
    functionName: roaring::internal::art_erase_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_node_erase
    - roaring::internal::art_node_free
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_erase_at
    - roaring::internal::art_replace
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    linkageType: ''
    returnType: art_erase_result_t
    signature: "art_erase_result_t art_erase_at(art_t *art, art_ref_t ref,\n                                       const
      art_key_chunk_t *key,\n                                       uint8_t depth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10650,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10651,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10653,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10658,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10658,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10667,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - art
    - ref
    - key
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10677
      start: 10648
    functionDepth: 2
    functionLinenumber: 10648
    functionLinenumberEnd: 10677
    functionName: roaring::internal::art_find_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    linkageType: ''
    returnType: art_val_t
    signature: "art_val_t *art_find_at(const art_t *art, art_ref_t ref,\n                              const
      art_key_chunk_t *key, uint8_t depth)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10680,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10682,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10685,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10688,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10691,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10694,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10696
        line_start: 10696
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10700
      start: 10679
    functionDepth: 1
    functionLinenumber: 10679
    functionLinenumberEnd: 10700
    functionName: roaring::internal::art_node_print_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - printf
    - assert
    - roaring::internal::art_ref_typecode
    linkageType: ''
    returnType: void
    signature: void art_node_print_type(art_ref_t ref)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10703,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10704,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10705,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10707,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10709,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10712,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10715,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10716,1
    - Dst: roaring::internal::art_node_print_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10717,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10718,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10720,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10721,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10722,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10724,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10725,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10727,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10729,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10731,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10735,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10736,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10737,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10743,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10744,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10745,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10752,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10753,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10754,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10755,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10764,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10765,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10766,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10771,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10775,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10776,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 3
    argNames:
    - art
    - ref
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10770
        line_start: 10770
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10777
      start: 10702
    functionDepth: 2
    functionLinenumber: 10702
    functionLinenumberEnd: 10777
    functionName: roaring::internal::art_node_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_deref
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_printf
    - roaring::internal::art_node_print_type
    - roaring::internal::art_is_leaf
    - printf
    linkageType: ''
    returnType: void
    signature: void art_node_printf(const art_t *art, art_ref_t ref, uint8_t depth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10785,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10786,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10788,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10794,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10794,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10818,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10818,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10820,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10820,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10822,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10822,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (idx != first_free)
      pos:
        line_end: 10787
        line_start: 10787
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10828
      start: 10784
    functionDepth: 3
    functionLinenumber: 10784
    functionLinenumberEnd: 10828
    functionName: roaring::internal::art_move_node_to_shrink
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_get_node
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_to_ref
    - roaring::internal::art_ref_index
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_node_set_next_free
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_move_node_to_shrink(art_t *art, art_ref_t ref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10837,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10840,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10840,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10848,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10848,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10856
      start: 10833
    functionDepth: 3
    functionLinenumber: 10833
    functionLinenumberEnd: 10856
    functionName: roaring::internal::art_sort_free_lists
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring_calloc
    - roaring::internal::art_get_node
    - roaring::internal::art_to_ref
    - roaring_free
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_node_set_next_free
    linkageType: ''
    returnType: void
    signature: void art_sort_free_lists(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10875
      start: 10862
    functionDepth: 0
    functionLinenumber: 10862
    functionLinenumberEnd: 10875
    functionName: roaring::internal::art_shrink_node_arrays
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring_realloc
    linkageType: ''
    returnType: size_t
    signature: size_t art_shrink_node_arrays(art_t *art)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10882,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10885,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10887,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10890,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10891,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10895,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10898,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10899,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10903,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10908,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10909,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10914,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10918,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10919,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10924,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10923
        line_start: 10923
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10927
      start: 10881
    functionDepth: 4
    functionLinenumber: 10881
    functionLinenumberEnd: 10927
    functionName: roaring::internal::art_shrink_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_deref
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_shrink_at
    - roaring::internal::art_is_leaf
    - roaring::internal::art_move_node_to_shrink
    linkageType: ''
    returnType: void
    signature: void art_shrink_at(art_t *art, art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10931,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10937
      start: 10929
    functionDepth: 0
    functionLinenumber: 10929
    functionLinenumberEnd: 10937
    functionName: roaring::internal::art_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void art_init_cleared(art_t *art)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10940,1
    - Dst: roaring::internal::art_sort_free_lists
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10944,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10945,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10946,1
    - Dst: roaring::internal::art_shrink_node_arrays
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10949
      start: 10939
    functionDepth: 5
    functionLinenumber: 10939
    functionLinenumberEnd: 10949
    functionName: roaring::internal::art_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_sort_free_lists
    - roaring::internal::art_shrink_node_arrays
    - roaring::internal::art_shrink_at
    - roaring::internal::art_move_node_to_shrink
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_shrink_to_fit(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10959
      start: 10951
    functionDepth: 0
    functionLinenumber: 10951
    functionLinenumberEnd: 10959
    functionName: roaring::internal::art_is_shrunken
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool art_is_shrunken(const art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_leaf_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10962,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10965,1
    - Dst: roaring::internal::art_insert_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10967,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - art
    - key
    - val
    argTypes:
    - art_t*
    - art_key_chunk_t*
    - art_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10969
      start: 10961
    functionDepth: 5
    functionLinenumber: 10961
    functionLinenumberEnd: 10969
    functionName: roaring::internal::art_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_insert_at
    - roaring::internal::art_leaf_create
    - roaring::internal::art_deref
    linkageType: ''
    returnType: art_val_t
    signature: art_val_t *art_insert(art_t *art, const art_key_chunk_t *key, art_val_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_erase_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - art
    - key
    - erased_val
    argTypes:
    - art_t*
    - art_key_chunk_t*
    - art_val_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10986
      start: 10971
    functionDepth: 6
    functionLinenumber: 10971
    functionLinenumberEnd: 10986
    functionName: roaring::internal::art_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_erase_at
    linkageType: ''
    returnType: bool
    signature: bool art_erase(art_t *art, const art_key_chunk_t *key, art_val_t *erased_val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_find_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10993
      start: 10988
    functionDepth: 3
    functionLinenumber: 10988
    functionLinenumberEnd: 10993
    functionName: roaring::internal::art_find
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_find_at
    linkageType: ''
    returnType: art_val_t
    signature: art_val_t *art_find(const art_t *art, const art_key_chunk_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10997
      start: 10995
    functionDepth: 0
    functionLinenumber: 10995
    functionLinenumberEnd: 10997
    functionName: roaring::internal::art_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool art_is_empty(const art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11004
      start: 10999
    functionDepth: 0
    functionLinenumber: 10999
    functionLinenumberEnd: 11004
    functionName: roaring::internal::art_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void art_free(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11011
      start: 11006
    functionDepth: 3
    functionLinenumber: 11006
    functionLinenumberEnd: 11011
    functionName: roaring::internal::art_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_printf
    linkageType: ''
    returnType: void
    signature: void art_printf(const art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11017
      start: 11015
    functionDepth: 0
    functionLinenumber: 11015
    functionLinenumberEnd: 11017
    functionName: roaring::internal::art_iterator_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_iterator_ref(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11021,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11022
      start: 11020
    functionDepth: 2
    functionLinenumber: 11020
    functionLinenumberEnd: 11022
    functionName: roaring::internal::art_iterator_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_iterator_ref
    linkageType: ''
    returnType: art_node_t
    signature: art_node_t *art_iterator_node(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11030,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - iterator
    - leaf_ref
    argTypes:
    - art_iterator_t*
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11034
      start: 11026
    functionDepth: 2
    functionLinenumber: 11026
    functionLinenumberEnd: 11034
    functionName: roaring::internal::art_iterator_valid_loc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_deref
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool art_iterator_valid_loc(art_iterator_t *iterator,\n                                          art_ref_t
      leaf_ref)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11042
      start: 11038
    functionDepth: 0
    functionLinenumber: 11038
    functionLinenumberEnd: 11042
    functionName: roaring::internal::art_iterator_invalid_loc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memset
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_invalid_loc(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11053,1
    - Dst: roaring::internal::art_node_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11054,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11055,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - iterator
    - ref
    - index_in_node
    argTypes:
    - art_iterator_t*
    - art_ref_t
    - uint8_t
    assertStmts:
    - condition: (indexed_child.child != CROARING_ART_NULL_REF)
      pos:
        line_end: 11055
        line_start: 11055
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 11059
      start: 11048
    functionDepth: 2
    functionLinenumber: 11048
    functionLinenumberEnd: 11059
    functionName: roaring::internal::art_iterator_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - assert
    - roaring::internal::art_node_child_at
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_deref
    linkageType: ''
    returnType: void
    signature: "void art_iterator_down(art_iterator_t *iterator, art_ref_t ref,\n
      \                             uint8_t index_in_node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11066,1
    - Dst: roaring::internal::art_node_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11069,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11069,1
    - Dst: roaring::internal::art_node_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11072,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11072,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11079
      start: 11063
    functionDepth: 3
    functionLinenumber: 11063
    functionLinenumberEnd: 11079
    functionName: roaring::internal::art_iterator_neighbor_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_prev_child
    - roaring::internal::art_iterator_down
    - roaring::internal::art_node_next_child
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_iterator_neighbor_child(art_iterator_t *iterator,\n
      \                                            bool forward)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11092
      start: 11083
    functionDepth: 3
    functionLinenumber: 11083
    functionLinenumberEnd: 11092
    functionName: roaring::internal::art_iterator_up
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_iterator_node
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_up(art_iterator_t *iterator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11097,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11099,1
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11102
      start: 11096
    functionDepth: 6
    functionLinenumber: 11096
    functionLinenumberEnd: 11102
    functionName: roaring::internal::art_iterator_up_and_move
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_iterator_move
    - roaring::internal::art_iterator_up
    - roaring::internal::art_iterator_invalid_loc
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_up_and_move(art_iterator_t *iterator, bool forward)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11108,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11109,1
    - Dst: roaring::internal::art_node_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11113,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11113,1
    - Dst: roaring::internal::art_node_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11116,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11116,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11118,1
    - Dst: roaring::internal::art_iterator_valid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ref
    - iterator
    - first
    argTypes:
    - art_ref_t
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11125
      start: 11106
    functionDepth: 3
    functionLinenumber: 11106
    functionLinenumberEnd: 11125
    functionName: roaring::internal::art_node_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_iterator_down
    - roaring::internal::art_deref
    - roaring::internal::art_iterator_valid_loc
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_prev_child
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node_next_child
    linkageType: ''
    returnType: bool
    signature: "bool art_node_init_iterator(art_ref_t ref, art_iterator_t *iterator,\n
      \                                  bool first)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11128,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11128,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11129,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11132,1
    - Dst: roaring::internal::art_iterator_neighbor_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11136,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11140,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11144
      start: 11127
    functionDepth: 5
    functionLinenumber: 11127
    functionLinenumberEnd: 11144
    functionName: roaring::internal::art_iterator_move
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_iterator_up_and_move
    - roaring::internal::art_iterator_neighbor_child
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_up
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_move(art_iterator_t *iterator, bool forward)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11151,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11153,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11155,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11161,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11165,1
    - Dst: roaring::internal::art_node_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11170,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11171,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11174,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11178,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11179,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11182,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11185,1
    - Dst: roaring::internal::art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11186,1
    - Dst: roaring::internal::art_iterator_valid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11188,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ref
    - iterator
    - key
    argTypes:
    - art_ref_t
    - art_iterator_t*
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11193
      start: 11148
    functionDepth: 5
    functionLinenumber: 11148
    functionLinenumberEnd: 11193
    functionName: roaring::internal::art_node_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::art_iterator_up_and_move
    - roaring::internal::art_deref
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_iterator_valid_loc
    - roaring::internal::art_node_lower_bound
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_is_leaf
    - roaring::internal::art_iterator_down
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_compare_keys
    linkageType: ''
    returnType: bool
    signature: "bool art_node_iterator_lower_bound(art_ref_t ref,\n                                          art_iterator_t
      *iterator,\n                                          const art_key_chunk_t
      key[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - art
    - first
    argTypes:
    - art_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11203
      start: 11195
    functionDepth: 4
    functionLinenumber: 11195
    functionLinenumberEnd: 11203
    functionName: roaring::internal::art_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_init_iterator
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_init_iterator(art_t *art, bool first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11207
      start: 11205
    functionDepth: 6
    functionLinenumber: 11205
    functionLinenumberEnd: 11207
    functionName: roaring::internal::art_iterator_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::internal::art_iterator_move
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_next(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11211
      start: 11209
    functionDepth: 6
    functionLinenumber: 11209
    functionLinenumberEnd: 11211
    functionName: roaring::internal::art_iterator_prev
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_move
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_prev(art_iterator_t *iterator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11220,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11224,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11227,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11231,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11234,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11236,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11236,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11243,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11245,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11249,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11249,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11252,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - iterator
    - key
    argTypes:
    - art_iterator_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11254
      start: 11213
    functionDepth: 6
    functionLinenumber: 11213
    functionLinenumberEnd: 11254
    functionName: roaring::internal::art_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_node
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_up
    linkageType: ''
    returnType: bool
    signature: "bool art_iterator_lower_bound(art_iterator_t *iterator,\n                              const
      art_key_chunk_t *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11263
      start: 11256
    functionDepth: 6
    functionLinenumber: 11256
    functionLinenumberEnd: 11263
    functionName: roaring::internal::art_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_lower_bound(art_t *art, const art_key_chunk_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11269,1
    - Dst: roaring::internal::art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11270,1
    - Dst: roaring::internal::art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11275
      start: 11265
    functionDepth: 7
    functionLinenumber: 11265
    functionLinenumberEnd: 11275
    functionName: roaring::internal::art_upper_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_iterator_next
    - roaring::internal::art_compare_keys
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_upper_bound(art_t *art, const art_key_chunk_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11280,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11281,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - iterator
    - key
    - val
    argTypes:
    - art_iterator_t*
    - art_key_chunk_t*
    - art_val_t
    assertStmts:
    - condition: (iterator->art->root != CROARING_ART_NULL_REF)
      pos:
        line_end: 11280
        line_start: 11280
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 11285
      start: 11277
    functionDepth: 6
    functionLinenumber: 11277
    functionLinenumberEnd: 11285
    functionName: roaring::internal::art_iterator_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    - assert
    - roaring::internal::art_insert
    linkageType: ''
    returnType: void
    signature: "void art_iterator_insert(art_iterator_t *iterator, const art_key_chunk_t
      *key,\n                         art_val_t val)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11296,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11300,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11300,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11301,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11301,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11302,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11306,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11311,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11313,1
    - Dst: roaring::internal::art_node_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11317,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11317,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11324,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11326,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11328,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11331,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11331,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - iterator
    - erased_val
    argTypes:
    - art_iterator_t*
    - art_val_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11346
      start: 11287
    functionDepth: 6
    functionLinenumber: 11287
    functionLinenumberEnd: 11346
    functionName: roaring::internal::art_iterator_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::art_iterator_up
    - roaring::internal::art_node_erase
    - roaring::internal::art_node_free
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_replace
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_node
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_erase(art_iterator_t *iterator, art_val_t *erased_val)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11351,1
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11353,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11354,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11355,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11357,1
    - Dst: art_internal_validate_t::validate_cb
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11362,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11370,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11373,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11376,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11380,1
    - Dst: roaring::internal::art_node4_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11382,1
    - Dst: roaring::internal::art_node16_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11388,1
    - Dst: roaring::internal::art_node48_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11394,1
    - Dst: roaring::internal::art_node256_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11400,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11406,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - art
    - ref
    - validator
    argTypes:
    - art_t*
    - art_ref_t
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11410
      start: 11348
    functionDepth: 2
    functionLinenumber: 11348
    functionLinenumberEnd: 11410
    functionName: roaring::internal::art_internal_validate_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - art_internal_validate_t::validate_cb
    - roaring::internal::art_deref
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_validate_fail
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node4_internal_validate
    - roaring::internal::art_node256_internal_validate
    - roaring::internal::art_node48_internal_validate
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node16_internal_validate
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool art_internal_validate_at(const art_t *art, art_ref_t ref,\n                                     art_internal_validate_t
      validator)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11436,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - art
    - reason
    - validate_cb
    - context
    argTypes:
    - art_t*
    - char**
    - art_validate_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11441
      start: 11412
    functionDepth: 3
    functionLinenumber: 11412
    functionLinenumberEnd: 11441
    functionName: roaring::internal::art_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_internal_validate(const art_t *art, const char **reason,\n
      \                          art_validate_cb_t validate_cb, void *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11468
      start: 11452
    functionDepth: 1
    functionLinenumber: 11452
    functionLinenumberEnd: 11468
    functionName: roaring::internal::art_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_size_in_bytes(const art_t *art)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11474,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11480,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11484,1
    - Dst: CROARING_ART_ALIGN_SIZE_RELATIVE
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11489,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11490,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - art
    - buf
    argTypes:
    - art_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11503
      start: 11470
    functionDepth: 1
    functionLinenumber: 11470
    functionLinenumberEnd: 11503
    functionName: roaring::internal::art_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CROARING_ART_ALIGN_SIZE_RELATIVE
    - memset
    - memcpy
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_serialize(const art_t *art, char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_init_cleared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11510,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11515,1
    - Dst: CROARING_STATIC_ASSERT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11522,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11524,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11525,1
    - Dst: CROARING_ART_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11531,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - buf
    - maxbytes
    - art
    argTypes:
    - char*
    - size_t
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11550
      start: 11505
    functionDepth: 1
    functionLinenumber: 11505
    functionLinenumberEnd: 11550
    functionName: roaring::internal::art_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CROARING_STATIC_ASSERT
    - roaring::internal::art_init_cleared
    - memcpy
    - CROARING_ART_ALIGN_BUF
    linkageType: ''
    returnType: size_t
    signature: size_t art_frozen_view(const char *buf, size_t maxbytes, art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - validate
    - msg
    argTypes:
    - art_internal_validate_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9309
      start: 9305
    functionDepth: 0
    functionLinenumber: 9305
    functionLinenumberEnd: 9309
    functionName: roaring::internal::art_validate_fail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool art_validate_fail(const art_internal_validate_t *validate,\n
      \                                    const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - typecode
    argTypes:
    - uint64_t
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9313
      start: 9311
    functionDepth: 0
    functionLinenumber: 9311
    functionLinenumberEnd: 9313
    functionName: roaring::internal::art_to_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_to_ref(uint64_t index, art_typecode_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9317
      start: 9315
    functionDepth: 0
    functionLinenumber: 9315
    functionLinenumberEnd: 9317
    functionName: roaring::internal::art_ref_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_ref_index(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9321
      start: 9319
    functionDepth: 0
    functionLinenumber: 9319
    functionLinenumberEnd: 9321
    functionName: roaring::internal::art_ref_typecode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: art_typecode_t
    signature: art_typecode_t art_ref_typecode(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9329,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9330,1
    - Dst: roaring::internal::art_ref_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (ref != CROARING_ART_NULL_REF)
      pos:
        line_end: 9328
        line_start: 9328
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9333
      start: 9328
    functionDepth: 1
    functionLinenumber: 9328
    functionLinenumberEnd: 9333
    functionName: roaring::internal::art_deref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 34
    functionsReached:
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_ref_index
    linkageType: ''
    returnType: art_node_t
    signature: art_node_t *art_deref(const art_t *art, art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9337,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - art
    - index
    - typecode
    argTypes:
    - art_t*
    - uint64_t
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9338
      start: 9335
    functionDepth: 2
    functionLinenumber: 9335
    functionLinenumberEnd: 9338
    functionName: roaring::internal::art_get_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: art_node_t
    signature: "art_node_t *art_get_node(const art_t *art, uint64_t index,\n                                       art_typecode_t
      typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 9354
        line_start: 9354
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9358
      start: 9340
    functionDepth: 0
    functionLinenumber: 9340
    functionLinenumberEnd: 9358
    functionName: roaring::internal::art_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t art_get_index(const art_t *art, const art_node_t *node,\n
      \                                    art_typecode_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9365,1
    - Dst: roaring::internal::art_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9366
      start: 9363
    functionDepth: 1
    functionLinenumber: 9363
    functionLinenumberEnd: 9366
    functionName: roaring::internal::art_get_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::art_get_index
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_get_ref(const art_t *art, const art_node_t *node,\n
      \                                   art_typecode_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9370
      start: 9368
    functionDepth: 1
    functionLinenumber: 9368
    functionLinenumberEnd: 9370
    functionName: roaring::internal::art_is_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - roaring::internal::art_ref_typecode
    linkageType: ''
    returnType: bool
    signature: bool art_is_leaf(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - node
    - prefix
    - prefix_size
    argTypes:
    - art_inner_node_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9377
      start: 9372
    functionDepth: 0
    functionLinenumber: 9372
    functionLinenumberEnd: 9377
    functionName: roaring::internal::art_init_inner_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void art_init_inner_node(art_inner_node_t *node,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9388,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9391,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - key
    - val
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - art_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9394
      start: 9386
    functionDepth: 5
    functionLinenumber: 9386
    functionLinenumberEnd: 9394
    functionName: roaring::internal::art_leaf_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_allocate_index
    - roaring::internal::art_to_ref
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_leaf_create(art_t *art, const art_key_chunk_t key[],\n
      \                                art_val_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9419,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9425
      start: 9417
    functionDepth: 5
    functionLinenumber: 9417
    functionLinenumberEnd: 9425
    functionName: roaring::internal::art_node4_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node4_t
    signature: "art_node4_t *art_node4_create(art_t *art, const art_key_chunk_t prefix[],\n
      \                                    uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9435
      start: 9427
    functionDepth: 0
    functionLinenumber: 9427
    functionLinenumberEnd: 9435
    functionName: roaring::internal::art_node4_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_find_child(const art_node4_t *node,\n                                             art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9448,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9450,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9456,1
    - Dst: roaring::internal::art_node16_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9459,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9463,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9465,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node4_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9467
      start: 9437
    functionDepth: 3
    functionLinenumber: 9437
    functionLinenumberEnd: 9467
    functionName: roaring::internal::art_node4_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - memmove
    - roaring::internal::art_node_free
    - roaring::internal::art_node16_create
    - roaring::internal::art_node16_insert
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_insert(art_t *art, art_node4_t *node,\n                                  art_ref_t
      child, uint8_t key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9478,1
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9486,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9489,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9490,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9492,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9497,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9502,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9504,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9508
      start: 9469
    functionDepth: 2
    functionLinenumber: 9469
    functionLinenumberEnd: 9508
    functionName: roaring::internal::art_node4_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - memmove
    - roaring::internal::art_deref
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    - roaring::internal::art_is_leaf
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_erase(art_t *art, art_node4_t *node,\n                                        art_key_chunk_t
      key_chunk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9519
      start: 9510
    functionDepth: 0
    functionLinenumber: 9510
    functionLinenumberEnd: 9519
    functionName: roaring::internal::art_node4_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node4_replace(art_node4_t *node,\n                                     art_key_chunk_t
      key_chunk,\n                                     art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9533
      start: 9521
    functionDepth: 0
    functionLinenumber: 9521
    functionLinenumberEnd: 9533
    functionName: roaring::internal::art_node4_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_next_child(const art_node4_t *node,\n
      \                                                      int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9550
      start: 9535
    functionDepth: 0
    functionLinenumber: 9535
    functionLinenumberEnd: 9550
    functionName: roaring::internal::art_node4_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_prev_child(const art_node4_t *node,\n
      \                                                      int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9563
      start: 9552
    functionDepth: 0
    functionLinenumber: 9552
    functionLinenumberEnd: 9563
    functionName: roaring::internal::art_node4_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_child_at(const art_node4_t *node,\n
      \                                                    int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9578
      start: 9565
    functionDepth: 0
    functionLinenumber: 9565
    functionLinenumberEnd: 9578
    functionName: roaring::internal::art_node4_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_lower_bound(\n    art_node4_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9587,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9590,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9593,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9600,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9606,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9611,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node4_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9616
      start: 9583
    functionDepth: 3
    functionLinenumber: 9583
    functionLinenumberEnd: 9616
    functionName: roaring::internal::art_node4_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node4_internal_validate(const art_t *art,\n                                        const
      art_node4_t *node,\n                                        art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9621,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9627
      start: 9618
    functionDepth: 5
    functionLinenumber: 9618
    functionLinenumberEnd: 9627
    functionName: roaring::internal::art_node16_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node16_t
    signature: "art_node16_t *art_node16_create(art_t *art,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9637
      start: 9629
    functionDepth: 0
    functionLinenumber: 9629
    functionLinenumberEnd: 9637
    functionName: roaring::internal::art_node16_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_find_child(const art_node16_t *node,\n                                              art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9650,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9652,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9658,1
    - Dst: roaring::internal::art_node48_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9661,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9663,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9665,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node16_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9667
      start: 9639
    functionDepth: 3
    functionLinenumber: 9639
    functionLinenumberEnd: 9667
    functionName: roaring::internal::art_node16_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - memmove
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node48_create
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_insert(art_t *art, art_node16_t *node,\n                                   art_ref_t
      child, uint8_t key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9675,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9677,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9684,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9687,1
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9691,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9693,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node16_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9695
      start: 9669
    functionDepth: 3
    functionLinenumber: 9669
    functionLinenumberEnd: 9695
    functionName: roaring::internal::art_node16_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_node4_insert
    - memmove
    - roaring::internal::art_node4_create
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_erase(art_t *art, art_node16_t *node,\n                                         uint8_t
      key_chunk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9706
      start: 9697
    functionDepth: 0
    functionLinenumber: 9697
    functionLinenumberEnd: 9706
    functionName: roaring::internal::art_node16_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node16_replace(art_node16_t *node,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9720
      start: 9708
    functionDepth: 0
    functionLinenumber: 9708
    functionLinenumberEnd: 9720
    functionName: roaring::internal::art_node16_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_next_child(\n    const art_node16_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9737
      start: 9722
    functionDepth: 0
    functionLinenumber: 9722
    functionLinenumberEnd: 9737
    functionName: roaring::internal::art_node16_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_prev_child(\n    const art_node16_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9750
      start: 9739
    functionDepth: 0
    functionLinenumber: 9739
    functionLinenumberEnd: 9750
    functionName: roaring::internal::art_node16_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_child_at(const art_node16_t *node,\n
      \                                                     int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9765
      start: 9752
    functionDepth: 0
    functionLinenumber: 9752
    functionLinenumberEnd: 9765
    functionName: roaring::internal::art_node16_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_lower_bound(\n    art_node16_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9771,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9774,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9780,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9786,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9791,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node16_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9796
      start: 9767
    functionDepth: 3
    functionLinenumber: 9767
    functionLinenumberEnd: 9796
    functionName: roaring::internal::art_node16_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node16_internal_validate(const art_t *art,\n                                         const
      art_node16_t *node,\n                                         art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9801,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9811
      start: 9798
    functionDepth: 5
    functionLinenumber: 9798
    functionLinenumberEnd: 9811
    functionName: roaring::internal::art_node48_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node48_t
    signature: "art_node48_t *art_node48_create(art_t *art,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9820
      start: 9813
    functionDepth: 0
    functionLinenumber: 9813
    functionLinenumberEnd: 9820
    functionName: roaring::internal::art_node48_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_find_child(const art_node48_t *node,\n                                              art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9827,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9831,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9832,1
    - Dst: roaring::internal::art_node256_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9835,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9839,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9842,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node48_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9844
      start: 9822
    functionDepth: 3
    functionLinenumber: 9822
    functionLinenumberEnd: 9844
    functionName: roaring::internal::art_node48_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::art_node_free
    - roaring_trailing_zeroes
    - UINT64_C
    - roaring::internal::art_get_ref
    - roaring::internal::art_node256_insert
    - roaring::internal::art_node256_create
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_insert(art_t *art, art_node48_t *node,\n                                   art_ref_t
      child, uint8_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9850,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9853,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9856,1
    - Dst: roaring::internal::art_node16_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9860,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9864,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9867,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node48_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9869
      start: 9846
    functionDepth: 3
    functionLinenumber: 9846
    functionLinenumberEnd: 9869
    functionName: roaring::internal::art_node48_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_node_free
    - UINT64_C
    - roaring::internal::art_node16_insert
    - roaring::internal::art_node16_create
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_erase(art_t *art, art_node48_t *node,\n                                         uint8_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (val_idx != CROARING_ART_NODE48_EMPTY_VAL)
      pos:
        line_end: 9874
        line_start: 9874
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9877
      start: 9871
    functionDepth: 0
    functionLinenumber: 9871
    functionLinenumberEnd: 9877
    functionName: roaring::internal::art_node48_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void art_node48_replace(art_node48_t *node,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9893
      start: 9879
    functionDepth: 0
    functionLinenumber: 9879
    functionLinenumberEnd: 9893
    functionName: roaring::internal::art_node48_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_next_child(\n    const art_node48_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9912
      start: 9895
    functionDepth: 0
    functionLinenumber: 9895
    functionLinenumberEnd: 9912
    functionName: roaring::internal::art_node48_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_prev_child(\n    const art_node48_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9925
      start: 9914
    functionDepth: 0
    functionLinenumber: 9914
    functionLinenumberEnd: 9925
    functionName: roaring::internal::art_node48_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_child_at(const art_node48_t *node,\n
      \                                                     int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9940
      start: 9927
    functionDepth: 0
    functionLinenumber: 9927
    functionLinenumberEnd: 9940
    functionName: roaring::internal::art_node48_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_lower_bound(\n    art_node48_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9946,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9949,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9955,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9956,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9962,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9964,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9970,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9975,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9980,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9982,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9993,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node48_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10000
      start: 9942
    functionDepth: 3
    functionLinenumber: 9942
    functionLinenumberEnd: 10000
    functionName: roaring::internal::art_node48_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring_trailing_zeroes
    - UINT64_C
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node48_internal_validate(const art_t *art,\n                                         const
      art_node48_t *node,\n                                         art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10005,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10014
      start: 10002
    functionDepth: 5
    functionLinenumber: 10002
    functionLinenumberEnd: 10014
    functionName: roaring::internal::art_node256_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node256_t
    signature: "art_node256_t *art_node256_create(art_t *art,\n                                         const
      art_key_chunk_t prefix[],\n                                         uint8_t
      prefix_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10019
      start: 10016
    functionDepth: 0
    functionLinenumber: 10016
    functionLinenumberEnd: 10019
    functionName: roaring::internal::art_node256_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_find_child(const art_node256_t *node,\n                                               art_key_chunk_t
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node256_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10026
      start: 10021
    functionDepth: 2
    functionLinenumber: 10021
    functionLinenumberEnd: 10026
    functionName: roaring::internal::art_node256_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_insert(art_t *art, art_node256_t *node,\n                                    art_ref_t
      child, uint8_t key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10033,1
    - Dst: roaring::internal::art_node48_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10037,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10040,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10043,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node256_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10045
      start: 10028
    functionDepth: 3
    functionLinenumber: 10028
    functionLinenumberEnd: 10045
    functionName: roaring::internal::art_node256_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node48_create
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_erase(art_t *art, art_node256_t *node,\n                                          uint8_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10051
      start: 10047
    functionDepth: 0
    functionLinenumber: 10047
    functionLinenumberEnd: 10051
    functionName: roaring::internal::art_node256_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node256_replace(art_node256_t *node,\n                                       art_key_chunk_t
      key_chunk,\n                                       art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10067
      start: 10053
    functionDepth: 0
    functionLinenumber: 10053
    functionLinenumberEnd: 10067
    functionName: roaring::internal::art_node256_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_next_child(\n    const art_node256_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10086
      start: 10069
    functionDepth: 0
    functionLinenumber: 10069
    functionLinenumberEnd: 10086
    functionName: roaring::internal::art_node256_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_prev_child(\n    const art_node256_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10099
      start: 10088
    functionDepth: 0
    functionLinenumber: 10088
    functionLinenumberEnd: 10099
    functionName: roaring::internal::art_node256_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_child_at(\n    const art_node256_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10114
      start: 10101
    functionDepth: 0
    functionLinenumber: 10101
    functionLinenumberEnd: 10114
    functionName: roaring::internal::art_node256_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_lower_bound(\n    art_node256_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10120,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10123,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10133,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10139,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node256_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10149
      start: 10116
    functionDepth: 3
    functionLinenumber: 10116
    functionLinenumberEnd: 10149
    functionName: roaring::internal::art_node256_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node256_internal_validate(const art_t *art,\n                                          const
      art_node256_t *node,\n                                          art_internal_validate_t
      validator)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10158,1
    - Dst: roaring::internal::art_node16_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10160,1
    - Dst: roaring::internal::art_node48_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10162,1
    - Dst: roaring::internal::art_node256_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10164,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10165
        line_start: 10165
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10169
      start: 10153
    functionDepth: 1
    functionLinenumber: 10153
    functionLinenumberEnd: 10169
    functionName: roaring::internal::art_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_node4_find_child
    - assert
    - roaring::internal::art_node48_find_child
    - roaring::internal::art_node16_find_child
    - roaring::internal::art_node256_find_child
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_find_child(const art_inner_node_t *node,\n                                art_typecode_t
      typecode,\n                                art_key_chunk_t key_chunk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10176,1
    - Dst: roaring::internal::art_node16_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10179,1
    - Dst: roaring::internal::art_node48_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10182,1
    - Dst: roaring::internal::art_node256_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10185,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - node
    - typecode
    - key_chunk
    - new_child
    argTypes:
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10187
        line_start: 10187
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10190
      start: 10172
    functionDepth: 1
    functionLinenumber: 10172
    functionLinenumberEnd: 10190
    functionName: roaring::internal::art_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_node16_replace
    - roaring::internal::art_node256_replace
    - roaring::internal::art_node48_replace
    - assert
    - roaring::internal::art_node4_replace
    linkageType: ''
    returnType: void
    signature: "void art_replace(art_inner_node_t *node, art_typecode_t typecode,\n
      \                       art_key_chunk_t key_chunk, art_ref_t new_child)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10199,1
    - Dst: roaring::internal::art_node16_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10201,1
    - Dst: roaring::internal::art_node48_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10203,1
    - Dst: roaring::internal::art_node256_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10205,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - art
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_t*
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10206
        line_start: 10206
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10210
      start: 10194
    functionDepth: 4
    functionLinenumber: 10194
    functionLinenumberEnd: 10210
    functionName: roaring::internal::art_node_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_node16_erase
    - roaring::internal::art_node256_erase
    - assert
    - roaring::internal::art_node48_erase
    - roaring::internal::art_node4_erase
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node_erase(art_t *art, art_inner_node_t *node,\n                                art_typecode_t
      typecode,\n                                art_key_chunk_t key_chunk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10220,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10222,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10225,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10228,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - art
    - node
    - typecode
    - key_chunk
    - leaf
    argTypes:
    - art_t*
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10230
        line_start: 10230
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10234
      start: 10214
    functionDepth: 3
    functionLinenumber: 10214
    functionLinenumberEnd: 10234
    functionName: roaring::internal::art_node_insert_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_node4_insert
    - assert
    - roaring::internal::art_node16_insert
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node256_insert
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node_insert_leaf(art_t *art, art_inner_node_t *node,\n
      \                                     art_typecode_t typecode,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t leaf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10237,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10238,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10250
        line_start: 10250
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10254
      start: 10236
    functionDepth: 2
    functionLinenumber: 10236
    functionLinenumberEnd: 10254
    functionName: roaring::internal::art_node_get_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_deref
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_node_get_next_free(const art_t *art, art_ref_t ref)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - node
    - typecode
    - next_free
    argTypes:
    - art_node_t*
    - art_typecode_t
    - uint64_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10274
        line_start: 10274
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10277
      start: 10256
    functionDepth: 0
    functionLinenumber: 10256
    functionLinenumberEnd: 10277
    functionName: roaring::internal::art_node_set_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void art_node_set_next_free(art_node_t *node, art_typecode_t typecode,\n
      \                                  uint64_t next_free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10282,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10286
      start: 10280
    functionDepth: 1
    functionLinenumber: 10280
    functionLinenumberEnd: 10286
    functionName: roaring::internal::art_node_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 25
    functionsReached:
    - roaring::internal::art_get_index
    - roaring::internal::art_node_set_next_free
    linkageType: ''
    returnType: void
    signature: "void art_node_free(art_t *art, art_node_t *node,\n                          art_typecode_t
      typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10301,1
    - Dst: roaring::internal::art_node16_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10303,1
    - Dst: roaring::internal::art_node48_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10305,1
    - Dst: roaring::internal::art_node256_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10307,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10308
        line_start: 10308
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10312
      start: 10290
    functionDepth: 1
    functionLinenumber: 10290
    functionLinenumberEnd: 10312
    functionName: roaring::internal::art_node_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_node16_next_child
    - assert
    - roaring::internal::art_node4_next_child
    - roaring::internal::art_node256_next_child
    - roaring::internal::art_node48_next_child
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_next_child(const art_node_t *node,\n
      \                                              art_typecode_t typecode,\n                                               int
      index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10327,1
    - Dst: roaring::internal::art_node16_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10329,1
    - Dst: roaring::internal::art_node48_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10331,1
    - Dst: roaring::internal::art_node256_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10333,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10334
        line_start: 10334
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10338
      start: 10316
    functionDepth: 1
    functionLinenumber: 10316
    functionLinenumberEnd: 10338
    functionName: roaring::internal::art_node_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_node4_prev_child
    - roaring::internal::art_node48_prev_child
    - assert
    - roaring::internal::art_node16_prev_child
    - roaring::internal::art_node256_prev_child
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_prev_child(const art_node_t *node,\n
      \                                              art_typecode_t typecode,\n                                               int
      index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10354,1
    - Dst: roaring::internal::art_node16_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10356,1
    - Dst: roaring::internal::art_node48_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10358,1
    - Dst: roaring::internal::art_node256_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10360,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10361
        line_start: 10361
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10365
      start: 10343
    functionDepth: 1
    functionLinenumber: 10343
    functionLinenumberEnd: 10365
    functionName: roaring::internal::art_node_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_node4_child_at
    - roaring::internal::art_node256_child_at
    - assert
    - roaring::internal::art_node16_child_at
    - roaring::internal::art_node48_child_at
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_child_at(const art_node_t *node,\n                                             art_typecode_t
      typecode,\n                                             int index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10380,1
    - Dst: roaring::internal::art_node16_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10382,1
    - Dst: roaring::internal::art_node48_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10384,1
    - Dst: roaring::internal::art_node256_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10386,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10387
        line_start: 10387
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10391
      start: 10369
    functionDepth: 1
    functionLinenumber: 10369
    functionLinenumberEnd: 10391
    functionName: roaring::internal::art_node_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_node48_lower_bound
    - roaring::internal::art_node16_lower_bound
    - roaring::internal::art_node256_lower_bound
    - assert
    - roaring::internal::art_node4_lower_bound
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_lower_bound(const art_node_t *node,\n
      \                                               art_typecode_t typecode,\n                                                art_key_chunk_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key1
    - key1_from
    - key2
    - key2_from
    - length
    argTypes:
    - art_key_chunk_t[]
    - uint8_t
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10404
      start: 10399
    functionDepth: 0
    functionLinenumber: 10399
    functionLinenumberEnd: 10404
    functionName: roaring::internal::art_compare_prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int art_compare_prefix(const art_key_chunk_t key1[],\n                                     uint8_t
      key1_from,\n                                     const art_key_chunk_t key2[],\n
      \                                    uint8_t key2_from, uint8_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - art_key_chunk_t[]
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10410
      start: 10407
    functionDepth: 1
    functionLinenumber: 10407
    functionLinenumberEnd: 10410
    functionName: roaring::internal::art_compare_keys
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_compare_prefix
    linkageType: ''
    returnType: int
    signature: "int art_compare_keys(const art_key_chunk_t key1[],\n                     const
      art_key_chunk_t key2[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - key1
    - key1_from
    - key1_to
    - key2
    - key2_from
    - key2_to
    argTypes:
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10429
      start: 10413
    functionDepth: 0
    functionLinenumber: 10413
    functionLinenumberEnd: 10429
    functionName: roaring::internal::art_common_prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t art_common_prefix(const art_key_chunk_t key1[],\n                                 uint8_t
      key1_from, uint8_t key1_to,\n                                 const art_key_chunk_t
      key2[],\n                                 uint8_t key2_from, uint8_t key2_to)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10450,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10453,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10453,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10456,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10458
      start: 10435
    functionDepth: 3
    functionLinenumber: 10435
    functionLinenumberEnd: 10458
    functionName: roaring::internal::art_extend
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - memset
    - roaring::internal::art_node_set_next_free
    - roaring::internal::art_get_node
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void art_extend(art_t *art, art_typecode_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10466,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10467
      start: 10464
    functionDepth: 3
    functionLinenumber: 10464
    functionLinenumberEnd: 10467
    functionName: roaring::internal::art_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_next_free(const art_t *art, art_typecode_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_extend
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10476,1
    - Dst: roaring::internal::art_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10482
      start: 10473
    functionDepth: 4
    functionLinenumber: 10473
    functionLinenumberEnd: 10482
    functionName: roaring::internal::art_allocate_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::art_extend
    - roaring::internal::art_next_free
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_allocate_index(art_t *art, art_typecode_t typecode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10489,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10490,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10491,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10497,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10499,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10502,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10509,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10512,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10519,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10521,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10523,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10524,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10527,1
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10530,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10533,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10540,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10545,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10553,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10553,1
    - Dst: roaring::internal::art_insert_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10556,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10559,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10561,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10561,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10566,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - art
    - ref
    - key
    - depth
    - new_leaf
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t[]
    - uint8_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10568
      start: 10486
    functionDepth: 4
    functionLinenumber: 10486
    functionLinenumberEnd: 10568
    functionName: roaring::internal::art_insert_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::art_node4_insert
    - memmove
    - roaring::internal::art_deref
    - roaring::internal::art_node4_create
    - roaring::internal::art_node_insert_leaf
    - roaring::internal::art_insert_at
    - roaring::internal::art_ref_typecode
    - roaring_malloc
    - roaring_free
    - roaring::internal::art_replace
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_insert_at(art_t *art, art_ref_t ref,\n                               const
      art_key_chunk_t key[], uint8_t depth,\n                               art_ref_t
      new_leaf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10592,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10593,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10594,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10602,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10605,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10607,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10615,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10615,1
    - Dst: roaring::internal::art_erase_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10623,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10632,1
    - Dst: roaring::internal::art_node_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10636,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10636,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10640,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - art
    - ref
    - key
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10644
      start: 10585
    functionDepth: 5
    functionLinenumber: 10585
    functionLinenumberEnd: 10644
    functionName: roaring::internal::art_erase_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_node_erase
    - roaring::internal::art_node_free
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_erase_at
    - roaring::internal::art_replace
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    linkageType: ''
    returnType: art_erase_result_t
    signature: "art_erase_result_t art_erase_at(art_t *art, art_ref_t ref,\n                                       const
      art_key_chunk_t *key,\n                                       uint8_t depth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10650,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10651,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10653,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10658,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10658,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10667,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - art
    - ref
    - key
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10677
      start: 10648
    functionDepth: 2
    functionLinenumber: 10648
    functionLinenumberEnd: 10677
    functionName: roaring::internal::art_find_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    linkageType: ''
    returnType: art_val_t
    signature: "art_val_t *art_find_at(const art_t *art, art_ref_t ref,\n                              const
      art_key_chunk_t *key, uint8_t depth)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10680,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10682,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10685,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10688,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10691,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10694,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10696
        line_start: 10696
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10700
      start: 10679
    functionDepth: 1
    functionLinenumber: 10679
    functionLinenumberEnd: 10700
    functionName: roaring::internal::art_node_print_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - printf
    - assert
    - roaring::internal::art_ref_typecode
    linkageType: ''
    returnType: void
    signature: void art_node_print_type(art_ref_t ref)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10703,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10704,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10705,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10707,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10709,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10712,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10715,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10716,1
    - Dst: roaring::internal::art_node_print_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10717,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10718,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10720,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10721,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10722,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10724,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10725,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10727,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10729,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10731,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10735,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10736,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10737,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10743,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10744,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10745,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10752,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10753,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10754,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10755,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10764,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10765,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10766,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10771,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10775,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10776,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 3
    argNames:
    - art
    - ref
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10770
        line_start: 10770
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10777
      start: 10702
    functionDepth: 2
    functionLinenumber: 10702
    functionLinenumberEnd: 10777
    functionName: roaring::internal::art_node_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::art_deref
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_printf
    - roaring::internal::art_node_print_type
    - roaring::internal::art_is_leaf
    - printf
    linkageType: ''
    returnType: void
    signature: void art_node_printf(const art_t *art, art_ref_t ref, uint8_t depth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10785,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10786,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10788,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10794,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10794,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10818,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10818,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10820,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10820,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10822,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10822,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (idx != first_free)
      pos:
        line_end: 10787
        line_start: 10787
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10828
      start: 10784
    functionDepth: 3
    functionLinenumber: 10784
    functionLinenumberEnd: 10828
    functionName: roaring::internal::art_move_node_to_shrink
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_get_node
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_to_ref
    - roaring::internal::art_ref_index
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_node_set_next_free
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_move_node_to_shrink(art_t *art, art_ref_t ref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10837,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10840,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10840,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10848,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10848,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10856
      start: 10833
    functionDepth: 3
    functionLinenumber: 10833
    functionLinenumberEnd: 10856
    functionName: roaring::internal::art_sort_free_lists
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring_calloc
    - roaring::internal::art_get_node
    - roaring::internal::art_to_ref
    - roaring_free
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_node_set_next_free
    linkageType: ''
    returnType: void
    signature: void art_sort_free_lists(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10875
      start: 10862
    functionDepth: 0
    functionLinenumber: 10862
    functionLinenumberEnd: 10875
    functionName: roaring::internal::art_shrink_node_arrays
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring_realloc
    linkageType: ''
    returnType: size_t
    signature: size_t art_shrink_node_arrays(art_t *art)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10882,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10885,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10887,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10890,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10891,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10895,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10898,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10899,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10903,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10908,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10909,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10914,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10918,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10919,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10924,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10923
        line_start: 10923
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10927
      start: 10881
    functionDepth: 4
    functionLinenumber: 10881
    functionLinenumberEnd: 10927
    functionName: roaring::internal::art_shrink_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::art_deref
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_shrink_at
    - roaring::internal::art_is_leaf
    - roaring::internal::art_move_node_to_shrink
    linkageType: ''
    returnType: void
    signature: void art_shrink_at(art_t *art, art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10931,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10937
      start: 10929
    functionDepth: 0
    functionLinenumber: 10929
    functionLinenumberEnd: 10937
    functionName: roaring::internal::art_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void art_init_cleared(art_t *art)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10940,1
    - Dst: roaring::internal::art_sort_free_lists
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10944,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10945,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10946,1
    - Dst: roaring::internal::art_shrink_node_arrays
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10949
      start: 10939
    functionDepth: 5
    functionLinenumber: 10939
    functionLinenumberEnd: 10949
    functionName: roaring::internal::art_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_sort_free_lists
    - roaring::internal::art_shrink_node_arrays
    - roaring::internal::art_shrink_at
    - roaring::internal::art_move_node_to_shrink
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_shrink_to_fit(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10959
      start: 10951
    functionDepth: 0
    functionLinenumber: 10951
    functionLinenumberEnd: 10959
    functionName: roaring::internal::art_is_shrunken
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool art_is_shrunken(const art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_leaf_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10962,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10965,1
    - Dst: roaring::internal::art_insert_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10967,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - art
    - key
    - val
    argTypes:
    - art_t*
    - art_key_chunk_t*
    - art_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10969
      start: 10961
    functionDepth: 5
    functionLinenumber: 10961
    functionLinenumberEnd: 10969
    functionName: roaring::internal::art_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_insert_at
    - roaring::internal::art_leaf_create
    - roaring::internal::art_deref
    linkageType: ''
    returnType: art_val_t
    signature: art_val_t *art_insert(art_t *art, const art_key_chunk_t *key, art_val_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_erase_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - art
    - key
    - erased_val
    argTypes:
    - art_t*
    - art_key_chunk_t*
    - art_val_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10986
      start: 10971
    functionDepth: 6
    functionLinenumber: 10971
    functionLinenumberEnd: 10986
    functionName: roaring::internal::art_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_erase_at
    linkageType: ''
    returnType: bool
    signature: bool art_erase(art_t *art, const art_key_chunk_t *key, art_val_t *erased_val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_find_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10993
      start: 10988
    functionDepth: 3
    functionLinenumber: 10988
    functionLinenumberEnd: 10993
    functionName: roaring::internal::art_find
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_find_at
    linkageType: ''
    returnType: art_val_t
    signature: art_val_t *art_find(const art_t *art, const art_key_chunk_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10997
      start: 10995
    functionDepth: 0
    functionLinenumber: 10995
    functionLinenumberEnd: 10997
    functionName: roaring::internal::art_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool art_is_empty(const art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11004
      start: 10999
    functionDepth: 0
    functionLinenumber: 10999
    functionLinenumberEnd: 11004
    functionName: roaring::internal::art_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void art_free(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11011
      start: 11006
    functionDepth: 3
    functionLinenumber: 11006
    functionLinenumberEnd: 11011
    functionName: roaring::internal::art_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_printf
    linkageType: ''
    returnType: void
    signature: void art_printf(const art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11017
      start: 11015
    functionDepth: 0
    functionLinenumber: 11015
    functionLinenumberEnd: 11017
    functionName: roaring::internal::art_iterator_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_iterator_ref(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11021,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11022
      start: 11020
    functionDepth: 2
    functionLinenumber: 11020
    functionLinenumberEnd: 11022
    functionName: roaring::internal::art_iterator_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_iterator_ref
    linkageType: ''
    returnType: art_node_t
    signature: art_node_t *art_iterator_node(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11030,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - iterator
    - leaf_ref
    argTypes:
    - art_iterator_t*
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11034
      start: 11026
    functionDepth: 2
    functionLinenumber: 11026
    functionLinenumberEnd: 11034
    functionName: roaring::internal::art_iterator_valid_loc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_deref
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool art_iterator_valid_loc(art_iterator_t *iterator,\n                                          art_ref_t
      leaf_ref)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11042
      start: 11038
    functionDepth: 0
    functionLinenumber: 11038
    functionLinenumberEnd: 11042
    functionName: roaring::internal::art_iterator_invalid_loc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memset
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_invalid_loc(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11053,1
    - Dst: roaring::internal::art_node_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11054,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11055,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - iterator
    - ref
    - index_in_node
    argTypes:
    - art_iterator_t*
    - art_ref_t
    - uint8_t
    assertStmts:
    - condition: (indexed_child.child != CROARING_ART_NULL_REF)
      pos:
        line_end: 11055
        line_start: 11055
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 11059
      start: 11048
    functionDepth: 2
    functionLinenumber: 11048
    functionLinenumberEnd: 11059
    functionName: roaring::internal::art_iterator_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - assert
    - roaring::internal::art_node_child_at
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_deref
    linkageType: ''
    returnType: void
    signature: "void art_iterator_down(art_iterator_t *iterator, art_ref_t ref,\n
      \                             uint8_t index_in_node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11066,1
    - Dst: roaring::internal::art_node_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11069,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11069,1
    - Dst: roaring::internal::art_node_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11072,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11072,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11079
      start: 11063
    functionDepth: 3
    functionLinenumber: 11063
    functionLinenumberEnd: 11079
    functionName: roaring::internal::art_iterator_neighbor_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_prev_child
    - roaring::internal::art_iterator_down
    - roaring::internal::art_node_next_child
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_iterator_neighbor_child(art_iterator_t *iterator,\n
      \                                            bool forward)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11092
      start: 11083
    functionDepth: 3
    functionLinenumber: 11083
    functionLinenumberEnd: 11092
    functionName: roaring::internal::art_iterator_up
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::art_iterator_node
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_up(art_iterator_t *iterator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11097,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11099,1
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11102
      start: 11096
    functionDepth: 6
    functionLinenumber: 11096
    functionLinenumberEnd: 11102
    functionName: roaring::internal::art_iterator_up_and_move
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_iterator_move
    - roaring::internal::art_iterator_up
    - roaring::internal::art_iterator_invalid_loc
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_up_and_move(art_iterator_t *iterator, bool forward)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11108,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11109,1
    - Dst: roaring::internal::art_node_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11113,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11113,1
    - Dst: roaring::internal::art_node_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11116,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11116,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11118,1
    - Dst: roaring::internal::art_iterator_valid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ref
    - iterator
    - first
    argTypes:
    - art_ref_t
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11125
      start: 11106
    functionDepth: 3
    functionLinenumber: 11106
    functionLinenumberEnd: 11125
    functionName: roaring::internal::art_node_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::art_iterator_down
    - roaring::internal::art_deref
    - roaring::internal::art_iterator_valid_loc
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_prev_child
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node_next_child
    linkageType: ''
    returnType: bool
    signature: "bool art_node_init_iterator(art_ref_t ref, art_iterator_t *iterator,\n
      \                                  bool first)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11128,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11128,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11129,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11132,1
    - Dst: roaring::internal::art_iterator_neighbor_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11136,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11140,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11144
      start: 11127
    functionDepth: 5
    functionLinenumber: 11127
    functionLinenumberEnd: 11144
    functionName: roaring::internal::art_iterator_move
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::art_iterator_up_and_move
    - roaring::internal::art_iterator_neighbor_child
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_up
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_move(art_iterator_t *iterator, bool forward)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11151,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11153,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11155,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11161,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11165,1
    - Dst: roaring::internal::art_node_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11170,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11171,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11174,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11178,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11179,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11182,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11185,1
    - Dst: roaring::internal::art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11186,1
    - Dst: roaring::internal::art_iterator_valid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11188,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ref
    - iterator
    - key
    argTypes:
    - art_ref_t
    - art_iterator_t*
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11193
      start: 11148
    functionDepth: 5
    functionLinenumber: 11148
    functionLinenumberEnd: 11193
    functionName: roaring::internal::art_node_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring::internal::art_iterator_up_and_move
    - roaring::internal::art_deref
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_iterator_valid_loc
    - roaring::internal::art_node_lower_bound
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_is_leaf
    - roaring::internal::art_iterator_down
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_compare_keys
    linkageType: ''
    returnType: bool
    signature: "bool art_node_iterator_lower_bound(art_ref_t ref,\n                                          art_iterator_t
      *iterator,\n                                          const art_key_chunk_t
      key[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - art
    - first
    argTypes:
    - art_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11203
      start: 11195
    functionDepth: 4
    functionLinenumber: 11195
    functionLinenumberEnd: 11203
    functionName: roaring::internal::art_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_init_iterator
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_init_iterator(art_t *art, bool first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11207
      start: 11205
    functionDepth: 6
    functionLinenumber: 11205
    functionLinenumberEnd: 11207
    functionName: roaring::internal::art_iterator_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::art_iterator_move
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_next(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11211
      start: 11209
    functionDepth: 6
    functionLinenumber: 11209
    functionLinenumberEnd: 11211
    functionName: roaring::internal::art_iterator_prev
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_move
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_prev(art_iterator_t *iterator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11220,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11224,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11227,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11231,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11234,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11236,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11236,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11243,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11245,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11249,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11249,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11252,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - iterator
    - key
    argTypes:
    - art_iterator_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11254
      start: 11213
    functionDepth: 6
    functionLinenumber: 11213
    functionLinenumberEnd: 11254
    functionName: roaring::internal::art_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_node
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_up
    linkageType: ''
    returnType: bool
    signature: "bool art_iterator_lower_bound(art_iterator_t *iterator,\n                              const
      art_key_chunk_t *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11263
      start: 11256
    functionDepth: 6
    functionLinenumber: 11256
    functionLinenumberEnd: 11263
    functionName: roaring::internal::art_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_lower_bound(art_t *art, const art_key_chunk_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11269,1
    - Dst: roaring::internal::art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11270,1
    - Dst: roaring::internal::art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11275
      start: 11265
    functionDepth: 7
    functionLinenumber: 11265
    functionLinenumberEnd: 11275
    functionName: roaring::internal::art_upper_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_iterator_next
    - roaring::internal::art_compare_keys
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_upper_bound(art_t *art, const art_key_chunk_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11280,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11281,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - iterator
    - key
    - val
    argTypes:
    - art_iterator_t*
    - art_key_chunk_t*
    - art_val_t
    assertStmts:
    - condition: (iterator->art->root != CROARING_ART_NULL_REF)
      pos:
        line_end: 11280
        line_start: 11280
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 11285
      start: 11277
    functionDepth: 6
    functionLinenumber: 11277
    functionLinenumberEnd: 11285
    functionName: roaring::internal::art_iterator_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    - assert
    - roaring::internal::art_insert
    linkageType: ''
    returnType: void
    signature: "void art_iterator_insert(art_iterator_t *iterator, const art_key_chunk_t
      *key,\n                         art_val_t val)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11296,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11300,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11300,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11301,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11301,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11302,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11306,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11311,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11313,1
    - Dst: roaring::internal::art_node_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11317,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11317,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11324,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11326,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11328,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11331,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11331,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - iterator
    - erased_val
    argTypes:
    - art_iterator_t*
    - art_val_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11346
      start: 11287
    functionDepth: 6
    functionLinenumber: 11287
    functionLinenumberEnd: 11346
    functionName: roaring::internal::art_iterator_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::art_iterator_up
    - roaring::internal::art_node_erase
    - roaring::internal::art_node_free
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_replace
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_node
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_erase(art_iterator_t *iterator, art_val_t *erased_val)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11351,1
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11353,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11354,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11355,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11357,1
    - Dst: art_internal_validate_t::validate_cb
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11362,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11370,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11373,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11376,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11380,1
    - Dst: roaring::internal::art_node4_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11382,1
    - Dst: roaring::internal::art_node16_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11388,1
    - Dst: roaring::internal::art_node48_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11394,1
    - Dst: roaring::internal::art_node256_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11400,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11406,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - art
    - ref
    - validator
    argTypes:
    - art_t*
    - art_ref_t
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11410
      start: 11348
    functionDepth: 2
    functionLinenumber: 11348
    functionLinenumberEnd: 11410
    functionName: roaring::internal::art_internal_validate_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - art_internal_validate_t::validate_cb
    - roaring::internal::art_deref
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_validate_fail
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node4_internal_validate
    - roaring::internal::art_node256_internal_validate
    - roaring::internal::art_node48_internal_validate
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node16_internal_validate
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool art_internal_validate_at(const art_t *art, art_ref_t ref,\n                                     art_internal_validate_t
      validator)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11436,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - art
    - reason
    - validate_cb
    - context
    argTypes:
    - art_t*
    - char**
    - art_validate_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11441
      start: 11412
    functionDepth: 3
    functionLinenumber: 11412
    functionLinenumberEnd: 11441
    functionName: roaring::internal::art_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_internal_validate(const art_t *art, const char **reason,\n
      \                          art_validate_cb_t validate_cb, void *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11468
      start: 11452
    functionDepth: 1
    functionLinenumber: 11452
    functionLinenumberEnd: 11468
    functionName: roaring::internal::art_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_size_in_bytes(const art_t *art)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11474,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11480,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11484,1
    - Dst: CROARING_ART_ALIGN_SIZE_RELATIVE
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11489,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11490,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - art
    - buf
    argTypes:
    - art_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11503
      start: 11470
    functionDepth: 1
    functionLinenumber: 11470
    functionLinenumberEnd: 11503
    functionName: roaring::internal::art_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CROARING_ART_ALIGN_SIZE_RELATIVE
    - memset
    - memcpy
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_serialize(const art_t *art, char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_init_cleared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11510,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11515,1
    - Dst: CROARING_STATIC_ASSERT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11522,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11524,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11525,1
    - Dst: CROARING_ART_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11531,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - buf
    - maxbytes
    - art
    argTypes:
    - char*
    - size_t
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11550
      start: 11505
    functionDepth: 1
    functionLinenumber: 11505
    functionLinenumberEnd: 11550
    functionName: roaring::internal::art_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CROARING_STATIC_ASSERT
    - roaring::internal::art_init_cleared
    - memcpy
    - CROARING_ART_ALIGN_BUF
    linkageType: ''
    returnType: size_t
    signature: size_t art_frozen_view(const char *buf, size_t maxbytes, art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - validate
    - msg
    argTypes:
    - art_internal_validate_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9309
      start: 9305
    functionDepth: 0
    functionLinenumber: 9305
    functionLinenumberEnd: 9309
    functionName: roaring::internal::art_validate_fail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool art_validate_fail(const art_internal_validate_t *validate,\n
      \                                    const char *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - typecode
    argTypes:
    - uint64_t
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9313
      start: 9311
    functionDepth: 0
    functionLinenumber: 9311
    functionLinenumberEnd: 9313
    functionName: roaring::internal::art_to_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_to_ref(uint64_t index, art_typecode_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9317
      start: 9315
    functionDepth: 0
    functionLinenumber: 9315
    functionLinenumberEnd: 9317
    functionName: roaring::internal::art_ref_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_ref_index(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9321
      start: 9319
    functionDepth: 0
    functionLinenumber: 9319
    functionLinenumberEnd: 9321
    functionName: roaring::internal::art_ref_typecode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: art_typecode_t
    signature: art_typecode_t art_ref_typecode(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9329,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9330,1
    - Dst: roaring::internal::art_ref_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (ref != CROARING_ART_NULL_REF)
      pos:
        line_end: 9328
        line_start: 9328
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9333
      start: 9328
    functionDepth: 1
    functionLinenumber: 9328
    functionLinenumberEnd: 9333
    functionName: roaring::internal::art_deref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 51
    functionsReached:
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_ref_index
    linkageType: ''
    returnType: art_node_t
    signature: art_node_t *art_deref(const art_t *art, art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9337,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - art
    - index
    - typecode
    argTypes:
    - art_t*
    - uint64_t
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9338
      start: 9335
    functionDepth: 2
    functionLinenumber: 9335
    functionLinenumberEnd: 9338
    functionName: roaring::internal::art_get_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: art_node_t
    signature: "art_node_t *art_get_node(const art_t *art, uint64_t index,\n                                       art_typecode_t
      typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 9354
        line_start: 9354
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9358
      start: 9340
    functionDepth: 0
    functionLinenumber: 9340
    functionLinenumberEnd: 9358
    functionName: roaring::internal::art_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t art_get_index(const art_t *art, const art_node_t *node,\n
      \                                    art_typecode_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9365,1
    - Dst: roaring::internal::art_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9366
      start: 9363
    functionDepth: 1
    functionLinenumber: 9363
    functionLinenumberEnd: 9366
    functionName: roaring::internal::art_get_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - roaring::internal::art_get_index
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_get_ref(const art_t *art, const art_node_t *node,\n
      \                                   art_typecode_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9370
      start: 9368
    functionDepth: 1
    functionLinenumber: 9368
    functionLinenumberEnd: 9370
    functionName: roaring::internal::art_is_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 30
    functionsReached:
    - roaring::internal::art_ref_typecode
    linkageType: ''
    returnType: bool
    signature: bool art_is_leaf(art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - node
    - prefix
    - prefix_size
    argTypes:
    - art_inner_node_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9377
      start: 9372
    functionDepth: 0
    functionLinenumber: 9372
    functionLinenumberEnd: 9377
    functionName: roaring::internal::art_init_inner_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void art_init_inner_node(art_inner_node_t *node,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9388,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9391,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - key
    - val
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - art_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9394
      start: 9386
    functionDepth: 5
    functionLinenumber: 9386
    functionLinenumberEnd: 9394
    functionName: roaring::internal::art_leaf_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_allocate_index
    - roaring::internal::art_to_ref
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_leaf_create(art_t *art, const art_key_chunk_t key[],\n
      \                                art_val_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9419,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9425
      start: 9417
    functionDepth: 5
    functionLinenumber: 9417
    functionLinenumberEnd: 9425
    functionName: roaring::internal::art_node4_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node4_t
    signature: "art_node4_t *art_node4_create(art_t *art, const art_key_chunk_t prefix[],\n
      \                                    uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9435
      start: 9427
    functionDepth: 0
    functionLinenumber: 9427
    functionLinenumberEnd: 9435
    functionName: roaring::internal::art_node4_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_find_child(const art_node4_t *node,\n                                             art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9448,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9450,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9456,1
    - Dst: roaring::internal::art_node16_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9459,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9463,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9465,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node4_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9467
      start: 9437
    functionDepth: 3
    functionLinenumber: 9437
    functionLinenumberEnd: 9467
    functionName: roaring::internal::art_node4_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - memmove
    - roaring::internal::art_node_free
    - roaring::internal::art_node16_create
    - roaring::internal::art_node16_insert
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_insert(art_t *art, art_node4_t *node,\n                                  art_ref_t
      child, uint8_t key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9478,1
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9486,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9489,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9490,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9492,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9497,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9502,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9504,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9507,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9508
      start: 9469
    functionDepth: 2
    functionLinenumber: 9469
    functionLinenumberEnd: 9508
    functionName: roaring::internal::art_node4_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - memmove
    - roaring::internal::art_deref
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    - roaring::internal::art_is_leaf
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node4_erase(art_t *art, art_node4_t *node,\n                                        art_key_chunk_t
      key_chunk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9519
      start: 9510
    functionDepth: 0
    functionLinenumber: 9510
    functionLinenumberEnd: 9519
    functionName: roaring::internal::art_node4_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node4_replace(art_node4_t *node,\n                                     art_key_chunk_t
      key_chunk,\n                                     art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9533
      start: 9521
    functionDepth: 0
    functionLinenumber: 9521
    functionLinenumberEnd: 9533
    functionName: roaring::internal::art_node4_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_next_child(const art_node4_t *node,\n
      \                                                      int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9550
      start: 9535
    functionDepth: 0
    functionLinenumber: 9535
    functionLinenumberEnd: 9550
    functionName: roaring::internal::art_node4_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_prev_child(const art_node4_t *node,\n
      \                                                      int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node4_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9563
      start: 9552
    functionDepth: 0
    functionLinenumber: 9552
    functionLinenumberEnd: 9563
    functionName: roaring::internal::art_node4_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_child_at(const art_node4_t *node,\n
      \                                                    int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node4_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9578
      start: 9565
    functionDepth: 0
    functionLinenumber: 9565
    functionLinenumberEnd: 9578
    functionName: roaring::internal::art_node4_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node4_lower_bound(\n    art_node4_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9587,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9590,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9593,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9600,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9606,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9611,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node4_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9616
      start: 9583
    functionDepth: 3
    functionLinenumber: 9583
    functionLinenumberEnd: 9616
    functionName: roaring::internal::art_node4_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node4_internal_validate(const art_t *art,\n                                        const
      art_node4_t *node,\n                                        art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9621,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9627
      start: 9618
    functionDepth: 5
    functionLinenumber: 9618
    functionLinenumberEnd: 9627
    functionName: roaring::internal::art_node16_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node16_t
    signature: "art_node16_t *art_node16_create(art_t *art,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9637
      start: 9629
    functionDepth: 0
    functionLinenumber: 9629
    functionLinenumberEnd: 9637
    functionName: roaring::internal::art_node16_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_find_child(const art_node16_t *node,\n                                              art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9650,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9652,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9658,1
    - Dst: roaring::internal::art_node48_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9661,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9663,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9665,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node16_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9667
      start: 9639
    functionDepth: 3
    functionLinenumber: 9639
    functionLinenumberEnd: 9667
    functionName: roaring::internal::art_node16_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - memmove
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node48_create
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_insert(art_t *art, art_node16_t *node,\n                                   art_ref_t
      child, uint8_t key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9675,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9677,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9684,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9687,1
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9691,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9693,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node16_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9695
      start: 9669
    functionDepth: 3
    functionLinenumber: 9669
    functionLinenumberEnd: 9695
    functionName: roaring::internal::art_node16_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_node4_insert
    - memmove
    - roaring::internal::art_node4_create
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node16_erase(art_t *art, art_node16_t *node,\n                                         uint8_t
      key_chunk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9706
      start: 9697
    functionDepth: 0
    functionLinenumber: 9697
    functionLinenumberEnd: 9706
    functionName: roaring::internal::art_node16_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node16_replace(art_node16_t *node,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9720
      start: 9708
    functionDepth: 0
    functionLinenumber: 9708
    functionLinenumberEnd: 9720
    functionName: roaring::internal::art_node16_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_next_child(\n    const art_node16_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9737
      start: 9722
    functionDepth: 0
    functionLinenumber: 9722
    functionLinenumberEnd: 9737
    functionName: roaring::internal::art_node16_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_prev_child(\n    const art_node16_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9750
      start: 9739
    functionDepth: 0
    functionLinenumber: 9739
    functionLinenumberEnd: 9750
    functionName: roaring::internal::art_node16_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_child_at(const art_node16_t *node,\n
      \                                                     int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node16_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9765
      start: 9752
    functionDepth: 0
    functionLinenumber: 9752
    functionLinenumberEnd: 9765
    functionName: roaring::internal::art_node16_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node16_lower_bound(\n    art_node16_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9771,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9774,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9780,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9786,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9791,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node16_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9796
      start: 9767
    functionDepth: 3
    functionLinenumber: 9767
    functionLinenumberEnd: 9796
    functionName: roaring::internal::art_node16_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node16_internal_validate(const art_t *art,\n                                         const
      art_node16_t *node,\n                                         art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9801,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9811
      start: 9798
    functionDepth: 5
    functionLinenumber: 9798
    functionLinenumberEnd: 9811
    functionName: roaring::internal::art_node48_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node48_t
    signature: "art_node48_t *art_node48_create(art_t *art,\n                                       const
      art_key_chunk_t prefix[],\n                                       uint8_t prefix_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9820
      start: 9813
    functionDepth: 0
    functionLinenumber: 9813
    functionLinenumberEnd: 9820
    functionName: roaring::internal::art_node48_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_find_child(const art_node48_t *node,\n                                              art_key_chunk_t
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9827,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9831,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9832,1
    - Dst: roaring::internal::art_node256_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9835,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9839,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9842,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node48_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9844
      start: 9822
    functionDepth: 3
    functionLinenumber: 9822
    functionLinenumberEnd: 9844
    functionName: roaring::internal::art_node48_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring::internal::art_node_free
    - roaring_trailing_zeroes
    - UINT64_C
    - roaring::internal::art_get_ref
    - roaring::internal::art_node256_insert
    - roaring::internal::art_node256_create
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_insert(art_t *art, art_node48_t *node,\n                                   art_ref_t
      child, uint8_t key)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9850,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9853,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9856,1
    - Dst: roaring::internal::art_node16_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9860,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9864,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9867,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node48_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9869
      start: 9846
    functionDepth: 3
    functionLinenumber: 9846
    functionLinenumberEnd: 9869
    functionName: roaring::internal::art_node48_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_node_free
    - UINT64_C
    - roaring::internal::art_node16_insert
    - roaring::internal::art_node16_create
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node48_erase(art_t *art, art_node48_t *node,\n                                         uint8_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (val_idx != CROARING_ART_NODE48_EMPTY_VAL)
      pos:
        line_end: 9874
        line_start: 9874
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 9877
      start: 9871
    functionDepth: 0
    functionLinenumber: 9871
    functionLinenumberEnd: 9877
    functionName: roaring::internal::art_node48_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void art_node48_replace(art_node48_t *node,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9893
      start: 9879
    functionDepth: 0
    functionLinenumber: 9879
    functionLinenumberEnd: 9893
    functionName: roaring::internal::art_node48_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_next_child(\n    const art_node48_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9912
      start: 9895
    functionDepth: 0
    functionLinenumber: 9895
    functionLinenumberEnd: 9912
    functionName: roaring::internal::art_node48_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_prev_child(\n    const art_node48_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node48_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9925
      start: 9914
    functionDepth: 0
    functionLinenumber: 9914
    functionLinenumberEnd: 9925
    functionName: roaring::internal::art_node48_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_child_at(const art_node48_t *node,\n
      \                                                     int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node48_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9940
      start: 9927
    functionDepth: 0
    functionLinenumber: 9927
    functionLinenumberEnd: 9940
    functionName: roaring::internal::art_node48_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node48_lower_bound(\n    art_node48_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9946,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9949,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9955,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9956,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9962,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9964,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9970,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9975,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9980,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9982,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:9993,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node48_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10000
      start: 9942
    functionDepth: 3
    functionLinenumber: 9942
    functionLinenumberEnd: 10000
    functionName: roaring::internal::art_node48_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring_trailing_zeroes
    - UINT64_C
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node48_internal_validate(const art_t *art,\n                                         const
      art_node48_t *node,\n                                         art_internal_validate_t
      validator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10005,1
    - Dst: roaring::internal::art_init_inner_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - art
    - prefix
    - prefix_size
    argTypes:
    - art_t*
    - art_key_chunk_t[]
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10014
      start: 10002
    functionDepth: 5
    functionLinenumber: 10002
    functionLinenumberEnd: 10014
    functionName: roaring::internal::art_node256_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::art_init_inner_node
    - roaring::internal::art_allocate_index
    linkageType: ''
    returnType: art_node256_t
    signature: "art_node256_t *art_node256_create(art_t *art,\n                                         const
      art_key_chunk_t prefix[],\n                                         uint8_t
      prefix_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10019
      start: 10016
    functionDepth: 0
    functionLinenumber: 10016
    functionLinenumberEnd: 10019
    functionName: roaring::internal::art_node256_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_find_child(const art_node256_t *node,\n                                               art_key_chunk_t
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - art
    - node
    - child
    - key
    argTypes:
    - art_t*
    - art_node256_t*
    - art_ref_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10026
      start: 10021
    functionDepth: 2
    functionLinenumber: 10021
    functionLinenumberEnd: 10026
    functionName: roaring::internal::art_node256_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_insert(art_t *art, art_node256_t *node,\n                                    art_ref_t
      child, uint8_t key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10033,1
    - Dst: roaring::internal::art_node48_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10037,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10040,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10043,1
    - Dst: roaring::internal::art_get_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10044,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - art
    - node
    - key_chunk
    argTypes:
    - art_t*
    - art_node256_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10045
      start: 10028
    functionDepth: 3
    functionLinenumber: 10028
    functionLinenumberEnd: 10045
    functionName: roaring::internal::art_node256_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node48_create
    - roaring::internal::art_node_free
    - roaring::internal::art_get_ref
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node256_erase(art_t *art, art_node256_t *node,\n                                          uint8_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - node
    - key_chunk
    - new_child
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10051
      start: 10047
    functionDepth: 0
    functionLinenumber: 10047
    functionLinenumberEnd: 10051
    functionName: roaring::internal::art_node256_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_node256_replace(art_node256_t *node,\n                                       art_key_chunk_t
      key_chunk,\n                                       art_ref_t new_child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10067
      start: 10053
    functionDepth: 0
    functionLinenumber: 10053
    functionLinenumberEnd: 10067
    functionName: roaring::internal::art_node256_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_next_child(\n    const art_node256_t
      *node, int index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10086
      start: 10069
    functionDepth: 0
    functionLinenumber: 10069
    functionLinenumberEnd: 10086
    functionName: roaring::internal::art_node256_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_prev_child(\n    const art_node256_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - node
    - index
    argTypes:
    - art_node256_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10099
      start: 10088
    functionDepth: 0
    functionLinenumber: 10088
    functionLinenumberEnd: 10099
    functionName: roaring::internal::art_node256_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_child_at(\n    const art_node256_t
      *node, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - node
    - key_chunk
    argTypes:
    - art_node256_t*
    - art_key_chunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10114
      start: 10101
    functionDepth: 0
    functionLinenumber: 10101
    functionLinenumberEnd: 10114
    functionName: roaring::internal::art_node256_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node256_lower_bound(\n    art_node256_t *node,
      art_key_chunk_t key_chunk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10120,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10123,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10133,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10139,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - art
    - node
    - validator
    argTypes:
    - art_t*
    - art_node256_t*
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10149
      start: 10116
    functionDepth: 3
    functionLinenumber: 10116
    functionLinenumberEnd: 10149
    functionName: roaring::internal::art_node256_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_node256_internal_validate(const art_t *art,\n                                          const
      art_node256_t *node,\n                                          art_internal_validate_t
      validator)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10158,1
    - Dst: roaring::internal::art_node16_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10160,1
    - Dst: roaring::internal::art_node48_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10162,1
    - Dst: roaring::internal::art_node256_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10164,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10165
        line_start: 10165
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10169
      start: 10153
    functionDepth: 1
    functionLinenumber: 10153
    functionLinenumberEnd: 10169
    functionName: roaring::internal::art_find_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - roaring::internal::art_node4_find_child
    - assert
    - roaring::internal::art_node48_find_child
    - roaring::internal::art_node16_find_child
    - roaring::internal::art_node256_find_child
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_find_child(const art_inner_node_t *node,\n                                art_typecode_t
      typecode,\n                                art_key_chunk_t key_chunk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10176,1
    - Dst: roaring::internal::art_node16_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10179,1
    - Dst: roaring::internal::art_node48_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10182,1
    - Dst: roaring::internal::art_node256_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10185,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - node
    - typecode
    - key_chunk
    - new_child
    argTypes:
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10187
        line_start: 10187
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10190
      start: 10172
    functionDepth: 1
    functionLinenumber: 10172
    functionLinenumberEnd: 10190
    functionName: roaring::internal::art_replace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - roaring::internal::art_node16_replace
    - roaring::internal::art_node256_replace
    - roaring::internal::art_node48_replace
    - assert
    - roaring::internal::art_node4_replace
    linkageType: ''
    returnType: void
    signature: "void art_replace(art_inner_node_t *node, art_typecode_t typecode,\n
      \                       art_key_chunk_t key_chunk, art_ref_t new_child)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10199,1
    - Dst: roaring::internal::art_node16_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10201,1
    - Dst: roaring::internal::art_node48_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10203,1
    - Dst: roaring::internal::art_node256_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10205,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - art
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_t*
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10206
        line_start: 10206
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10210
      start: 10194
    functionDepth: 4
    functionLinenumber: 10194
    functionLinenumberEnd: 10210
    functionName: roaring::internal::art_node_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_node16_erase
    - roaring::internal::art_node256_erase
    - assert
    - roaring::internal::art_node48_erase
    - roaring::internal::art_node4_erase
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node_erase(art_t *art, art_inner_node_t *node,\n                                art_typecode_t
      typecode,\n                                art_key_chunk_t key_chunk)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10220,1
    - Dst: roaring::internal::art_node16_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10222,1
    - Dst: roaring::internal::art_node48_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10225,1
    - Dst: roaring::internal::art_node256_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10228,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - art
    - node
    - typecode
    - key_chunk
    - leaf
    argTypes:
    - art_t*
    - art_inner_node_t*
    - art_typecode_t
    - art_key_chunk_t
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10230
        line_start: 10230
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10234
      start: 10214
    functionDepth: 3
    functionLinenumber: 10214
    functionLinenumberEnd: 10234
    functionName: roaring::internal::art_node_insert_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_node4_insert
    - assert
    - roaring::internal::art_node16_insert
    - roaring::internal::art_node48_insert
    - roaring::internal::art_node256_insert
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_node_insert_leaf(art_t *art, art_inner_node_t *node,\n
      \                                     art_typecode_t typecode,\n                                      art_key_chunk_t
      key_chunk,\n                                      art_ref_t leaf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10237,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10238,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10250
        line_start: 10250
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10254
      start: 10236
    functionDepth: 2
    functionLinenumber: 10236
    functionLinenumberEnd: 10254
    functionName: roaring::internal::art_node_get_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_deref
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_node_get_next_free(const art_t *art, art_ref_t ref)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - node
    - typecode
    - next_free
    argTypes:
    - art_node_t*
    - art_typecode_t
    - uint64_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10274
        line_start: 10274
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10277
      start: 10256
    functionDepth: 0
    functionLinenumber: 10256
    functionLinenumberEnd: 10277
    functionName: roaring::internal::art_node_set_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void art_node_set_next_free(art_node_t *node, art_typecode_t typecode,\n
      \                                  uint64_t next_free)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10282,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - art
    - node
    - typecode
    argTypes:
    - art_t*
    - art_node_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10286
      start: 10280
    functionDepth: 1
    functionLinenumber: 10280
    functionLinenumberEnd: 10286
    functionName: roaring::internal::art_node_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 34
    functionsReached:
    - roaring::internal::art_get_index
    - roaring::internal::art_node_set_next_free
    linkageType: ''
    returnType: void
    signature: "void art_node_free(art_t *art, art_node_t *node,\n                          art_typecode_t
      typecode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10301,1
    - Dst: roaring::internal::art_node16_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10303,1
    - Dst: roaring::internal::art_node48_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10305,1
    - Dst: roaring::internal::art_node256_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10307,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10308
        line_start: 10308
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10312
      start: 10290
    functionDepth: 1
    functionLinenumber: 10290
    functionLinenumberEnd: 10312
    functionName: roaring::internal::art_node_next_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_node16_next_child
    - assert
    - roaring::internal::art_node4_next_child
    - roaring::internal::art_node256_next_child
    - roaring::internal::art_node48_next_child
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_next_child(const art_node_t *node,\n
      \                                              art_typecode_t typecode,\n                                               int
      index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10327,1
    - Dst: roaring::internal::art_node16_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10329,1
    - Dst: roaring::internal::art_node48_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10331,1
    - Dst: roaring::internal::art_node256_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10333,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10334
        line_start: 10334
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10338
      start: 10316
    functionDepth: 1
    functionLinenumber: 10316
    functionLinenumberEnd: 10338
    functionName: roaring::internal::art_node_prev_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_node4_prev_child
    - roaring::internal::art_node48_prev_child
    - assert
    - roaring::internal::art_node16_prev_child
    - roaring::internal::art_node256_prev_child
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_prev_child(const art_node_t *node,\n
      \                                              art_typecode_t typecode,\n                                               int
      index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10354,1
    - Dst: roaring::internal::art_node16_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10356,1
    - Dst: roaring::internal::art_node48_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10358,1
    - Dst: roaring::internal::art_node256_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10360,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - index
    argTypes:
    - art_node_t*
    - art_typecode_t
    - int
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10361
        line_start: 10361
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10365
      start: 10343
    functionDepth: 1
    functionLinenumber: 10343
    functionLinenumberEnd: 10365
    functionName: roaring::internal::art_node_child_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_node4_child_at
    - roaring::internal::art_node256_child_at
    - assert
    - roaring::internal::art_node16_child_at
    - roaring::internal::art_node48_child_at
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_child_at(const art_node_t *node,\n                                             art_typecode_t
      typecode,\n                                             int index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node4_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10380,1
    - Dst: roaring::internal::art_node16_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10382,1
    - Dst: roaring::internal::art_node48_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10384,1
    - Dst: roaring::internal::art_node256_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10386,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - node
    - typecode
    - key_chunk
    argTypes:
    - art_node_t*
    - art_typecode_t
    - art_key_chunk_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10387
        line_start: 10387
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10391
      start: 10369
    functionDepth: 1
    functionLinenumber: 10369
    functionLinenumberEnd: 10391
    functionName: roaring::internal::art_node_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_node48_lower_bound
    - roaring::internal::art_node16_lower_bound
    - roaring::internal::art_node256_lower_bound
    - assert
    - roaring::internal::art_node4_lower_bound
    linkageType: ''
    returnType: art_indexed_child_t
    signature: "art_indexed_child_t art_node_lower_bound(const art_node_t *node,\n
      \                                               art_typecode_t typecode,\n                                                art_key_chunk_t
      key_chunk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key1
    - key1_from
    - key2
    - key2_from
    - length
    argTypes:
    - art_key_chunk_t[]
    - uint8_t
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10404
      start: 10399
    functionDepth: 0
    functionLinenumber: 10399
    functionLinenumberEnd: 10404
    functionName: roaring::internal::art_compare_prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int art_compare_prefix(const art_key_chunk_t key1[],\n                                     uint8_t
      key1_from,\n                                     const art_key_chunk_t key2[],\n
      \                                    uint8_t key2_from, uint8_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - art_key_chunk_t[]
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10410
      start: 10407
    functionDepth: 1
    functionLinenumber: 10407
    functionLinenumberEnd: 10410
    functionName: roaring::internal::art_compare_keys
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_compare_prefix
    linkageType: ''
    returnType: int
    signature: "int art_compare_keys(const art_key_chunk_t key1[],\n                     const
      art_key_chunk_t key2[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - key1
    - key1_from
    - key1_to
    - key2
    - key2_from
    - key2_to
    argTypes:
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    - art_key_chunk_t[]
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10429
      start: 10413
    functionDepth: 0
    functionLinenumber: 10413
    functionLinenumberEnd: 10429
    functionName: roaring::internal::art_common_prefix
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t art_common_prefix(const art_key_chunk_t key1[],\n                                 uint8_t
      key1_from, uint8_t key1_to,\n                                 const art_key_chunk_t
      key2[],\n                                 uint8_t key2_from, uint8_t key2_to)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10450,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10453,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10453,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10456,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10458
      start: 10435
    functionDepth: 3
    functionLinenumber: 10435
    functionLinenumberEnd: 10458
    functionName: roaring::internal::art_extend
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - memset
    - roaring::internal::art_node_set_next_free
    - roaring::internal::art_get_node
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void art_extend(art_t *art, art_typecode_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10466,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10467
      start: 10464
    functionDepth: 3
    functionLinenumber: 10464
    functionLinenumberEnd: 10467
    functionName: roaring::internal::art_next_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_to_ref
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_next_free(const art_t *art, art_typecode_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_extend
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10476,1
    - Dst: roaring::internal::art_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - art
    - typecode
    argTypes:
    - art_t*
    - art_typecode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10482
      start: 10473
    functionDepth: 4
    functionLinenumber: 10473
    functionLinenumberEnd: 10482
    functionName: roaring::internal::art_allocate_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - roaring::internal::art_extend
    - roaring::internal::art_next_free
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t art_allocate_index(art_t *art, art_typecode_t typecode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10489,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10490,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10491,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10497,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10499,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10502,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10509,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10512,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10519,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10521,1
    - Dst: roaring::internal::art_node4_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10523,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10524,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10527,1
    - Dst: roaring::internal::art_node4_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10530,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10533,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10540,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10545,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10553,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10553,1
    - Dst: roaring::internal::art_insert_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10556,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10559,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10561,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10561,1
    - Dst: roaring::internal::art_node_insert_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10566,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - art
    - ref
    - key
    - depth
    - new_leaf
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t[]
    - uint8_t
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10568
      start: 10486
    functionDepth: 4
    functionLinenumber: 10486
    functionLinenumberEnd: 10568
    functionName: roaring::internal::art_insert_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::art_node4_insert
    - memmove
    - roaring::internal::art_deref
    - roaring::internal::art_node4_create
    - roaring::internal::art_node_insert_leaf
    - roaring::internal::art_insert_at
    - roaring::internal::art_ref_typecode
    - roaring_malloc
    - roaring_free
    - roaring::internal::art_replace
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_insert_at(art_t *art, art_ref_t ref,\n                               const
      art_key_chunk_t key[], uint8_t depth,\n                               art_ref_t
      new_leaf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10592,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10593,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10594,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10602,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10605,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10607,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10615,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10615,1
    - Dst: roaring::internal::art_erase_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10623,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10632,1
    - Dst: roaring::internal::art_node_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10636,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10636,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10640,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - art
    - ref
    - key
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10644
      start: 10585
    functionDepth: 5
    functionLinenumber: 10585
    functionLinenumberEnd: 10644
    functionName: roaring::internal::art_erase_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_node_erase
    - roaring::internal::art_node_free
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_erase_at
    - roaring::internal::art_replace
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    linkageType: ''
    returnType: art_erase_result_t
    signature: "art_erase_result_t art_erase_at(art_t *art, art_ref_t ref,\n                                       const
      art_key_chunk_t *key,\n                                       uint8_t depth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10650,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10651,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10653,1
    - Dst: roaring::internal::art_find_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10658,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10658,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10667,1
    - Dst: roaring::internal::art_common_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - art
    - ref
    - key
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - art_key_chunk_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10677
      start: 10648
    functionDepth: 2
    functionLinenumber: 10648
    functionLinenumberEnd: 10677
    functionName: roaring::internal::art_find_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_is_leaf
    - roaring::internal::art_find_child
    - roaring::internal::art_common_prefix
    linkageType: ''
    returnType: art_val_t
    signature: "art_val_t *art_find_at(const art_t *art, art_ref_t ref,\n                              const
      art_key_chunk_t *key, uint8_t depth)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10680,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10682,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10685,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10688,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10691,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10694,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - ref
    argTypes:
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10696
        line_start: 10696
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10700
      start: 10679
    functionDepth: 1
    functionLinenumber: 10679
    functionLinenumberEnd: 10700
    functionName: roaring::internal::art_node_print_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - printf
    - assert
    - roaring::internal::art_ref_typecode
    linkageType: ''
    returnType: void
    signature: void art_node_print_type(art_ref_t ref)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10703,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10704,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10705,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10707,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10709,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10712,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10715,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10716,1
    - Dst: roaring::internal::art_node_print_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10717,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10718,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10720,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10721,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10722,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10724,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10725,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10727,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10729,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10731,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10735,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10736,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10737,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10743,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10744,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10745,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10752,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10753,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10754,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10755,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10764,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10765,1
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10766,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10771,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10775,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10776,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 3
    argNames:
    - art
    - ref
    - depth
    argTypes:
    - art_t*
    - art_ref_t
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10770
        line_start: 10770
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10777
      start: 10702
    functionDepth: 2
    functionLinenumber: 10702
    functionLinenumberEnd: 10777
    functionName: roaring::internal::art_node_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::art_deref
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_printf
    - roaring::internal::art_node_print_type
    - roaring::internal::art_is_leaf
    - printf
    linkageType: ''
    returnType: void
    signature: void art_node_printf(const art_t *art, art_ref_t ref, uint8_t depth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_ref_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10785,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10786,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10788,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10794,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10794,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10795,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10818,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10818,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10820,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10820,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10822,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10822,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (idx != first_free)
      pos:
        line_end: 10787
        line_start: 10787
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10828
      start: 10784
    functionDepth: 3
    functionLinenumber: 10784
    functionLinenumberEnd: 10828
    functionName: roaring::internal::art_move_node_to_shrink
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_get_node
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_to_ref
    - roaring::internal::art_ref_index
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_node_set_next_free
    - memcpy
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_move_node_to_shrink(art_t *art, art_ref_t ref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10837,1
    - Dst: roaring::internal::art_node_get_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10840,1
    - Dst: roaring::internal::art_to_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10840,1
    - Dst: roaring::internal::art_node_set_next_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10848,1
    - Dst: roaring::internal::art_get_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10848,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10856
      start: 10833
    functionDepth: 3
    functionLinenumber: 10833
    functionLinenumberEnd: 10856
    functionName: roaring::internal::art_sort_free_lists
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring_calloc
    - roaring::internal::art_get_node
    - roaring::internal::art_to_ref
    - roaring_free
    - roaring::internal::art_node_get_next_free
    - roaring::internal::art_node_set_next_free
    linkageType: ''
    returnType: void
    signature: void art_sort_free_lists(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10875
      start: 10862
    functionDepth: 0
    functionLinenumber: 10862
    functionLinenumberEnd: 10875
    functionName: roaring::internal::art_shrink_node_arrays
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring_realloc
    linkageType: ''
    returnType: size_t
    signature: size_t art_shrink_node_arrays(art_t *art)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10882,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10885,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10887,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10890,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10891,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10895,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10898,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10899,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10903,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10908,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10909,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10914,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10918,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10919,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10924,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - art
    - ref
    argTypes:
    - art_t*
    - art_ref_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 10923
        line_start: 10923
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 10927
      start: 10881
    functionDepth: 4
    functionLinenumber: 10881
    functionLinenumberEnd: 10927
    functionName: roaring::internal::art_shrink_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::art_deref
    - assert
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_shrink_at
    - roaring::internal::art_is_leaf
    - roaring::internal::art_move_node_to_shrink
    linkageType: ''
    returnType: void
    signature: void art_shrink_at(art_t *art, art_ref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10931,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10932,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10937
      start: 10929
    functionDepth: 0
    functionLinenumber: 10929
    functionLinenumberEnd: 10937
    functionName: roaring::internal::art_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void art_init_cleared(art_t *art)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10940,1
    - Dst: roaring::internal::art_sort_free_lists
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10944,1
    - Dst: roaring::internal::art_move_node_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10945,1
    - Dst: roaring::internal::art_shrink_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10946,1
    - Dst: roaring::internal::art_shrink_node_arrays
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10949
      start: 10939
    functionDepth: 5
    functionLinenumber: 10939
    functionLinenumberEnd: 10949
    functionName: roaring::internal::art_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_sort_free_lists
    - roaring::internal::art_shrink_node_arrays
    - roaring::internal::art_shrink_at
    - roaring::internal::art_move_node_to_shrink
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_shrink_to_fit(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10959
      start: 10951
    functionDepth: 0
    functionLinenumber: 10951
    functionLinenumberEnd: 10959
    functionName: roaring::internal::art_is_shrunken
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool art_is_shrunken(const art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_leaf_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10962,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10965,1
    - Dst: roaring::internal::art_insert_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10967,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - art
    - key
    - val
    argTypes:
    - art_t*
    - art_key_chunk_t*
    - art_val_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10969
      start: 10961
    functionDepth: 5
    functionLinenumber: 10961
    functionLinenumberEnd: 10969
    functionName: roaring::internal::art_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_insert_at
    - roaring::internal::art_leaf_create
    - roaring::internal::art_deref
    linkageType: ''
    returnType: art_val_t
    signature: art_val_t *art_insert(art_t *art, const art_key_chunk_t *key, art_val_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_erase_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - art
    - key
    - erased_val
    argTypes:
    - art_t*
    - art_key_chunk_t*
    - art_val_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10986
      start: 10971
    functionDepth: 6
    functionLinenumber: 10971
    functionLinenumberEnd: 10986
    functionName: roaring::internal::art_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_erase_at
    linkageType: ''
    returnType: bool
    signature: bool art_erase(art_t *art, const art_key_chunk_t *key, art_val_t *erased_val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_find_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:10992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10993
      start: 10988
    functionDepth: 3
    functionLinenumber: 10988
    functionLinenumberEnd: 10993
    functionName: roaring::internal::art_find
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_find_at
    linkageType: ''
    returnType: art_val_t
    signature: art_val_t *art_find(const art_t *art, const art_key_chunk_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10997
      start: 10995
    functionDepth: 0
    functionLinenumber: 10995
    functionLinenumberEnd: 10997
    functionName: roaring::internal::art_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool art_is_empty(const art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11004
      start: 10999
    functionDepth: 0
    functionLinenumber: 10999
    functionLinenumberEnd: 11004
    functionName: roaring::internal::art_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void art_free(art_t *art)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11011
      start: 11006
    functionDepth: 3
    functionLinenumber: 11006
    functionLinenumberEnd: 11011
    functionName: roaring::internal::art_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_printf
    linkageType: ''
    returnType: void
    signature: void art_printf(const art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11017
      start: 11015
    functionDepth: 0
    functionLinenumber: 11015
    functionLinenumberEnd: 11017
    functionName: roaring::internal::art_iterator_ref
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: art_ref_t
    signature: art_ref_t art_iterator_ref(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11021,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11022
      start: 11020
    functionDepth: 2
    functionLinenumber: 11020
    functionLinenumberEnd: 11022
    functionName: roaring::internal::art_iterator_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_iterator_ref
    linkageType: ''
    returnType: art_node_t
    signature: art_node_t *art_iterator_node(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11030,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - iterator
    - leaf_ref
    argTypes:
    - art_iterator_t*
    - art_ref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11034
      start: 11026
    functionDepth: 2
    functionLinenumber: 11026
    functionLinenumberEnd: 11034
    functionName: roaring::internal::art_iterator_valid_loc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_deref
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool art_iterator_valid_loc(art_iterator_t *iterator,\n                                          art_ref_t
      leaf_ref)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11042
      start: 11038
    functionDepth: 0
    functionLinenumber: 11038
    functionLinenumberEnd: 11042
    functionName: roaring::internal::art_iterator_invalid_loc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - memset
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_invalid_loc(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11053,1
    - Dst: roaring::internal::art_node_child_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11054,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11055,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - iterator
    - ref
    - index_in_node
    argTypes:
    - art_iterator_t*
    - art_ref_t
    - uint8_t
    assertStmts:
    - condition: (indexed_child.child != CROARING_ART_NULL_REF)
      pos:
        line_end: 11055
        line_start: 11055
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 11059
      start: 11048
    functionDepth: 2
    functionLinenumber: 11048
    functionLinenumberEnd: 11059
    functionName: roaring::internal::art_iterator_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - assert
    - roaring::internal::art_node_child_at
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_deref
    linkageType: ''
    returnType: void
    signature: "void art_iterator_down(art_iterator_t *iterator, art_ref_t ref,\n
      \                             uint8_t index_in_node)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11066,1
    - Dst: roaring::internal::art_node_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11069,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11069,1
    - Dst: roaring::internal::art_node_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11072,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11072,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11079
      start: 11063
    functionDepth: 3
    functionLinenumber: 11063
    functionLinenumberEnd: 11079
    functionName: roaring::internal::art_iterator_neighbor_child
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_deref
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_prev_child
    - roaring::internal::art_iterator_down
    - roaring::internal::art_node_next_child
    linkageType: ''
    returnType: art_ref_t
    signature: "art_ref_t art_iterator_neighbor_child(art_iterator_t *iterator,\n
      \                                            bool forward)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11092
      start: 11083
    functionDepth: 3
    functionLinenumber: 11083
    functionLinenumberEnd: 11092
    functionName: roaring::internal::art_iterator_up
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::art_iterator_node
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_up(art_iterator_t *iterator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11097,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11099,1
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11102
      start: 11096
    functionDepth: 6
    functionLinenumber: 11096
    functionLinenumberEnd: 11102
    functionName: roaring::internal::art_iterator_up_and_move
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::art_iterator_move
    - roaring::internal::art_iterator_up
    - roaring::internal::art_iterator_invalid_loc
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_up_and_move(art_iterator_t *iterator, bool forward)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11108,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11109,1
    - Dst: roaring::internal::art_node_next_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11113,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11113,1
    - Dst: roaring::internal::art_node_prev_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11116,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11116,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11118,1
    - Dst: roaring::internal::art_iterator_valid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ref
    - iterator
    - first
    argTypes:
    - art_ref_t
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11125
      start: 11106
    functionDepth: 3
    functionLinenumber: 11106
    functionLinenumberEnd: 11125
    functionName: roaring::internal::art_node_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::art_iterator_down
    - roaring::internal::art_deref
    - roaring::internal::art_iterator_valid_loc
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node_prev_child
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node_next_child
    linkageType: ''
    returnType: bool
    signature: "bool art_node_init_iterator(art_ref_t ref, art_iterator_t *iterator,\n
      \                                  bool first)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11128,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11128,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11129,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11132,1
    - Dst: roaring::internal::art_iterator_neighbor_child
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11136,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11140,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - iterator
    - forward
    argTypes:
    - art_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11144
      start: 11127
    functionDepth: 5
    functionLinenumber: 11127
    functionLinenumberEnd: 11144
    functionName: roaring::internal::art_iterator_move
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring::internal::art_iterator_up_and_move
    - roaring::internal::art_iterator_neighbor_child
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_up
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_move(art_iterator_t *iterator, bool forward)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11151,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11153,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11155,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11161,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11165,1
    - Dst: roaring::internal::art_node_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11170,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11171,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11174,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11178,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11179,1
    - Dst: roaring::internal::art_iterator_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11182,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11185,1
    - Dst: roaring::internal::art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11186,1
    - Dst: roaring::internal::art_iterator_valid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11188,1
    - Dst: roaring::internal::art_iterator_up_and_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ref
    - iterator
    - key
    argTypes:
    - art_ref_t
    - art_iterator_t*
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11193
      start: 11148
    functionDepth: 5
    functionLinenumber: 11148
    functionLinenumberEnd: 11193
    functionName: roaring::internal::art_node_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::art_iterator_up_and_move
    - roaring::internal::art_deref
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_iterator_valid_loc
    - roaring::internal::art_node_lower_bound
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_is_leaf
    - roaring::internal::art_iterator_down
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_compare_keys
    linkageType: ''
    returnType: bool
    signature: "bool art_node_iterator_lower_bound(art_ref_t ref,\n                                          art_iterator_t
      *iterator,\n                                          const art_key_chunk_t
      key[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - art
    - first
    argTypes:
    - art_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11203
      start: 11195
    functionDepth: 4
    functionLinenumber: 11195
    functionLinenumberEnd: 11203
    functionName: roaring::internal::art_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_init_iterator
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_init_iterator(art_t *art, bool first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11207
      start: 11205
    functionDepth: 6
    functionLinenumber: 11205
    functionLinenumberEnd: 11207
    functionName: roaring::internal::art_iterator_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::art_iterator_move
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_next(art_iterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_move
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - art_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11211
      start: 11209
    functionDepth: 6
    functionLinenumber: 11209
    functionLinenumberEnd: 11211
    functionName: roaring::internal::art_iterator_prev
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_move
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_prev(art_iterator_t *iterator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11220,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11224,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11227,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11231,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11234,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11236,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11236,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11243,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11245,1
    - Dst: roaring::internal::art_node_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11249,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11249,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11252,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - iterator
    - key
    argTypes:
    - art_iterator_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11254
      start: 11213
    functionDepth: 6
    functionLinenumber: 11213
    functionLinenumberEnd: 11254
    functionName: roaring::internal::art_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_iterator_node
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_node_init_iterator
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_up
    linkageType: ''
    returnType: bool
    signature: "bool art_iterator_lower_bound(art_iterator_t *iterator,\n                              const
      art_key_chunk_t *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11263
      start: 11256
    functionDepth: 6
    functionLinenumber: 11256
    functionLinenumberEnd: 11263
    functionName: roaring::internal::art_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_lower_bound(art_t *art, const art_key_chunk_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11269,1
    - Dst: roaring::internal::art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11270,1
    - Dst: roaring::internal::art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - art
    - key
    argTypes:
    - art_t*
    - art_key_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11275
      start: 11265
    functionDepth: 7
    functionLinenumber: 11265
    functionLinenumberEnd: 11275
    functionName: roaring::internal::art_upper_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_iterator_next
    - roaring::internal::art_compare_keys
    linkageType: ''
    returnType: art_iterator_t
    signature: art_iterator_t art_upper_bound(art_t *art, const art_key_chunk_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11280,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11281,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - iterator
    - key
    - val
    argTypes:
    - art_iterator_t*
    - art_key_chunk_t*
    - art_val_t
    assertStmts:
    - condition: (iterator->art->root != CROARING_ART_NULL_REF)
      pos:
        line_end: 11280
        line_start: 11280
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 11285
      start: 11277
    functionDepth: 6
    functionLinenumber: 11277
    functionLinenumberEnd: 11285
    functionName: roaring::internal::art_iterator_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_node_iterator_lower_bound
    - assert
    - roaring::internal::art_insert
    linkageType: ''
    returnType: void
    signature: "void art_iterator_insert(art_iterator_t *iterator, const art_key_chunk_t
      *key,\n                         art_val_t val)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11296,1
    - Dst: roaring::internal::art_node_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11300,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11300,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11301,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11301,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11302,1
    - Dst: roaring::internal::art_iterator_invalid_loc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11306,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11311,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11313,1
    - Dst: roaring::internal::art_node_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11317,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11317,1
    - Dst: roaring::internal::art_iterator_up
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11324,1
    - Dst: roaring::internal::art_iterator_ref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11326,1
    - Dst: roaring::internal::art_iterator_node
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11328,1
    - Dst: roaring::internal::art_replace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11331,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11331,1
    - Dst: roaring::internal::art_node_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - iterator
    - erased_val
    argTypes:
    - art_iterator_t*
    - art_val_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11346
      start: 11287
    functionDepth: 6
    functionLinenumber: 11287
    functionLinenumberEnd: 11346
    functionName: roaring::internal::art_iterator_erase
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::art_iterator_up
    - roaring::internal::art_node_erase
    - roaring::internal::art_node_free
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_replace
    - roaring::internal::art_node_iterator_lower_bound
    - roaring::internal::art_iterator_ref
    - roaring::internal::art_iterator_invalid_loc
    - roaring::internal::art_iterator_node
    linkageType: ''
    returnType: bool
    signature: bool art_iterator_erase(art_iterator_t *iterator, art_val_t *erased_val)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11351,1
    - Dst: roaring::internal::art_is_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11353,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11354,1
    - Dst: roaring::internal::art_compare_prefix
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11355,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11357,1
    - Dst: art_internal_validate_t::validate_cb
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11362,1
    - Dst: roaring::internal::art_deref
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11370,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11373,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11376,1
    - Dst: roaring::internal::art_ref_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11380,1
    - Dst: roaring::internal::art_node4_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11382,1
    - Dst: roaring::internal::art_node16_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11388,1
    - Dst: roaring::internal::art_node48_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11394,1
    - Dst: roaring::internal::art_node256_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11400,1
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11406,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - art
    - ref
    - validator
    argTypes:
    - art_t*
    - art_ref_t
    - art_internal_validate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11410
      start: 11348
    functionDepth: 2
    functionLinenumber: 11348
    functionLinenumberEnd: 11410
    functionName: roaring::internal::art_internal_validate_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 19
    functionsReached:
    - art_internal_validate_t::validate_cb
    - roaring::internal::art_deref
    - roaring::internal::art_compare_prefix
    - roaring::internal::art_validate_fail
    - roaring::internal::art_ref_typecode
    - roaring::internal::art_node4_internal_validate
    - roaring::internal::art_node256_internal_validate
    - roaring::internal::art_node48_internal_validate
    - roaring::internal::art_is_leaf
    - roaring::internal::art_node16_internal_validate
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool art_internal_validate_at(const art_t *art, art_ref_t ref,\n                                     art_internal_validate_t
      validator)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_validate_fail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11436,1
    - Dst: roaring::internal::art_internal_validate_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - art
    - reason
    - validate_cb
    - context
    argTypes:
    - art_t*
    - char**
    - art_validate_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11441
      start: 11412
    functionDepth: 3
    functionLinenumber: 11412
    functionLinenumberEnd: 11441
    functionName: roaring::internal::art_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_validate_fail
    - roaring::internal::art_internal_validate_at
    linkageType: ''
    returnType: bool
    signature: "bool art_internal_validate(const art_t *art, const char **reason,\n
      \                          art_validate_cb_t validate_cb, void *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - art
    argTypes:
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11468
      start: 11452
    functionDepth: 1
    functionLinenumber: 11452
    functionLinenumberEnd: 11468
    functionName: roaring::internal::art_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_size_in_bytes(const art_t *art)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11474,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11480,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11484,1
    - Dst: CROARING_ART_ALIGN_SIZE_RELATIVE
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11489,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11490,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - art
    - buf
    argTypes:
    - art_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11503
      start: 11470
    functionDepth: 1
    functionLinenumber: 11470
    functionLinenumberEnd: 11503
    functionName: roaring::internal::art_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CROARING_ART_ALIGN_SIZE_RELATIVE
    - memset
    - memcpy
    - roaring::internal::art_is_shrunken
    linkageType: ''
    returnType: size_t
    signature: size_t art_serialize(const art_t *art, char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::art_init_cleared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11510,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11515,1
    - Dst: CROARING_STATIC_ASSERT
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11522,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11524,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11525,1
    - Dst: CROARING_ART_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:11531,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - buf
    - maxbytes
    - art
    argTypes:
    - char*
    - size_t
    - art_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11550
      start: 11505
    functionDepth: 1
    functionLinenumber: 11505
    functionLinenumberEnd: 11550
    functionName: roaring::internal::art_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - CROARING_STATIC_ASSERT
    - roaring::internal::art_init_cleared
    - memcpy
    - CROARING_ART_ALIGN_BUF
    linkageType: ''
    returnType: size_t
    signature: size_t art_frozen_view(const char *buf, size_t maxbytes, art_t *art)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12139,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12140,1
    - Dst: _mm512_maskz_compress_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12145,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12147,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12150,1
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12150,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12151,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12151,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12152,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12152,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12153,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12153,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12154,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12154,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12156,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12157,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12158,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12159,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12160,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12161,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12162,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12163,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12174,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - words
    - length
    - vout
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12185
      start: 12133
    functionDepth: 1
    functionLinenumber: 12133
    functionLinenumberEnd: 12185
    functionName: roaring::api::bitset_extract_setbits_avx512
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _mm512_extracti32x4_epi32
    - roaring_trailing_zeroes
    - _mm512_storeu_si512
    - _mm512_set1_epi32
    - _mm512_maskz_compress_epi8
    - _mm512_loadu_si512
    - _mm512_add_epi32
    - _mm512_cvtepi8_epi32
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_avx512(const uint64_t *words, size_t
      length,\n                                     uint32_t *vout, size_t outcapacity,\n
      \                                    uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12196,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12197,1
    - Dst: _mm512_maskz_compress_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12202,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12204,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12207,1
    - Dst: _mm512_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12207,1
    - Dst: _mm512_cvtepi8_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12208,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12208,1
    - Dst: _mm512_cvtepi8_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12209,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12209,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12211,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12212,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12214,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12215,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12225,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - array
    - length
    - vout
    - capacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12235
      start: 12189
    functionDepth: 1
    functionLinenumber: 12189
    functionLinenumberEnd: 12235
    functionName: roaring::api::bitset_extract_setbits_avx512_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm512_set1_epi16
    - roaring_trailing_zeroes
    - _mm512_cvtepi8_epi16
    - _mm512_storeu_si512
    - _mm512_extracti32x8_epi32
    - _mm512_maskz_compress_epi8
    - _mm512_loadu_si512
    - _mm512_add_epi16
    - memcpy
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_avx512_uint16(const uint64_t *array,\n
      \                                           size_t length, uint16_t *vout,\n
      \                                           size_t capacity, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12244,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12245,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12246,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12252,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12259,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12261,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12264,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12265,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12266,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12267,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12268,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12270,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12280,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12290
      start: 12239
    functionDepth: 1
    functionLinenumber: 12239
    functionLinenumberEnd: 12290
    functionName: roaring::api::bitset_extract_setbits_avx2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_set1_epi32
    - roaring_trailing_zeroes
    - _mm256_storeu_si256
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_avx2(const uint64_t *words,
      size_t length,\n                                   uint32_t *out, size_t outcapacity,\n
      \                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12301,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12311
      start: 12294
    functionDepth: 1
    functionLinenumber: 12294
    functionLinenumberEnd: 12311
    functionName: roaring::api::bitset_extract_setbits
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits(const uint64_t *words, size_t length,\n
      \                             uint32_t *out, uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - words1
    - words2
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12327
      start: 12313
    functionDepth: 1
    functionLinenumber: 12313
    functionLinenumberEnd: 12327
    functionName: roaring::api::bitset_extract_intersection_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_intersection_setbits_uint16(\n    const uint64_t
      *__restrict__ words1, const uint64_t *__restrict__ words2,\n    size_t length,
      uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12347,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12348,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12349,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12356,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12362,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12364,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12368,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12369,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12370,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12371,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12372,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12374,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12391
      start: 12342
    functionDepth: 1
    functionLinenumber: 12342
    functionLinenumberEnd: 12391
    functionName: roaring::api::bitset_extract_setbits_sse_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - _mm_set1_epi16
    - _mm_loadu_si128
    - _mm_add_epi16
    - _mm_storeu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_sse_uint16(const uint64_t
      *words, size_t length,\n                                         uint16_t *out,
      size_t outcapacity,\n                                         uint16_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12417
      start: 12404
    functionDepth: 1
    functionLinenumber: 12404
    functionLinenumberEnd: 12417
    functionName: roaring::api::bitset_extract_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_uint16(const uint64_t *words, size_t
      length,\n                                     uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12446
      start: 12421
    functionDepth: 0
    functionLinenumber: 12421
    functionLinenumberEnd: 12446
    functionName: roaring::api::_asm_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_set_list_withcard(uint64_t *words,\n                                                     uint64_t
      card,\n                                                     const uint16_t *list,\n
      \                                                    uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12502
      start: 12448
    functionDepth: 0
    functionLinenumber: 12448
    functionLinenumberEnd: 12502
    functionName: roaring::api::_asm_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _asm_bitset_set_list(uint64_t *words, const uint16_t *list,\n
      \                                       uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12529
      start: 12504
    functionDepth: 0
    functionLinenumber: 12504
    functionLinenumberEnd: 12529
    functionName: roaring::api::_asm_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_clear_list(uint64_t *words, uint64_t card,\n
      \                                             const uint16_t *list,\n                                              uint64_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12547
      start: 12531
    functionDepth: 0
    functionLinenumber: 12531
    functionLinenumberEnd: 12547
    functionName: roaring::api::_scalar_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_clear_list(uint64_t *words, uint64_t card,\n
      \                                                const uint16_t *list,\n                                                 uint64_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12566
      start: 12549
    functionDepth: 0
    functionLinenumber: 12549
    functionLinenumberEnd: 12566
    functionName: roaring::api::_scalar_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_set_list_withcard(uint64_t *words,\n                                                        uint64_t
      card,\n                                                        const uint16_t
      *list,\n                                                        uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12582
      start: 12568
    functionDepth: 0
    functionLinenumber: 12568
    functionLinenumberEnd: 12582
    functionName: roaring::api::_scalar_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void _scalar_bitset_set_list(uint64_t *words,\n                                           const
      uint16_t *list,\n                                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12586,1
    - Dst: roaring::api::_asm_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12587,1
    - Dst: roaring::api::_scalar_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12591
      start: 12584
    functionDepth: 1
    functionLinenumber: 12584
    functionLinenumberEnd: 12591
    functionName: roaring::api::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_clear_list
    - croaring_hardware_support
    - roaring::api::_asm_bitset_clear_list
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12595,1
    - Dst: roaring::api::_asm_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12596,1
    - Dst: roaring::api::_scalar_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12600
      start: 12593
    functionDepth: 1
    functionLinenumber: 12593
    functionLinenumberEnd: 12600
    functionName: roaring::api::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_set_list_withcard
    - croaring_hardware_support
    - roaring::api::_asm_bitset_set_list_withcard
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12603,1
    - Dst: roaring::api::_asm_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12604,1
    - Dst: roaring::api::_scalar_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12608
      start: 12602
    functionDepth: 1
    functionLinenumber: 12602
    functionLinenumberEnd: 12608
    functionName: roaring::api::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_set_list
    - roaring::api::_asm_bitset_set_list
    - croaring_hardware_support
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12625
      start: 12610
    functionDepth: 0
    functionLinenumber: 12610
    functionLinenumberEnd: 12625
    functionName: roaring::api::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12642
      start: 12627
    functionDepth: 0
    functionLinenumber: 12627
    functionLinenumberEnd: 12642
    functionName: roaring::api::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12656
      start: 12644
    functionDepth: 0
    functionLinenumber: 12644
    functionLinenumberEnd: 12656
    functionName: roaring::api::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12672,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12680
      start: 12663
    functionDepth: 0
    functionLinenumber: 12663
    functionLinenumberEnd: 12680
    functionName: roaring::api::bitset_flip_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_flip_list_withcard(uint64_t *words, uint64_t card,\n
      \                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12694
      start: 12682
    functionDepth: 0
    functionLinenumber: 12682
    functionLinenumberEnd: 12694
    functionName: roaring::api::bitset_flip_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_flip_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12139,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12140,1
    - Dst: _mm512_maskz_compress_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12145,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12147,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12150,1
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12150,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12151,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12151,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12152,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12152,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12153,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12153,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12154,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12154,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12156,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12157,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12158,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12159,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12160,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12161,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12162,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12163,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12174,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - words
    - length
    - vout
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12185
      start: 12133
    functionDepth: 1
    functionLinenumber: 12133
    functionLinenumberEnd: 12185
    functionName: roaring::api::bitset_extract_setbits_avx512
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _mm512_extracti32x4_epi32
    - roaring_trailing_zeroes
    - _mm512_storeu_si512
    - _mm512_set1_epi32
    - _mm512_maskz_compress_epi8
    - _mm512_loadu_si512
    - _mm512_add_epi32
    - _mm512_cvtepi8_epi32
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_avx512(const uint64_t *words, size_t
      length,\n                                     uint32_t *vout, size_t outcapacity,\n
      \                                    uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12196,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12197,1
    - Dst: _mm512_maskz_compress_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12202,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12204,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12207,1
    - Dst: _mm512_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12207,1
    - Dst: _mm512_cvtepi8_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12208,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12208,1
    - Dst: _mm512_cvtepi8_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12209,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12209,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12211,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12212,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12214,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12215,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12225,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - array
    - length
    - vout
    - capacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12235
      start: 12189
    functionDepth: 1
    functionLinenumber: 12189
    functionLinenumberEnd: 12235
    functionName: roaring::api::bitset_extract_setbits_avx512_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm512_set1_epi16
    - roaring_trailing_zeroes
    - _mm512_cvtepi8_epi16
    - _mm512_storeu_si512
    - _mm512_extracti32x8_epi32
    - _mm512_maskz_compress_epi8
    - _mm512_loadu_si512
    - _mm512_add_epi16
    - memcpy
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_avx512_uint16(const uint64_t *array,\n
      \                                           size_t length, uint16_t *vout,\n
      \                                           size_t capacity, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12244,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12245,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12246,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12252,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12259,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12261,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12264,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12265,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12266,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12267,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12268,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12270,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12280,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12290
      start: 12239
    functionDepth: 1
    functionLinenumber: 12239
    functionLinenumberEnd: 12290
    functionName: roaring::api::bitset_extract_setbits_avx2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_set1_epi32
    - roaring_trailing_zeroes
    - _mm256_storeu_si256
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_avx2(const uint64_t *words,
      size_t length,\n                                   uint32_t *out, size_t outcapacity,\n
      \                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12301,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12311
      start: 12294
    functionDepth: 1
    functionLinenumber: 12294
    functionLinenumberEnd: 12311
    functionName: roaring::api::bitset_extract_setbits
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits(const uint64_t *words, size_t length,\n
      \                             uint32_t *out, uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - words1
    - words2
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12327
      start: 12313
    functionDepth: 1
    functionLinenumber: 12313
    functionLinenumberEnd: 12327
    functionName: roaring::api::bitset_extract_intersection_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_intersection_setbits_uint16(\n    const uint64_t
      *__restrict__ words1, const uint64_t *__restrict__ words2,\n    size_t length,
      uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12347,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12348,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12349,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12356,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12362,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12364,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12368,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12369,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12370,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12371,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12372,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12374,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12391
      start: 12342
    functionDepth: 1
    functionLinenumber: 12342
    functionLinenumberEnd: 12391
    functionName: roaring::api::bitset_extract_setbits_sse_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - _mm_set1_epi16
    - _mm_loadu_si128
    - _mm_add_epi16
    - _mm_storeu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_sse_uint16(const uint64_t
      *words, size_t length,\n                                         uint16_t *out,
      size_t outcapacity,\n                                         uint16_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12417
      start: 12404
    functionDepth: 1
    functionLinenumber: 12404
    functionLinenumberEnd: 12417
    functionName: roaring::api::bitset_extract_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_uint16(const uint64_t *words, size_t
      length,\n                                     uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12446
      start: 12421
    functionDepth: 0
    functionLinenumber: 12421
    functionLinenumberEnd: 12446
    functionName: roaring::api::_asm_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_set_list_withcard(uint64_t *words,\n                                                     uint64_t
      card,\n                                                     const uint16_t *list,\n
      \                                                    uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12502
      start: 12448
    functionDepth: 0
    functionLinenumber: 12448
    functionLinenumberEnd: 12502
    functionName: roaring::api::_asm_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _asm_bitset_set_list(uint64_t *words, const uint16_t *list,\n
      \                                       uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12529
      start: 12504
    functionDepth: 0
    functionLinenumber: 12504
    functionLinenumberEnd: 12529
    functionName: roaring::api::_asm_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_clear_list(uint64_t *words, uint64_t card,\n
      \                                             const uint16_t *list,\n                                              uint64_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12547
      start: 12531
    functionDepth: 0
    functionLinenumber: 12531
    functionLinenumberEnd: 12547
    functionName: roaring::api::_scalar_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_clear_list(uint64_t *words, uint64_t card,\n
      \                                                const uint16_t *list,\n                                                 uint64_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12566
      start: 12549
    functionDepth: 0
    functionLinenumber: 12549
    functionLinenumberEnd: 12566
    functionName: roaring::api::_scalar_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_set_list_withcard(uint64_t *words,\n                                                        uint64_t
      card,\n                                                        const uint16_t
      *list,\n                                                        uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12582
      start: 12568
    functionDepth: 0
    functionLinenumber: 12568
    functionLinenumberEnd: 12582
    functionName: roaring::api::_scalar_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void _scalar_bitset_set_list(uint64_t *words,\n                                           const
      uint16_t *list,\n                                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12586,1
    - Dst: roaring::api::_asm_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12587,1
    - Dst: roaring::api::_scalar_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12591
      start: 12584
    functionDepth: 1
    functionLinenumber: 12584
    functionLinenumberEnd: 12591
    functionName: roaring::api::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_clear_list
    - croaring_hardware_support
    - roaring::api::_asm_bitset_clear_list
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12595,1
    - Dst: roaring::api::_asm_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12596,1
    - Dst: roaring::api::_scalar_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12600
      start: 12593
    functionDepth: 1
    functionLinenumber: 12593
    functionLinenumberEnd: 12600
    functionName: roaring::api::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_set_list_withcard
    - croaring_hardware_support
    - roaring::api::_asm_bitset_set_list_withcard
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12603,1
    - Dst: roaring::api::_asm_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12604,1
    - Dst: roaring::api::_scalar_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12608
      start: 12602
    functionDepth: 1
    functionLinenumber: 12602
    functionLinenumberEnd: 12608
    functionName: roaring::api::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_set_list
    - roaring::api::_asm_bitset_set_list
    - croaring_hardware_support
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12625
      start: 12610
    functionDepth: 0
    functionLinenumber: 12610
    functionLinenumberEnd: 12625
    functionName: roaring::api::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12642
      start: 12627
    functionDepth: 0
    functionLinenumber: 12627
    functionLinenumberEnd: 12642
    functionName: roaring::api::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12656
      start: 12644
    functionDepth: 0
    functionLinenumber: 12644
    functionLinenumberEnd: 12656
    functionName: roaring::api::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12672,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12680
      start: 12663
    functionDepth: 0
    functionLinenumber: 12663
    functionLinenumberEnd: 12680
    functionName: roaring::api::bitset_flip_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_flip_list_withcard(uint64_t *words, uint64_t card,\n
      \                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12694
      start: 12682
    functionDepth: 0
    functionLinenumber: 12682
    functionLinenumberEnd: 12694
    functionName: roaring::api::bitset_flip_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_flip_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12139,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12140,1
    - Dst: _mm512_maskz_compress_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12145,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12147,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12150,1
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12150,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12151,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12151,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12152,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12152,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12153,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12153,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12154,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12154,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12156,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12157,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12158,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12159,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12160,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12161,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12162,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12163,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12174,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - words
    - length
    - vout
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12185
      start: 12133
    functionDepth: 1
    functionLinenumber: 12133
    functionLinenumberEnd: 12185
    functionName: roaring::api::bitset_extract_setbits_avx512
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _mm512_extracti32x4_epi32
    - roaring_trailing_zeroes
    - _mm512_storeu_si512
    - _mm512_set1_epi32
    - _mm512_maskz_compress_epi8
    - _mm512_loadu_si512
    - _mm512_add_epi32
    - _mm512_cvtepi8_epi32
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_avx512(const uint64_t *words, size_t
      length,\n                                     uint32_t *vout, size_t outcapacity,\n
      \                                    uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12196,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12197,1
    - Dst: _mm512_maskz_compress_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12202,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12204,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12207,1
    - Dst: _mm512_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12207,1
    - Dst: _mm512_cvtepi8_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12208,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12208,1
    - Dst: _mm512_cvtepi8_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12209,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12209,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12211,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12212,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12214,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12215,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12225,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - array
    - length
    - vout
    - capacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12235
      start: 12189
    functionDepth: 1
    functionLinenumber: 12189
    functionLinenumberEnd: 12235
    functionName: roaring::api::bitset_extract_setbits_avx512_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm512_set1_epi16
    - roaring_trailing_zeroes
    - _mm512_cvtepi8_epi16
    - _mm512_storeu_si512
    - _mm512_extracti32x8_epi32
    - _mm512_maskz_compress_epi8
    - _mm512_loadu_si512
    - _mm512_add_epi16
    - memcpy
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_avx512_uint16(const uint64_t *array,\n
      \                                           size_t length, uint16_t *vout,\n
      \                                           size_t capacity, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12244,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12245,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12246,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12252,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12259,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12261,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12264,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12265,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12266,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12267,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12268,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12270,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12280,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12290
      start: 12239
    functionDepth: 1
    functionLinenumber: 12239
    functionLinenumberEnd: 12290
    functionName: roaring::api::bitset_extract_setbits_avx2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_set1_epi32
    - roaring_trailing_zeroes
    - _mm256_storeu_si256
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_avx2(const uint64_t *words,
      size_t length,\n                                   uint32_t *out, size_t outcapacity,\n
      \                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12301,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12311
      start: 12294
    functionDepth: 1
    functionLinenumber: 12294
    functionLinenumberEnd: 12311
    functionName: roaring::api::bitset_extract_setbits
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits(const uint64_t *words, size_t length,\n
      \                             uint32_t *out, uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - words1
    - words2
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12327
      start: 12313
    functionDepth: 1
    functionLinenumber: 12313
    functionLinenumberEnd: 12327
    functionName: roaring::api::bitset_extract_intersection_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_intersection_setbits_uint16(\n    const uint64_t
      *__restrict__ words1, const uint64_t *__restrict__ words2,\n    size_t length,
      uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12347,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12348,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12349,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12356,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12362,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12364,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12368,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12369,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12370,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12371,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12372,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12374,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12391
      start: 12342
    functionDepth: 1
    functionLinenumber: 12342
    functionLinenumberEnd: 12391
    functionName: roaring::api::bitset_extract_setbits_sse_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - _mm_set1_epi16
    - _mm_loadu_si128
    - _mm_add_epi16
    - _mm_storeu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_sse_uint16(const uint64_t
      *words, size_t length,\n                                         uint16_t *out,
      size_t outcapacity,\n                                         uint16_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12417
      start: 12404
    functionDepth: 1
    functionLinenumber: 12404
    functionLinenumberEnd: 12417
    functionName: roaring::api::bitset_extract_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_uint16(const uint64_t *words, size_t
      length,\n                                     uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12446
      start: 12421
    functionDepth: 0
    functionLinenumber: 12421
    functionLinenumberEnd: 12446
    functionName: roaring::api::_asm_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_set_list_withcard(uint64_t *words,\n                                                     uint64_t
      card,\n                                                     const uint16_t *list,\n
      \                                                    uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12502
      start: 12448
    functionDepth: 0
    functionLinenumber: 12448
    functionLinenumberEnd: 12502
    functionName: roaring::api::_asm_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _asm_bitset_set_list(uint64_t *words, const uint16_t *list,\n
      \                                       uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12529
      start: 12504
    functionDepth: 0
    functionLinenumber: 12504
    functionLinenumberEnd: 12529
    functionName: roaring::api::_asm_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_clear_list(uint64_t *words, uint64_t card,\n
      \                                             const uint16_t *list,\n                                              uint64_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12547
      start: 12531
    functionDepth: 0
    functionLinenumber: 12531
    functionLinenumberEnd: 12547
    functionName: roaring::api::_scalar_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_clear_list(uint64_t *words, uint64_t card,\n
      \                                                const uint16_t *list,\n                                                 uint64_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12566
      start: 12549
    functionDepth: 0
    functionLinenumber: 12549
    functionLinenumberEnd: 12566
    functionName: roaring::api::_scalar_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_set_list_withcard(uint64_t *words,\n                                                        uint64_t
      card,\n                                                        const uint16_t
      *list,\n                                                        uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12582
      start: 12568
    functionDepth: 0
    functionLinenumber: 12568
    functionLinenumberEnd: 12582
    functionName: roaring::api::_scalar_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void _scalar_bitset_set_list(uint64_t *words,\n                                           const
      uint16_t *list,\n                                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12586,1
    - Dst: roaring::api::_asm_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12587,1
    - Dst: roaring::api::_scalar_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12591
      start: 12584
    functionDepth: 1
    functionLinenumber: 12584
    functionLinenumberEnd: 12591
    functionName: roaring::api::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_clear_list
    - croaring_hardware_support
    - roaring::api::_asm_bitset_clear_list
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12595,1
    - Dst: roaring::api::_asm_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12596,1
    - Dst: roaring::api::_scalar_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12600
      start: 12593
    functionDepth: 1
    functionLinenumber: 12593
    functionLinenumberEnd: 12600
    functionName: roaring::api::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_set_list_withcard
    - croaring_hardware_support
    - roaring::api::_asm_bitset_set_list_withcard
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12603,1
    - Dst: roaring::api::_asm_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12604,1
    - Dst: roaring::api::_scalar_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12608
      start: 12602
    functionDepth: 1
    functionLinenumber: 12602
    functionLinenumberEnd: 12608
    functionName: roaring::api::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_set_list
    - roaring::api::_asm_bitset_set_list
    - croaring_hardware_support
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12625
      start: 12610
    functionDepth: 0
    functionLinenumber: 12610
    functionLinenumberEnd: 12625
    functionName: roaring::api::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12642
      start: 12627
    functionDepth: 0
    functionLinenumber: 12627
    functionLinenumberEnd: 12642
    functionName: roaring::api::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12656
      start: 12644
    functionDepth: 0
    functionLinenumber: 12644
    functionLinenumberEnd: 12656
    functionName: roaring::api::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12672,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12680
      start: 12663
    functionDepth: 0
    functionLinenumber: 12663
    functionLinenumberEnd: 12680
    functionName: roaring::api::bitset_flip_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_flip_list_withcard(uint64_t *words, uint64_t card,\n
      \                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12694
      start: 12682
    functionDepth: 0
    functionLinenumber: 12682
    functionLinenumberEnd: 12694
    functionName: roaring::api::bitset_flip_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_flip_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12139,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12140,1
    - Dst: _mm512_maskz_compress_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12145,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12147,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12150,1
    - Dst: _mm512_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12150,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12151,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12151,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12152,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12152,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12153,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12153,1
    - Dst: _mm512_cvtepi8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12154,1
    - Dst: _mm512_extracti32x4_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12154,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12156,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12157,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12158,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12159,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12160,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12161,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12162,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12163,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12174,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - words
    - length
    - vout
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12185
      start: 12133
    functionDepth: 1
    functionLinenumber: 12133
    functionLinenumberEnd: 12185
    functionName: roaring::api::bitset_extract_setbits_avx512
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _mm512_extracti32x4_epi32
    - roaring_trailing_zeroes
    - _mm512_storeu_si512
    - _mm512_set1_epi32
    - _mm512_maskz_compress_epi8
    - _mm512_loadu_si512
    - _mm512_add_epi32
    - _mm512_cvtepi8_epi32
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_avx512(const uint64_t *words, size_t
      length,\n                                     uint32_t *vout, size_t outcapacity,\n
      \                                    uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12196,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12197,1
    - Dst: _mm512_maskz_compress_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12202,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12204,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12207,1
    - Dst: _mm512_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12207,1
    - Dst: _mm512_cvtepi8_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12208,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12208,1
    - Dst: _mm512_cvtepi8_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12209,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12209,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12211,1
    - Dst: _mm512_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12212,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12214,1
    - Dst: _mm512_storeu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12215,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12225,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - array
    - length
    - vout
    - capacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12235
      start: 12189
    functionDepth: 1
    functionLinenumber: 12189
    functionLinenumberEnd: 12235
    functionName: roaring::api::bitset_extract_setbits_avx512_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm512_set1_epi16
    - roaring_trailing_zeroes
    - _mm512_cvtepi8_epi16
    - _mm512_storeu_si512
    - _mm512_extracti32x8_epi32
    - _mm512_maskz_compress_epi8
    - _mm512_loadu_si512
    - _mm512_add_epi16
    - memcpy
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_avx512_uint16(const uint64_t *array,\n
      \                                           size_t length, uint16_t *vout,\n
      \                                           size_t capacity, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12244,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12245,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12246,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12252,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12259,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12261,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12264,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12265,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12266,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12267,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12268,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12270,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12280,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12290
      start: 12239
    functionDepth: 1
    functionLinenumber: 12239
    functionLinenumberEnd: 12290
    functionName: roaring::api::bitset_extract_setbits_avx2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_set1_epi32
    - roaring_trailing_zeroes
    - _mm256_storeu_si256
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_avx2(const uint64_t *words,
      size_t length,\n                                   uint32_t *out, size_t outcapacity,\n
      \                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12301,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12311
      start: 12294
    functionDepth: 1
    functionLinenumber: 12294
    functionLinenumberEnd: 12311
    functionName: roaring::api::bitset_extract_setbits
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits(const uint64_t *words, size_t length,\n
      \                             uint32_t *out, uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - words1
    - words2
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12327
      start: 12313
    functionDepth: 1
    functionLinenumber: 12313
    functionLinenumberEnd: 12327
    functionName: roaring::api::bitset_extract_intersection_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_intersection_setbits_uint16(\n    const uint64_t
      *__restrict__ words1, const uint64_t *__restrict__ words2,\n    size_t length,
      uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12347,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12348,1
    - Dst: _mm_set1_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12349,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12356,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12362,1
    - Dst: _mm_loadu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12364,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12368,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12369,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12370,1
    - Dst: _mm_add_epi16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12371,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12372,1
    - Dst: _mm_storeu_si128
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12374,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - words
    - length
    - out
    - outcapacity
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - size_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12391
      start: 12342
    functionDepth: 1
    functionLinenumber: 12342
    functionLinenumberEnd: 12391
    functionName: roaring::api::bitset_extract_setbits_sse_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - _mm_set1_epi16
    - _mm_loadu_si128
    - _mm_add_epi16
    - _mm_storeu_si128
    linkageType: ''
    returnType: CROARING_TARGET_AVX2
    signature: "CROARING_TARGET_AVX2 bitset_extract_setbits_sse_uint16(const uint64_t
      *words, size_t length,\n                                         uint16_t *out,
      size_t outcapacity,\n                                         uint16_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - words
    - length
    - out
    - base
    argTypes:
    - uint64_t*
    - size_t
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12417
      start: 12404
    functionDepth: 1
    functionLinenumber: 12404
    functionLinenumberEnd: 12417
    functionName: roaring::api::bitset_extract_setbits_uint16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_extract_setbits_uint16(const uint64_t *words, size_t
      length,\n                                     uint16_t *out, uint16_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12446
      start: 12421
    functionDepth: 0
    functionLinenumber: 12421
    functionLinenumberEnd: 12446
    functionName: roaring::api::_asm_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_set_list_withcard(uint64_t *words,\n                                                     uint64_t
      card,\n                                                     const uint16_t *list,\n
      \                                                    uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12502
      start: 12448
    functionDepth: 0
    functionLinenumber: 12448
    functionLinenumberEnd: 12502
    functionName: roaring::api::_asm_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _asm_bitset_set_list(uint64_t *words, const uint16_t *list,\n
      \                                       uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12529
      start: 12504
    functionDepth: 0
    functionLinenumber: 12504
    functionLinenumberEnd: 12529
    functionName: roaring::api::_asm_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _asm_bitset_clear_list(uint64_t *words, uint64_t card,\n
      \                                             const uint16_t *list,\n                                              uint64_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12547
      start: 12531
    functionDepth: 0
    functionLinenumber: 12531
    functionLinenumberEnd: 12547
    functionName: roaring::api::_scalar_bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_clear_list(uint64_t *words, uint64_t card,\n
      \                                                const uint16_t *list,\n                                                 uint64_t
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12566
      start: 12549
    functionDepth: 0
    functionLinenumber: 12549
    functionLinenumberEnd: 12566
    functionName: roaring::api::_scalar_bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t _scalar_bitset_set_list_withcard(uint64_t *words,\n                                                        uint64_t
      card,\n                                                        const uint16_t
      *list,\n                                                        uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12582
      start: 12568
    functionDepth: 0
    functionLinenumber: 12568
    functionLinenumberEnd: 12582
    functionName: roaring::api::_scalar_bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void _scalar_bitset_set_list(uint64_t *words,\n                                           const
      uint16_t *list,\n                                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12586,1
    - Dst: roaring::api::_asm_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12587,1
    - Dst: roaring::api::_scalar_bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12591
      start: 12584
    functionDepth: 1
    functionLinenumber: 12584
    functionLinenumberEnd: 12591
    functionName: roaring::api::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_clear_list
    - croaring_hardware_support
    - roaring::api::_asm_bitset_clear_list
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12595,1
    - Dst: roaring::api::_asm_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12596,1
    - Dst: roaring::api::_scalar_bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12600
      start: 12593
    functionDepth: 1
    functionLinenumber: 12593
    functionLinenumberEnd: 12600
    functionName: roaring::api::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_set_list_withcard
    - croaring_hardware_support
    - roaring::api::_asm_bitset_set_list_withcard
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12603,1
    - Dst: roaring::api::_asm_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12604,1
    - Dst: roaring::api::_scalar_bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12608
      start: 12602
    functionDepth: 1
    functionLinenumber: 12602
    functionLinenumberEnd: 12608
    functionName: roaring::api::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::_scalar_bitset_set_list
    - roaring::api::_asm_bitset_set_list
    - croaring_hardware_support
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12625
      start: 12610
    functionDepth: 0
    functionLinenumber: 12610
    functionLinenumberEnd: 12625
    functionName: roaring::api::bitset_clear_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_clear_list(uint64_t *words, uint64_t card, const uint16_t
      *list,\n                           uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12642
      start: 12627
    functionDepth: 0
    functionLinenumber: 12627
    functionLinenumberEnd: 12642
    functionName: roaring::api::bitset_set_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_set_list_withcard(uint64_t *words, uint64_t card,\n
      \                                 const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12656
      start: 12644
    functionDepth: 0
    functionLinenumber: 12644
    functionLinenumberEnd: 12656
    functionName: roaring::api::bitset_set_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_set_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12672,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - words
    - card
    - list
    - length
    argTypes:
    - uint64_t*
    - uint64_t
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12680
      start: 12663
    functionDepth: 0
    functionLinenumber: 12663
    functionLinenumberEnd: 12680
    functionName: roaring::api::bitset_flip_list_withcard
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t bitset_flip_list_withcard(uint64_t *words, uint64_t card,\n
      \                                  const uint16_t *list, uint64_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - words
    - list
    - length
    argTypes:
    - uint64_t*
    - uint16_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12694
      start: 12682
    functionDepth: 0
    functionLinenumber: 12682
    functionLinenumberEnd: 12694
    functionName: roaring::api::bitset_flip_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_flip_list(uint64_t *words, const uint16_t *list, uint64_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12744
      start: 12734
    functionDepth: 0
    functionLinenumber: 12734
    functionLinenumberEnd: 12744
    functionName: roaring::internal::bitset_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_create(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12751,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12757,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12763
      start: 12748
    functionDepth: 0
    functionLinenumber: 12748
    functionLinenumberEnd: 12763
    functionName: roaring::internal::bitset_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_create_with_capacity(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12769,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12772,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12774,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12776,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12781
      start: 12766
    functionDepth: 0
    functionLinenumber: 12766
    functionLinenumberEnd: 12781
    functionName: roaring::internal::bitset_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_copy(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12785
      start: 12783
    functionDepth: 0
    functionLinenumber: 12783
    functionLinenumberEnd: 12785
    functionName: roaring::internal::bitset_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_clear(bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12789
      start: 12787
    functionDepth: 0
    functionLinenumber: 12787
    functionLinenumberEnd: 12789
    functionName: roaring::internal::bitset_fill
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_fill(bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12796,1
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - bitset
    - s
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12815
      start: 12791
    functionDepth: 1
    functionLinenumber: 12791
    functionLinenumberEnd: 12815
    functionName: roaring::internal::bitset_shift_left
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_resize
    linkageType: ''
    returnType: void
    signature: void bitset_shift_left(bitset_t *bitset, size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12826,1
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bitset
    - s
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12838
      start: 12817
    functionDepth: 1
    functionLinenumber: 12817
    functionLinenumberEnd: 12838
    functionName: roaring::internal::bitset_shift_right
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_resize
    linkageType: ''
    returnType: void
    signature: void bitset_shift_right(bitset_t *bitset, size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12845,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12847
      start: 12841
    functionDepth: 0
    functionLinenumber: 12841
    functionLinenumberEnd: 12847
    functionName: roaring::internal::bitset_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_free(bitset_t *bitset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12866,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - bitset
    - newarraysize
    - padwithzeroes
    argTypes:
    - bitset_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12878
      start: 12851
    functionDepth: 0
    functionLinenumber: 12851
    functionLinenumberEnd: 12878
    functionName: roaring::internal::bitset_resize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - memset
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_resize(bitset_t *bitset, size_t newarraysize, bool padwithzeroes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12884,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12885,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12886,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12887,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12888,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12889,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12890,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12891,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12894,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12895,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12896,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12897,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12903
      start: 12880
    functionDepth: 1
    functionLinenumber: 12880
    functionLinenumberEnd: 12903
    functionName: roaring::internal::bitset_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_count(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12928
      start: 12921
    functionDepth: 0
    functionLinenumber: 12921
    functionLinenumberEnd: 12928
    functionName: roaring::internal::bitset_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_empty(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12938
      start: 12930
    functionDepth: 1
    functionLinenumber: 12930
    functionLinenumberEnd: 12938
    functionName: roaring::internal::bitset_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_minimum(const bitset_t *bitset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12949,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12950,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12955,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12962,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - bitset
    - newarraysize
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12966
      start: 12940
    functionDepth: 1
    functionLinenumber: 12940
    functionLinenumberEnd: 12966
    functionName: roaring::internal::bitset_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    - UINT64_C
    - roaring_leading_zeroes
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_grow(bitset_t *bitset, size_t newarraysize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12976
      start: 12968
    functionDepth: 1
    functionLinenumber: 12968
    functionLinenumberEnd: 12976
    functionName: roaring::internal::bitset_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_leading_zeroes
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_maximum(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12990
      start: 12981
    functionDepth: 0
    functionLinenumber: 12981
    functionLinenumberEnd: 12990
    functionName: roaring::internal::bitsets_disjoint
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitsets_disjoint(const bitset_t *CROARING_CBITSET_RESTRICT b1,\n
      \                     const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13005
      start: 12996
    functionDepth: 0
    functionLinenumber: 12996
    functionLinenumberEnd: 13005
    functionName: roaring::internal::bitsets_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitsets_intersect(const bitset_t *CROARING_CBITSET_RESTRICT b1,\n
      \                      const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - b
    - starting_loc
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13016
      start: 13008
    functionDepth: 0
    functionLinenumber: 13008
    functionLinenumberEnd: 13016
    functionName: roaring::internal::any_bits_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool any_bits_set(const bitset_t *b, size_t starting_loc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::any_bits_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13037
      start: 13021
    functionDepth: 1
    functionLinenumber: 13021
    functionLinenumberEnd: 13037
    functionName: roaring::internal::bitset_contains_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::any_bits_set
    linkageType: ''
    returnType: bool
    signature: "bool bitset_contains_all(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                         const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13046,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13047,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13048,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13049,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13052,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13057,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13058,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13059,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13060,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13063,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13068,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13069,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13070,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13071,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13074,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13078
      start: 13039
    functionDepth: 1
    functionLinenumber: 13039
    functionLinenumberEnd: 13078
    functionName: roaring::internal::bitset_union_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_union_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                          const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13102
      start: 13093
    functionDepth: 1
    functionLinenumber: 13093
    functionLinenumberEnd: 13102
    functionName: roaring::internal::bitset_intersection_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_intersection_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                                 const bitset_t *CROARING_CBITSET_RESTRICT
      b2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13121,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13127
      start: 13114
    functionDepth: 1
    functionLinenumber: 13114
    functionLinenumberEnd: 13127
    functionName: roaring::internal::bitset_difference_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_difference_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                               const bitset_t *CROARING_CBITSET_RESTRICT
      b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13155,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13159,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13167
      start: 13147
    functionDepth: 1
    functionLinenumber: 13147
    functionLinenumberEnd: 13167
    functionName: roaring::internal::bitset_symmetric_difference_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_symmetric_difference_count(\n    const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n    const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13187
      start: 13169
    functionDepth: 0
    functionLinenumber: 13169
    functionLinenumberEnd: 13187
    functionName: roaring::internal::bitset_trim
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_trim(bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12744
      start: 12734
    functionDepth: 0
    functionLinenumber: 12734
    functionLinenumberEnd: 12744
    functionName: roaring::internal::bitset_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_create(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12751,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12757,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12763
      start: 12748
    functionDepth: 0
    functionLinenumber: 12748
    functionLinenumberEnd: 12763
    functionName: roaring::internal::bitset_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_create_with_capacity(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12769,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12772,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12774,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12776,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12781
      start: 12766
    functionDepth: 0
    functionLinenumber: 12766
    functionLinenumberEnd: 12781
    functionName: roaring::internal::bitset_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_copy(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12785
      start: 12783
    functionDepth: 0
    functionLinenumber: 12783
    functionLinenumberEnd: 12785
    functionName: roaring::internal::bitset_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_clear(bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12789
      start: 12787
    functionDepth: 0
    functionLinenumber: 12787
    functionLinenumberEnd: 12789
    functionName: roaring::internal::bitset_fill
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_fill(bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12796,1
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - bitset
    - s
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12815
      start: 12791
    functionDepth: 1
    functionLinenumber: 12791
    functionLinenumberEnd: 12815
    functionName: roaring::internal::bitset_shift_left
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_resize
    linkageType: ''
    returnType: void
    signature: void bitset_shift_left(bitset_t *bitset, size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12826,1
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bitset
    - s
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12838
      start: 12817
    functionDepth: 1
    functionLinenumber: 12817
    functionLinenumberEnd: 12838
    functionName: roaring::internal::bitset_shift_right
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_resize
    linkageType: ''
    returnType: void
    signature: void bitset_shift_right(bitset_t *bitset, size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12845,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12847
      start: 12841
    functionDepth: 0
    functionLinenumber: 12841
    functionLinenumberEnd: 12847
    functionName: roaring::internal::bitset_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_free(bitset_t *bitset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12866,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - bitset
    - newarraysize
    - padwithzeroes
    argTypes:
    - bitset_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12878
      start: 12851
    functionDepth: 0
    functionLinenumber: 12851
    functionLinenumberEnd: 12878
    functionName: roaring::internal::bitset_resize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memset
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_resize(bitset_t *bitset, size_t newarraysize, bool padwithzeroes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12884,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12885,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12886,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12887,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12888,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12889,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12890,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12891,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12894,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12895,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12896,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12897,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12903
      start: 12880
    functionDepth: 1
    functionLinenumber: 12880
    functionLinenumberEnd: 12903
    functionName: roaring::internal::bitset_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_count(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12928
      start: 12921
    functionDepth: 0
    functionLinenumber: 12921
    functionLinenumberEnd: 12928
    functionName: roaring::internal::bitset_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_empty(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12938
      start: 12930
    functionDepth: 1
    functionLinenumber: 12930
    functionLinenumberEnd: 12938
    functionName: roaring::internal::bitset_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_minimum(const bitset_t *bitset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12949,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12950,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12955,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12962,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - bitset
    - newarraysize
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12966
      start: 12940
    functionDepth: 1
    functionLinenumber: 12940
    functionLinenumberEnd: 12966
    functionName: roaring::internal::bitset_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    - UINT64_C
    - roaring_leading_zeroes
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_grow(bitset_t *bitset, size_t newarraysize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12976
      start: 12968
    functionDepth: 1
    functionLinenumber: 12968
    functionLinenumberEnd: 12976
    functionName: roaring::internal::bitset_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_leading_zeroes
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_maximum(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12990
      start: 12981
    functionDepth: 0
    functionLinenumber: 12981
    functionLinenumberEnd: 12990
    functionName: roaring::internal::bitsets_disjoint
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitsets_disjoint(const bitset_t *CROARING_CBITSET_RESTRICT b1,\n
      \                     const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13005
      start: 12996
    functionDepth: 0
    functionLinenumber: 12996
    functionLinenumberEnd: 13005
    functionName: roaring::internal::bitsets_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitsets_intersect(const bitset_t *CROARING_CBITSET_RESTRICT b1,\n
      \                      const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - b
    - starting_loc
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13016
      start: 13008
    functionDepth: 0
    functionLinenumber: 13008
    functionLinenumberEnd: 13016
    functionName: roaring::internal::any_bits_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool any_bits_set(const bitset_t *b, size_t starting_loc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::any_bits_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13037
      start: 13021
    functionDepth: 1
    functionLinenumber: 13021
    functionLinenumberEnd: 13037
    functionName: roaring::internal::bitset_contains_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::any_bits_set
    linkageType: ''
    returnType: bool
    signature: "bool bitset_contains_all(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                         const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13046,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13047,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13048,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13049,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13052,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13057,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13058,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13059,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13060,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13063,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13068,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13069,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13070,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13071,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13074,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13078
      start: 13039
    functionDepth: 1
    functionLinenumber: 13039
    functionLinenumberEnd: 13078
    functionName: roaring::internal::bitset_union_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_union_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                          const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13102
      start: 13093
    functionDepth: 1
    functionLinenumber: 13093
    functionLinenumberEnd: 13102
    functionName: roaring::internal::bitset_intersection_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_intersection_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                                 const bitset_t *CROARING_CBITSET_RESTRICT
      b2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13121,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13127
      start: 13114
    functionDepth: 1
    functionLinenumber: 13114
    functionLinenumberEnd: 13127
    functionName: roaring::internal::bitset_difference_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_difference_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                               const bitset_t *CROARING_CBITSET_RESTRICT
      b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13155,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13159,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13167
      start: 13147
    functionDepth: 1
    functionLinenumber: 13147
    functionLinenumberEnd: 13167
    functionName: roaring::internal::bitset_symmetric_difference_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_symmetric_difference_count(\n    const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n    const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13187
      start: 13169
    functionDepth: 0
    functionLinenumber: 13169
    functionLinenumberEnd: 13187
    functionName: roaring::internal::bitset_trim
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_trim(bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12744
      start: 12734
    functionDepth: 0
    functionLinenumber: 12734
    functionLinenumberEnd: 12744
    functionName: roaring::internal::bitset_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_create(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12751,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12757,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12763
      start: 12748
    functionDepth: 0
    functionLinenumber: 12748
    functionLinenumberEnd: 12763
    functionName: roaring::internal::bitset_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_create_with_capacity(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12769,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12772,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12774,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12776,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12781
      start: 12766
    functionDepth: 0
    functionLinenumber: 12766
    functionLinenumberEnd: 12781
    functionName: roaring::internal::bitset_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_copy(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12785
      start: 12783
    functionDepth: 0
    functionLinenumber: 12783
    functionLinenumberEnd: 12785
    functionName: roaring::internal::bitset_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_clear(bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12789
      start: 12787
    functionDepth: 0
    functionLinenumber: 12787
    functionLinenumberEnd: 12789
    functionName: roaring::internal::bitset_fill
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_fill(bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12796,1
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - bitset
    - s
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12815
      start: 12791
    functionDepth: 1
    functionLinenumber: 12791
    functionLinenumberEnd: 12815
    functionName: roaring::internal::bitset_shift_left
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_resize
    linkageType: ''
    returnType: void
    signature: void bitset_shift_left(bitset_t *bitset, size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12826,1
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bitset
    - s
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12838
      start: 12817
    functionDepth: 1
    functionLinenumber: 12817
    functionLinenumberEnd: 12838
    functionName: roaring::internal::bitset_shift_right
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_resize
    linkageType: ''
    returnType: void
    signature: void bitset_shift_right(bitset_t *bitset, size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12845,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12847
      start: 12841
    functionDepth: 0
    functionLinenumber: 12841
    functionLinenumberEnd: 12847
    functionName: roaring::internal::bitset_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_free(bitset_t *bitset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12866,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - bitset
    - newarraysize
    - padwithzeroes
    argTypes:
    - bitset_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12878
      start: 12851
    functionDepth: 0
    functionLinenumber: 12851
    functionLinenumberEnd: 12878
    functionName: roaring::internal::bitset_resize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - memset
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_resize(bitset_t *bitset, size_t newarraysize, bool padwithzeroes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12884,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12885,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12886,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12887,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12888,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12889,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12890,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12891,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12894,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12895,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12896,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12897,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12903
      start: 12880
    functionDepth: 1
    functionLinenumber: 12880
    functionLinenumberEnd: 12903
    functionName: roaring::internal::bitset_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_count(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12928
      start: 12921
    functionDepth: 0
    functionLinenumber: 12921
    functionLinenumberEnd: 12928
    functionName: roaring::internal::bitset_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_empty(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12938
      start: 12930
    functionDepth: 1
    functionLinenumber: 12930
    functionLinenumberEnd: 12938
    functionName: roaring::internal::bitset_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_minimum(const bitset_t *bitset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12949,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12950,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12955,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12962,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - bitset
    - newarraysize
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12966
      start: 12940
    functionDepth: 1
    functionLinenumber: 12940
    functionLinenumberEnd: 12966
    functionName: roaring::internal::bitset_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    - UINT64_C
    - roaring_leading_zeroes
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_grow(bitset_t *bitset, size_t newarraysize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12976
      start: 12968
    functionDepth: 1
    functionLinenumber: 12968
    functionLinenumberEnd: 12976
    functionName: roaring::internal::bitset_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_leading_zeroes
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_maximum(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12990
      start: 12981
    functionDepth: 0
    functionLinenumber: 12981
    functionLinenumberEnd: 12990
    functionName: roaring::internal::bitsets_disjoint
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitsets_disjoint(const bitset_t *CROARING_CBITSET_RESTRICT b1,\n
      \                     const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13005
      start: 12996
    functionDepth: 0
    functionLinenumber: 12996
    functionLinenumberEnd: 13005
    functionName: roaring::internal::bitsets_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitsets_intersect(const bitset_t *CROARING_CBITSET_RESTRICT b1,\n
      \                      const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - b
    - starting_loc
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13016
      start: 13008
    functionDepth: 0
    functionLinenumber: 13008
    functionLinenumberEnd: 13016
    functionName: roaring::internal::any_bits_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool any_bits_set(const bitset_t *b, size_t starting_loc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::any_bits_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13037
      start: 13021
    functionDepth: 1
    functionLinenumber: 13021
    functionLinenumberEnd: 13037
    functionName: roaring::internal::bitset_contains_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::any_bits_set
    linkageType: ''
    returnType: bool
    signature: "bool bitset_contains_all(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                         const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13046,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13047,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13048,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13049,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13052,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13057,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13058,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13059,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13060,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13063,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13068,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13069,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13070,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13071,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13074,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13078
      start: 13039
    functionDepth: 1
    functionLinenumber: 13039
    functionLinenumberEnd: 13078
    functionName: roaring::internal::bitset_union_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_union_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                          const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13102
      start: 13093
    functionDepth: 1
    functionLinenumber: 13093
    functionLinenumberEnd: 13102
    functionName: roaring::internal::bitset_intersection_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_intersection_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                                 const bitset_t *CROARING_CBITSET_RESTRICT
      b2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13121,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13127
      start: 13114
    functionDepth: 1
    functionLinenumber: 13114
    functionLinenumberEnd: 13127
    functionName: roaring::internal::bitset_difference_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_difference_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                               const bitset_t *CROARING_CBITSET_RESTRICT
      b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13155,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13159,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13167
      start: 13147
    functionDepth: 1
    functionLinenumber: 13147
    functionLinenumberEnd: 13167
    functionName: roaring::internal::bitset_symmetric_difference_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_symmetric_difference_count(\n    const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n    const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13187
      start: 13169
    functionDepth: 0
    functionLinenumber: 13169
    functionLinenumberEnd: 13187
    functionName: roaring::internal::bitset_trim
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_trim(bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12744
      start: 12734
    functionDepth: 0
    functionLinenumber: 12734
    functionLinenumberEnd: 12744
    functionName: roaring::internal::bitset_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_create(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12751,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12757,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12763
      start: 12748
    functionDepth: 0
    functionLinenumber: 12748
    functionLinenumberEnd: 12763
    functionName: roaring::internal::bitset_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_create_with_capacity(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12769,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12772,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12774,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12776,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12781
      start: 12766
    functionDepth: 0
    functionLinenumber: 12766
    functionLinenumberEnd: 12781
    functionName: roaring::internal::bitset_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: bitset_t
    signature: bitset_t *bitset_copy(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12785
      start: 12783
    functionDepth: 0
    functionLinenumber: 12783
    functionLinenumberEnd: 12785
    functionName: roaring::internal::bitset_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_clear(bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12789
      start: 12787
    functionDepth: 0
    functionLinenumber: 12787
    functionLinenumberEnd: 12789
    functionName: roaring::internal::bitset_fill
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_fill(bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12796,1
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - bitset
    - s
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12815
      start: 12791
    functionDepth: 1
    functionLinenumber: 12791
    functionLinenumberEnd: 12815
    functionName: roaring::internal::bitset_shift_left
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_resize
    linkageType: ''
    returnType: void
    signature: void bitset_shift_left(bitset_t *bitset, size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12826,1
    - Dst: roaring::internal::bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - bitset
    - s
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12838
      start: 12817
    functionDepth: 1
    functionLinenumber: 12817
    functionLinenumberEnd: 12838
    functionName: roaring::internal::bitset_shift_right
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_resize
    linkageType: ''
    returnType: void
    signature: void bitset_shift_right(bitset_t *bitset, size_t s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12845,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12847
      start: 12841
    functionDepth: 0
    functionLinenumber: 12841
    functionLinenumberEnd: 12847
    functionName: roaring::internal::bitset_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_free(bitset_t *bitset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12866,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - bitset
    - newarraysize
    - padwithzeroes
    argTypes:
    - bitset_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12878
      start: 12851
    functionDepth: 0
    functionLinenumber: 12851
    functionLinenumberEnd: 12878
    functionName: roaring::internal::bitset_resize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memset
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_resize(bitset_t *bitset, size_t newarraysize, bool padwithzeroes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12884,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12885,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12886,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12887,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12888,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12889,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12890,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12891,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12894,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12895,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12896,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12897,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12903
      start: 12880
    functionDepth: 1
    functionLinenumber: 12880
    functionLinenumberEnd: 12903
    functionName: roaring::internal::bitset_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_count(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12928
      start: 12921
    functionDepth: 0
    functionLinenumber: 12921
    functionLinenumberEnd: 12928
    functionName: roaring::internal::bitset_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_empty(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12938
      start: 12930
    functionDepth: 1
    functionLinenumber: 12930
    functionLinenumberEnd: 12938
    functionName: roaring::internal::bitset_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_minimum(const bitset_t *bitset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12949,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12950,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12955,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12962,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - bitset
    - newarraysize
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12966
      start: 12940
    functionDepth: 1
    functionLinenumber: 12940
    functionLinenumberEnd: 12966
    functionName: roaring::internal::bitset_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    - UINT64_C
    - roaring_leading_zeroes
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_grow(bitset_t *bitset, size_t newarraysize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:12972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12976
      start: 12968
    functionDepth: 1
    functionLinenumber: 12968
    functionLinenumberEnd: 12976
    functionName: roaring::internal::bitset_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_leading_zeroes
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_maximum(const bitset_t *bitset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12990
      start: 12981
    functionDepth: 0
    functionLinenumber: 12981
    functionLinenumberEnd: 12990
    functionName: roaring::internal::bitsets_disjoint
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitsets_disjoint(const bitset_t *CROARING_CBITSET_RESTRICT b1,\n
      \                     const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13005
      start: 12996
    functionDepth: 0
    functionLinenumber: 12996
    functionLinenumberEnd: 13005
    functionName: roaring::internal::bitsets_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitsets_intersect(const bitset_t *CROARING_CBITSET_RESTRICT b1,\n
      \                      const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - b
    - starting_loc
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13016
      start: 13008
    functionDepth: 0
    functionLinenumber: 13008
    functionLinenumberEnd: 13016
    functionName: roaring::internal::any_bits_set
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool any_bits_set(const bitset_t *b, size_t starting_loc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::any_bits_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13037
      start: 13021
    functionDepth: 1
    functionLinenumber: 13021
    functionLinenumberEnd: 13037
    functionName: roaring::internal::bitset_contains_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::any_bits_set
    linkageType: ''
    returnType: bool
    signature: "bool bitset_contains_all(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                         const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13046,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13047,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13048,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13049,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13052,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13057,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13058,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13059,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13060,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13063,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13068,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13069,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13070,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13071,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13074,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13078
      start: 13039
    functionDepth: 1
    functionLinenumber: 13039
    functionLinenumberEnd: 13078
    functionName: roaring::internal::bitset_union_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_union_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                          const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13102
      start: 13093
    functionDepth: 1
    functionLinenumber: 13093
    functionLinenumberEnd: 13102
    functionName: roaring::internal::bitset_intersection_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_intersection_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                                 const bitset_t *CROARING_CBITSET_RESTRICT
      b2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13121,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13127
      start: 13114
    functionDepth: 1
    functionLinenumber: 13114
    functionLinenumberEnd: 13127
    functionName: roaring::internal::bitset_difference_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_difference_count(const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n                               const bitset_t *CROARING_CBITSET_RESTRICT
      b2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13155,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13159,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - CROARING_CBITSET_RESTRICT
    - CROARING_CBITSET_RESTRICT
    argTypes:
    - bitset_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13167
      start: 13147
    functionDepth: 1
    functionLinenumber: 13147
    functionLinenumberEnd: 13167
    functionName: roaring::internal::bitset_symmetric_difference_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_symmetric_difference_count(\n    const bitset_t *CROARING_CBITSET_RESTRICT
      b1,\n    const bitset_t *CROARING_CBITSET_RESTRICT b2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13187
      start: 13169
    functionDepth: 0
    functionLinenumber: 13169
    functionLinenumberEnd: 13187
    functionName: roaring::internal::bitset_trim
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_realloc
    linkageType: ''
    returnType: bool
    signature: bool bitset_trim(bitset_t *bitset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13245,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13252,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13262
      start: 13242
    functionDepth: 0
    functionLinenumber: 13242
    functionLinenumberEnd: 13262
    functionName: roaring::internal::array_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 92
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_given_capacity(int32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13267
      start: 13265
    functionDepth: 0
    functionLinenumber: 13265
    functionLinenumberEnd: 13267
    functionName: roaring::internal::array_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13279
      start: 13270
    functionDepth: 0
    functionLinenumber: 13270
    functionLinenumberEnd: 13279
    functionName: roaring::internal::array_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_range(uint32_t min, uint32_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13285,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13294
      start: 13282
    functionDepth: 0
    functionLinenumber: 13282
    functionLinenumberEnd: 13294
    functionName: array_container_t *array_container_clone(const array_container_t
      *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_t *array_container_clone(const array_container_t
      *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13303,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13305,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13307,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13314,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - array_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13320
      start: 13296
    functionDepth: 0
    functionLinenumber: 13296
    functionLinenumberEnd: 13320
    functionName: roaring::internal::array_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_add
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::count_less
    linkageType: ''
    returnType: void
    signature: "void array_container_offset(const array_container_t *c, container_t
      **loc,\n                            container_t **hic, uint16_t offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13328,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13332,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13337
      start: 13322
    functionDepth: 0
    functionLinenumber: 13322
    functionLinenumberEnd: 13337
    functionName: roaring::internal::array_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_realloc
    - roaring_free
    linkageType: ''
    returnType: int
    signature: int array_container_shrink_to_fit(array_container_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13342,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13344
      start: 13340
    functionDepth: 0
    functionLinenumber: 13340
    functionLinenumberEnd: 13344
    functionName: roaring::internal::array_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 36
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void array_container_free(array_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13351
      start: 13346
    functionDepth: 0
    functionLinenumber: 13346
    functionLinenumberEnd: 13351
    functionName: roaring::internal::grow_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t grow_capacity(int32_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - min
    - max
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13355
      start: 13353
    functionDepth: 0
    functionLinenumber: 13353
    functionLinenumberEnd: 13355
    functionName: roaring::internal::clamp
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t clamp(int32_t val, int32_t min, int32_t max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::clamp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13360,1
    - Dst: roaring::internal::grow_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13360,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13367,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13368,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13370,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - container
    - min
    - preserve
    argTypes:
    - array_container_t*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13376
      start: 13357
    functionDepth: 0
    functionLinenumber: 13357
    functionLinenumberEnd: 13376
    functionName: roaring::internal::array_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 68
    functionsReached:
    - roaring::internal::clamp
    - roaring_free
    - roaring::internal::grow_capacity
    - roaring_malloc
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: "void array_container_grow(array_container_t *container, int32_t min,\n
      \                         bool preserve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13383,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13388
      start: 13379
    functionDepth: 0
    functionLinenumber: 13379
    functionLinenumberEnd: 13388
    functionName: roaring::internal::array_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void array_container_copy(const array_container_t *src,\n                          array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - arr
    - min
    - max
    - step
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13395
      start: 13390
    functionDepth: 0
    functionLinenumber: 13390
    functionLinenumberEnd: 13395
    functionName: roaring::internal::array_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_append
    linkageType: ''
    returnType: void
    signature: "void array_container_add_from_range(array_container_t *arr, uint32_t
      min,\n                                    uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13407,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13411
      start: 13400
    functionDepth: 0
    functionLinenumber: 13400
    functionLinenumberEnd: 13411
    functionName: roaring::internal::array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::fast_union_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_union(const array_container_t *array_1,\n                           const
      array_container_t *array_2,\n                           array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13421,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13423,1
    - Dst: roaring::internal::difference_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13425,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13430,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13438
      start: 13417
    functionDepth: 1
    functionLinenumber: 13417
    functionLinenumberEnd: 13438
    functionName: roaring::internal::array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::croaring_hardware_support
    - roaring::internal::difference_vector16
    - roaring::internal::difference_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_andnot(const array_container_t *array_1,\n                            const
      array_container_t *array_2,\n                            array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13451,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13455,1
    - Dst: roaring::internal::xor_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13457,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13461,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13469
      start: 13445
    functionDepth: 1
    functionLinenumber: 13445
    functionLinenumberEnd: 13469
    functionName: roaring::internal::array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::croaring_hardware_support
    - roaring::internal::xor_vector16
    - roaring::internal::xor_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_xor(const array_container_t *array_1,\n                         const
      array_container_t *array_2,\n                         array_container_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13473
      start: 13471
    functionDepth: 0
    functionLinenumber: 13471
    functionLinenumberEnd: 13473
    functionName: roaring::internal::minimum_int32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t minimum_int32(int32_t a, int32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::minimum_int32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13483,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13487,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13492,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13497,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13500,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13504,1
    - Dst: roaring::internal::intersect_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13505,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13508,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - array1
    - array2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13516
      start: 13479
    functionDepth: 1
    functionLinenumber: 13479
    functionLinenumberEnd: 13516
    functionName: roaring::internal::array_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::intersect_vector16
    - roaring::internal::intersect_uint16
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::minimum_int32
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection(const array_container_t *array1,\n
      \                                 const array_container_t *array2,\n                                  array_container_t
      *out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13525,1
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13528,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13532,1
    - Dst: roaring::internal::intersect_vector16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13533,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13536,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13544
      start: 13520
    functionDepth: 1
    functionLinenumber: 13520
    functionLinenumberEnd: 13544
    functionName: roaring::internal::array_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_uint16_cardinality
    - roaring::internal::intersect_skewed_uint16_cardinality
    - roaring::internal::intersect_vector16_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_container_intersection_cardinality(const array_container_t
      *array1,\n                                             const array_container_t
      *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13551,1
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13554,1
    - Dst: roaring::internal::intersect_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13561
      start: 13546
    functionDepth: 0
    functionLinenumber: 13546
    functionLinenumberEnd: 13561
    functionName: roaring::internal::array_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::intersect_skewed_uint16_nonempty
    - roaring::internal::intersect_uint16_nonempty
    linkageType: ''
    returnType: bool
    signature: "bool array_container_intersect(const array_container_t *array1,\n
      \                              const array_container_t *array2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13571,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13574,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13578,1
    - Dst: roaring::internal::intersect_vector16_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13579,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13582,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13590
      start: 13566
    functionDepth: 1
    functionLinenumber: 13566
    functionLinenumberEnd: 13590
    functionName: roaring::internal::array_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::intersect_uint16
    - roaring::internal::intersect_vector16_inplace
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection_inplace(array_container_t *src_1,\n
      \                                         const array_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13596,1
    - Dst: roaring::internal::avx512_array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13599,1
    - Dst: roaring::internal::array_container_to_uint32_array_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13604,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13618
      start: 13592
    functionDepth: 1
    functionLinenumber: 13592
    functionLinenumberEnd: 13618
    functionName: roaring::internal::array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::avx512_array_container_to_uint32_array
    - roaring::internal::croaring_hardware_support
    - roaring::internal::array_container_to_uint32_array_vector16
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array(void *vout, const
      array_container_t *cont,\n                                    uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13622,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13625,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13626,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13628,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13631
      start: 13620
    functionDepth: 1
    functionLinenumber: 13620
    functionLinenumberEnd: 13631
    functionName: roaring::internal::array_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void array_container_printf(const array_container_t *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13638,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13642
      start: 13633
    functionDepth: 1
    functionLinenumber: 13633
    functionLinenumberEnd: 13642
    functionName: roaring::internal::array_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void array_container_printf_as_uint32_array(const array_container_t
      *v,\n                                            uint32_t base)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - v
    - reason
    argTypes:
    - array_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13683
      start: 13647
    functionDepth: 0
    functionLinenumber: 13647
    functionLinenumberEnd: 13683
    functionName: roaring::internal::array_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_validate(const array_container_t *v, const char
      **reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13695
      start: 13686
    functionDepth: 0
    functionLinenumber: 13686
    functionLinenumberEnd: 13695
    functionName: roaring::internal::array_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_number_of_runs(const array_container_t *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13704,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13706
      start: 13703
    functionDepth: 0
    functionLinenumber: 13703
    functionLinenumberEnd: 13706
    functionName: roaring::internal::array_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_write(const array_container_t *container, char
      *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13729
      start: 13708
    functionDepth: 0
    functionLinenumber: 13708
    functionLinenumberEnd: 13729
    functionName: roaring::internal::array_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset(const array_container_t *container1,\n
      \                              const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13734,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13737,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13740
      start: 13731
    functionDepth: 0
    functionLinenumber: 13731
    functionLinenumberEnd: 13740
    functionName: roaring::internal::array_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_read(int32_t cardinality, array_container_t
      *container,\n                             const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13747
      start: 13742
    functionDepth: 0
    functionLinenumber: 13742
    functionLinenumberEnd: 13747
    functionName: roaring::internal::array_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate(const array_container_t *cont, uint32_t
      base,\n                             roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13756
      start: 13749
    functionDepth: 0
    functionLinenumber: 13749
    functionLinenumberEnd: 13756
    functionName: roaring::internal::array_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate64(const array_container_t *cont, uint32_t
      base,\n                               roaring_iterator64 iterator, uint64_t
      high_bits,\n                               void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13245,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13252,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13262
      start: 13242
    functionDepth: 0
    functionLinenumber: 13242
    functionLinenumberEnd: 13262
    functionName: roaring::internal::array_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 96
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_given_capacity(int32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13267
      start: 13265
    functionDepth: 0
    functionLinenumber: 13265
    functionLinenumberEnd: 13267
    functionName: roaring::internal::array_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13279
      start: 13270
    functionDepth: 0
    functionLinenumber: 13270
    functionLinenumberEnd: 13279
    functionName: roaring::internal::array_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_range(uint32_t min, uint32_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13285,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13294
      start: 13282
    functionDepth: 0
    functionLinenumber: 13282
    functionLinenumberEnd: 13294
    functionName: array_container_t *array_container_clone(const array_container_t
      *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - array_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_t *array_container_clone(const array_container_t
      *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13303,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13305,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13307,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13314,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - array_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13320
      start: 13296
    functionDepth: 0
    functionLinenumber: 13296
    functionLinenumberEnd: 13320
    functionName: roaring::internal::array_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_add
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::count_less
    linkageType: ''
    returnType: void
    signature: "void array_container_offset(const array_container_t *c, container_t
      **loc,\n                            container_t **hic, uint16_t offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13328,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13332,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13337
      start: 13322
    functionDepth: 0
    functionLinenumber: 13322
    functionLinenumberEnd: 13337
    functionName: roaring::internal::array_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_realloc
    - roaring_free
    linkageType: ''
    returnType: int
    signature: int array_container_shrink_to_fit(array_container_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13342,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13344
      start: 13340
    functionDepth: 0
    functionLinenumber: 13340
    functionLinenumberEnd: 13344
    functionName: roaring::internal::array_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 36
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void array_container_free(array_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13351
      start: 13346
    functionDepth: 0
    functionLinenumber: 13346
    functionLinenumberEnd: 13351
    functionName: roaring::internal::grow_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t grow_capacity(int32_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - min
    - max
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13355
      start: 13353
    functionDepth: 0
    functionLinenumber: 13353
    functionLinenumberEnd: 13355
    functionName: roaring::internal::clamp
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t clamp(int32_t val, int32_t min, int32_t max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::clamp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13360,1
    - Dst: roaring::internal::grow_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13360,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13367,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13368,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13370,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - container
    - min
    - preserve
    argTypes:
    - array_container_t*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13376
      start: 13357
    functionDepth: 0
    functionLinenumber: 13357
    functionLinenumberEnd: 13376
    functionName: roaring::internal::array_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 74
    functionsReached:
    - roaring::internal::clamp
    - roaring_free
    - roaring::internal::grow_capacity
    - roaring_malloc
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: "void array_container_grow(array_container_t *container, int32_t min,\n
      \                         bool preserve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13383,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13388
      start: 13379
    functionDepth: 0
    functionLinenumber: 13379
    functionLinenumberEnd: 13388
    functionName: roaring::internal::array_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void array_container_copy(const array_container_t *src,\n                          array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - arr
    - min
    - max
    - step
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13395
      start: 13390
    functionDepth: 0
    functionLinenumber: 13390
    functionLinenumberEnd: 13395
    functionName: roaring::internal::array_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_append
    linkageType: ''
    returnType: void
    signature: "void array_container_add_from_range(array_container_t *arr, uint32_t
      min,\n                                    uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13407,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13411
      start: 13400
    functionDepth: 0
    functionLinenumber: 13400
    functionLinenumberEnd: 13411
    functionName: roaring::internal::array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::fast_union_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_union(const array_container_t *array_1,\n                           const
      array_container_t *array_2,\n                           array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13421,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13423,1
    - Dst: roaring::internal::difference_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13425,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13430,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13438
      start: 13417
    functionDepth: 1
    functionLinenumber: 13417
    functionLinenumberEnd: 13438
    functionName: roaring::internal::array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::croaring_hardware_support
    - roaring::internal::difference_vector16
    - roaring::internal::difference_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_andnot(const array_container_t *array_1,\n                            const
      array_container_t *array_2,\n                            array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13451,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13455,1
    - Dst: roaring::internal::xor_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13457,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13461,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13469
      start: 13445
    functionDepth: 1
    functionLinenumber: 13445
    functionLinenumberEnd: 13469
    functionName: roaring::internal::array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::croaring_hardware_support
    - roaring::internal::xor_vector16
    - roaring::internal::xor_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_xor(const array_container_t *array_1,\n                         const
      array_container_t *array_2,\n                         array_container_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13473
      start: 13471
    functionDepth: 0
    functionLinenumber: 13471
    functionLinenumberEnd: 13473
    functionName: roaring::internal::minimum_int32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t minimum_int32(int32_t a, int32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::minimum_int32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13483,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13487,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13492,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13497,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13500,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13504,1
    - Dst: roaring::internal::intersect_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13505,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13508,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - array1
    - array2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13516
      start: 13479
    functionDepth: 1
    functionLinenumber: 13479
    functionLinenumberEnd: 13516
    functionName: roaring::internal::array_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::intersect_vector16
    - roaring::internal::intersect_uint16
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::minimum_int32
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection(const array_container_t *array1,\n
      \                                 const array_container_t *array2,\n                                  array_container_t
      *out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13525,1
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13528,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13532,1
    - Dst: roaring::internal::intersect_vector16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13533,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13536,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13544
      start: 13520
    functionDepth: 1
    functionLinenumber: 13520
    functionLinenumberEnd: 13544
    functionName: roaring::internal::array_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_uint16_cardinality
    - roaring::internal::intersect_skewed_uint16_cardinality
    - roaring::internal::intersect_vector16_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_container_intersection_cardinality(const array_container_t
      *array1,\n                                             const array_container_t
      *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13551,1
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13554,1
    - Dst: roaring::internal::intersect_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13561
      start: 13546
    functionDepth: 0
    functionLinenumber: 13546
    functionLinenumberEnd: 13561
    functionName: roaring::internal::array_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::intersect_skewed_uint16_nonempty
    - roaring::internal::intersect_uint16_nonempty
    linkageType: ''
    returnType: bool
    signature: "bool array_container_intersect(const array_container_t *array1,\n
      \                              const array_container_t *array2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13571,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13574,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13578,1
    - Dst: roaring::internal::intersect_vector16_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13579,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13582,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13590
      start: 13566
    functionDepth: 1
    functionLinenumber: 13566
    functionLinenumberEnd: 13590
    functionName: roaring::internal::array_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::intersect_uint16
    - roaring::internal::intersect_vector16_inplace
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection_inplace(array_container_t *src_1,\n
      \                                         const array_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13596,1
    - Dst: roaring::internal::avx512_array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13599,1
    - Dst: roaring::internal::array_container_to_uint32_array_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13604,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13618
      start: 13592
    functionDepth: 1
    functionLinenumber: 13592
    functionLinenumberEnd: 13618
    functionName: roaring::internal::array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::avx512_array_container_to_uint32_array
    - roaring::internal::croaring_hardware_support
    - roaring::internal::array_container_to_uint32_array_vector16
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array(void *vout, const
      array_container_t *cont,\n                                    uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13622,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13625,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13626,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13628,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13631
      start: 13620
    functionDepth: 1
    functionLinenumber: 13620
    functionLinenumberEnd: 13631
    functionName: roaring::internal::array_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void array_container_printf(const array_container_t *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13638,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13642
      start: 13633
    functionDepth: 1
    functionLinenumber: 13633
    functionLinenumberEnd: 13642
    functionName: roaring::internal::array_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void array_container_printf_as_uint32_array(const array_container_t
      *v,\n                                            uint32_t base)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - v
    - reason
    argTypes:
    - array_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13683
      start: 13647
    functionDepth: 0
    functionLinenumber: 13647
    functionLinenumberEnd: 13683
    functionName: roaring::internal::array_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_validate(const array_container_t *v, const char
      **reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13695
      start: 13686
    functionDepth: 0
    functionLinenumber: 13686
    functionLinenumberEnd: 13695
    functionName: roaring::internal::array_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_number_of_runs(const array_container_t *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13704,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13706
      start: 13703
    functionDepth: 0
    functionLinenumber: 13703
    functionLinenumberEnd: 13706
    functionName: roaring::internal::array_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_write(const array_container_t *container, char
      *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13729
      start: 13708
    functionDepth: 0
    functionLinenumber: 13708
    functionLinenumberEnd: 13729
    functionName: roaring::internal::array_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset(const array_container_t *container1,\n
      \                              const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13734,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13737,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13740
      start: 13731
    functionDepth: 0
    functionLinenumber: 13731
    functionLinenumberEnd: 13740
    functionName: roaring::internal::array_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_read(int32_t cardinality, array_container_t
      *container,\n                             const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13747
      start: 13742
    functionDepth: 0
    functionLinenumber: 13742
    functionLinenumberEnd: 13747
    functionName: roaring::internal::array_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate(const array_container_t *cont, uint32_t
      base,\n                             roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13756
      start: 13749
    functionDepth: 0
    functionLinenumber: 13749
    functionLinenumberEnd: 13756
    functionName: roaring::internal::array_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate64(const array_container_t *cont, uint32_t
      base,\n                               roaring_iterator64 iterator, uint64_t
      high_bits,\n                               void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13245,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13252,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13262
      start: 13242
    functionDepth: 0
    functionLinenumber: 13242
    functionLinenumberEnd: 13262
    functionName: roaring::internal::array_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 99
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_given_capacity(int32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13267
      start: 13265
    functionDepth: 0
    functionLinenumber: 13265
    functionLinenumberEnd: 13267
    functionName: roaring::internal::array_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13279
      start: 13270
    functionDepth: 0
    functionLinenumber: 13270
    functionLinenumberEnd: 13279
    functionName: roaring::internal::array_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_range(uint32_t min, uint32_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13285,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13294
      start: 13282
    functionDepth: 0
    functionLinenumber: 13282
    functionLinenumberEnd: 13294
    functionName: array_container_t *array_container_clone(const array_container_t
      *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - array_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_t *array_container_clone(const array_container_t
      *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13303,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13305,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13307,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13314,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - array_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13320
      start: 13296
    functionDepth: 0
    functionLinenumber: 13296
    functionLinenumberEnd: 13320
    functionName: roaring::internal::array_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_add
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::count_less
    linkageType: ''
    returnType: void
    signature: "void array_container_offset(const array_container_t *c, container_t
      **loc,\n                            container_t **hic, uint16_t offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13328,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13332,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13337
      start: 13322
    functionDepth: 0
    functionLinenumber: 13322
    functionLinenumberEnd: 13337
    functionName: roaring::internal::array_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_realloc
    - roaring_free
    linkageType: ''
    returnType: int
    signature: int array_container_shrink_to_fit(array_container_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13342,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13344
      start: 13340
    functionDepth: 0
    functionLinenumber: 13340
    functionLinenumberEnd: 13344
    functionName: roaring::internal::array_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 36
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void array_container_free(array_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13351
      start: 13346
    functionDepth: 0
    functionLinenumber: 13346
    functionLinenumberEnd: 13351
    functionName: roaring::internal::grow_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t grow_capacity(int32_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - min
    - max
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13355
      start: 13353
    functionDepth: 0
    functionLinenumber: 13353
    functionLinenumberEnd: 13355
    functionName: roaring::internal::clamp
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t clamp(int32_t val, int32_t min, int32_t max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::clamp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13360,1
    - Dst: roaring::internal::grow_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13360,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13367,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13368,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13370,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - container
    - min
    - preserve
    argTypes:
    - array_container_t*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13376
      start: 13357
    functionDepth: 0
    functionLinenumber: 13357
    functionLinenumberEnd: 13376
    functionName: roaring::internal::array_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 80
    functionsReached:
    - roaring::internal::clamp
    - roaring_free
    - roaring::internal::grow_capacity
    - roaring_malloc
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: "void array_container_grow(array_container_t *container, int32_t min,\n
      \                         bool preserve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13383,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13388
      start: 13379
    functionDepth: 0
    functionLinenumber: 13379
    functionLinenumberEnd: 13388
    functionName: roaring::internal::array_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void array_container_copy(const array_container_t *src,\n                          array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - arr
    - min
    - max
    - step
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13395
      start: 13390
    functionDepth: 0
    functionLinenumber: 13390
    functionLinenumberEnd: 13395
    functionName: roaring::internal::array_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_append
    linkageType: ''
    returnType: void
    signature: "void array_container_add_from_range(array_container_t *arr, uint32_t
      min,\n                                    uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13407,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13411
      start: 13400
    functionDepth: 0
    functionLinenumber: 13400
    functionLinenumberEnd: 13411
    functionName: roaring::internal::array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::fast_union_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_union(const array_container_t *array_1,\n                           const
      array_container_t *array_2,\n                           array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13421,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13423,1
    - Dst: roaring::internal::difference_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13425,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13430,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13438
      start: 13417
    functionDepth: 1
    functionLinenumber: 13417
    functionLinenumberEnd: 13438
    functionName: roaring::internal::array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::croaring_hardware_support
    - roaring::internal::difference_vector16
    - roaring::internal::difference_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_andnot(const array_container_t *array_1,\n                            const
      array_container_t *array_2,\n                            array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13451,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13455,1
    - Dst: roaring::internal::xor_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13457,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13461,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13469
      start: 13445
    functionDepth: 1
    functionLinenumber: 13445
    functionLinenumberEnd: 13469
    functionName: roaring::internal::array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::croaring_hardware_support
    - roaring::internal::xor_vector16
    - roaring::internal::xor_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_xor(const array_container_t *array_1,\n                         const
      array_container_t *array_2,\n                         array_container_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13473
      start: 13471
    functionDepth: 0
    functionLinenumber: 13471
    functionLinenumberEnd: 13473
    functionName: roaring::internal::minimum_int32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t minimum_int32(int32_t a, int32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::minimum_int32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13483,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13487,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13492,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13497,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13500,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13504,1
    - Dst: roaring::internal::intersect_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13505,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13508,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - array1
    - array2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13516
      start: 13479
    functionDepth: 1
    functionLinenumber: 13479
    functionLinenumberEnd: 13516
    functionName: roaring::internal::array_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::intersect_vector16
    - roaring::internal::intersect_uint16
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::minimum_int32
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection(const array_container_t *array1,\n
      \                                 const array_container_t *array2,\n                                  array_container_t
      *out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13525,1
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13528,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13532,1
    - Dst: roaring::internal::intersect_vector16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13533,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13536,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13544
      start: 13520
    functionDepth: 1
    functionLinenumber: 13520
    functionLinenumberEnd: 13544
    functionName: roaring::internal::array_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_uint16_cardinality
    - roaring::internal::intersect_skewed_uint16_cardinality
    - roaring::internal::intersect_vector16_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_container_intersection_cardinality(const array_container_t
      *array1,\n                                             const array_container_t
      *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13551,1
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13554,1
    - Dst: roaring::internal::intersect_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13561
      start: 13546
    functionDepth: 0
    functionLinenumber: 13546
    functionLinenumberEnd: 13561
    functionName: roaring::internal::array_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::intersect_skewed_uint16_nonempty
    - roaring::internal::intersect_uint16_nonempty
    linkageType: ''
    returnType: bool
    signature: "bool array_container_intersect(const array_container_t *array1,\n
      \                              const array_container_t *array2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13571,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13574,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13578,1
    - Dst: roaring::internal::intersect_vector16_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13579,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13582,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13590
      start: 13566
    functionDepth: 1
    functionLinenumber: 13566
    functionLinenumberEnd: 13590
    functionName: roaring::internal::array_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::intersect_uint16
    - roaring::internal::intersect_vector16_inplace
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection_inplace(array_container_t *src_1,\n
      \                                         const array_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13596,1
    - Dst: roaring::internal::avx512_array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13599,1
    - Dst: roaring::internal::array_container_to_uint32_array_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13604,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13618
      start: 13592
    functionDepth: 1
    functionLinenumber: 13592
    functionLinenumberEnd: 13618
    functionName: roaring::internal::array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::avx512_array_container_to_uint32_array
    - roaring::internal::croaring_hardware_support
    - roaring::internal::array_container_to_uint32_array_vector16
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array(void *vout, const
      array_container_t *cont,\n                                    uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13622,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13625,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13626,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13628,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13631
      start: 13620
    functionDepth: 1
    functionLinenumber: 13620
    functionLinenumberEnd: 13631
    functionName: roaring::internal::array_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void array_container_printf(const array_container_t *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13638,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13642
      start: 13633
    functionDepth: 1
    functionLinenumber: 13633
    functionLinenumberEnd: 13642
    functionName: roaring::internal::array_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void array_container_printf_as_uint32_array(const array_container_t
      *v,\n                                            uint32_t base)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - v
    - reason
    argTypes:
    - array_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13683
      start: 13647
    functionDepth: 0
    functionLinenumber: 13647
    functionLinenumberEnd: 13683
    functionName: roaring::internal::array_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_validate(const array_container_t *v, const char
      **reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13695
      start: 13686
    functionDepth: 0
    functionLinenumber: 13686
    functionLinenumberEnd: 13695
    functionName: roaring::internal::array_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_number_of_runs(const array_container_t *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13704,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13706
      start: 13703
    functionDepth: 0
    functionLinenumber: 13703
    functionLinenumberEnd: 13706
    functionName: roaring::internal::array_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_write(const array_container_t *container, char
      *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13729
      start: 13708
    functionDepth: 0
    functionLinenumber: 13708
    functionLinenumberEnd: 13729
    functionName: roaring::internal::array_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset(const array_container_t *container1,\n
      \                              const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13734,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13737,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13740
      start: 13731
    functionDepth: 0
    functionLinenumber: 13731
    functionLinenumberEnd: 13740
    functionName: roaring::internal::array_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_read(int32_t cardinality, array_container_t
      *container,\n                             const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13747
      start: 13742
    functionDepth: 0
    functionLinenumber: 13742
    functionLinenumberEnd: 13747
    functionName: roaring::internal::array_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate(const array_container_t *cont, uint32_t
      base,\n                             roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13756
      start: 13749
    functionDepth: 0
    functionLinenumber: 13749
    functionLinenumberEnd: 13756
    functionName: roaring::internal::array_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate64(const array_container_t *cont, uint32_t
      base,\n                               roaring_iterator64 iterator, uint64_t
      high_bits,\n                               void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13245,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13252,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13262
      start: 13242
    functionDepth: 0
    functionLinenumber: 13242
    functionLinenumberEnd: 13262
    functionName: roaring::internal::array_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 102
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_given_capacity(int32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13267
      start: 13265
    functionDepth: 0
    functionLinenumber: 13265
    functionLinenumberEnd: 13267
    functionName: roaring::internal::array_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13279
      start: 13270
    functionDepth: 0
    functionLinenumber: 13270
    functionLinenumberEnd: 13279
    functionName: roaring::internal::array_container_create_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_create_range(uint32_t min, uint32_t
      max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13285,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13294
      start: 13282
    functionDepth: 0
    functionLinenumber: 13282
    functionLinenumberEnd: 13294
    functionName: array_container_t *array_container_clone(const array_container_t
      *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - array_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED array_container_t *array_container_clone(const array_container_t
      *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13303,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13305,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13307,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13314,1
    - Dst: roaring::internal::array_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - array_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13320
      start: 13296
    functionDepth: 0
    functionLinenumber: 13296
    functionLinenumberEnd: 13320
    functionName: roaring::internal::array_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_add
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::count_less
    linkageType: ''
    returnType: void
    signature: "void array_container_offset(const array_container_t *c, container_t
      **loc,\n                            container_t **hic, uint16_t offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13328,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13332,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13337
      start: 13322
    functionDepth: 0
    functionLinenumber: 13322
    functionLinenumberEnd: 13337
    functionName: roaring::internal::array_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_realloc
    - roaring_free
    linkageType: ''
    returnType: int
    signature: int array_container_shrink_to_fit(array_container_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13342,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arr
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13344
      start: 13340
    functionDepth: 0
    functionLinenumber: 13340
    functionLinenumberEnd: 13344
    functionName: roaring::internal::array_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 36
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void array_container_free(array_container_t *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13351
      start: 13346
    functionDepth: 0
    functionLinenumber: 13346
    functionLinenumberEnd: 13351
    functionName: roaring::internal::grow_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t grow_capacity(int32_t capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - min
    - max
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13355
      start: 13353
    functionDepth: 0
    functionLinenumber: 13353
    functionLinenumberEnd: 13355
    functionName: roaring::internal::clamp
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t clamp(int32_t val, int32_t min, int32_t max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::clamp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13360,1
    - Dst: roaring::internal::grow_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13360,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13367,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13368,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13370,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - container
    - min
    - preserve
    argTypes:
    - array_container_t*
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13376
      start: 13357
    functionDepth: 0
    functionLinenumber: 13357
    functionLinenumberEnd: 13376
    functionName: roaring::internal::array_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 86
    functionsReached:
    - roaring::internal::clamp
    - roaring_free
    - roaring::internal::grow_capacity
    - roaring_malloc
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: "void array_container_grow(array_container_t *container, int32_t min,\n
      \                         bool preserve)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13383,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13388
      start: 13379
    functionDepth: 0
    functionLinenumber: 13379
    functionLinenumberEnd: 13388
    functionName: roaring::internal::array_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void array_container_copy(const array_container_t *src,\n                          array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - arr
    - min
    - max
    - step
    argTypes:
    - array_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13395
      start: 13390
    functionDepth: 0
    functionLinenumber: 13390
    functionLinenumberEnd: 13395
    functionName: roaring::internal::array_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_append
    linkageType: ''
    returnType: void
    signature: "void array_container_add_from_range(array_container_t *arr, uint32_t
      min,\n                                    uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13407,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13411
      start: 13400
    functionDepth: 0
    functionLinenumber: 13400
    functionLinenumberEnd: 13411
    functionName: roaring::internal::array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::fast_union_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_union(const array_container_t *array_1,\n                           const
      array_container_t *array_2,\n                           array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13421,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13423,1
    - Dst: roaring::internal::difference_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13425,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13430,1
    - Dst: roaring::internal::difference_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13438
      start: 13417
    functionDepth: 1
    functionLinenumber: 13417
    functionLinenumberEnd: 13438
    functionName: roaring::internal::array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::croaring_hardware_support
    - roaring::internal::difference_vector16
    - roaring::internal::difference_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_andnot(const array_container_t *array_1,\n                            const
      array_container_t *array_2,\n                            array_container_t *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13451,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13455,1
    - Dst: roaring::internal::xor_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13457,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13461,1
    - Dst: roaring::internal::xor_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - array_1
    - array_2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13469
      start: 13445
    functionDepth: 1
    functionLinenumber: 13445
    functionLinenumberEnd: 13469
    functionName: roaring::internal::array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::croaring_hardware_support
    - roaring::internal::xor_vector16
    - roaring::internal::xor_uint16
    linkageType: ''
    returnType: void
    signature: "void array_container_xor(const array_container_t *array_1,\n                         const
      array_container_t *array_2,\n                         array_container_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13473
      start: 13471
    functionDepth: 0
    functionLinenumber: 13471
    functionLinenumberEnd: 13473
    functionName: roaring::internal::minimum_int32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t minimum_int32(int32_t a, int32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::minimum_int32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13483,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13487,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13492,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13497,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13500,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13504,1
    - Dst: roaring::internal::intersect_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13505,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13508,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - array1
    - array2
    - out
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13516
      start: 13479
    functionDepth: 1
    functionLinenumber: 13479
    functionLinenumberEnd: 13516
    functionName: roaring::internal::array_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::intersect_vector16
    - roaring::internal::intersect_uint16
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::minimum_int32
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection(const array_container_t *array1,\n
      \                                 const array_container_t *array2,\n                                  array_container_t
      *out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13525,1
    - Dst: roaring::internal::intersect_skewed_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13528,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13532,1
    - Dst: roaring::internal::intersect_vector16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13533,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13536,1
    - Dst: roaring::internal::intersect_uint16_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13544
      start: 13520
    functionDepth: 1
    functionLinenumber: 13520
    functionLinenumberEnd: 13544
    functionName: roaring::internal::array_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_uint16_cardinality
    - roaring::internal::intersect_skewed_uint16_cardinality
    - roaring::internal::intersect_vector16_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_container_intersection_cardinality(const array_container_t
      *array1,\n                                             const array_container_t
      *array2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13551,1
    - Dst: roaring::internal::intersect_skewed_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13554,1
    - Dst: roaring::internal::intersect_uint16_nonempty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13561
      start: 13546
    functionDepth: 0
    functionLinenumber: 13546
    functionLinenumberEnd: 13561
    functionName: roaring::internal::array_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::intersect_skewed_uint16_nonempty
    - roaring::internal::intersect_uint16_nonempty
    linkageType: ''
    returnType: bool
    signature: "bool array_container_intersect(const array_container_t *array1,\n
      \                              const array_container_t *array2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13571,1
    - Dst: roaring::internal::intersect_skewed_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13574,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13578,1
    - Dst: roaring::internal::intersect_vector16_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13579,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13582,1
    - Dst: roaring::internal::intersect_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13590
      start: 13566
    functionDepth: 1
    functionLinenumber: 13566
    functionLinenumberEnd: 13590
    functionName: roaring::internal::array_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::intersect_skewed_uint16
    - roaring::internal::intersect_uint16
    - roaring::internal::intersect_vector16_inplace
    linkageType: ''
    returnType: void
    signature: "void array_container_intersection_inplace(array_container_t *src_1,\n
      \                                         const array_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13596,1
    - Dst: roaring::internal::avx512_array_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13599,1
    - Dst: roaring::internal::array_container_to_uint32_array_vector16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13604,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13618
      start: 13592
    functionDepth: 1
    functionLinenumber: 13592
    functionLinenumberEnd: 13618
    functionName: roaring::internal::array_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::avx512_array_container_to_uint32_array
    - roaring::internal::croaring_hardware_support
    - roaring::internal::array_container_to_uint32_array_vector16
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED array_container_to_uint32_array(void *vout, const
      array_container_t *cont,\n                                    uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13622,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13625,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13626,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13628,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13631
      start: 13620
    functionDepth: 1
    functionLinenumber: 13620
    functionLinenumberEnd: 13631
    functionName: roaring::internal::array_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void array_container_printf(const array_container_t *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13638,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - array_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13642
      start: 13633
    functionDepth: 1
    functionLinenumber: 13633
    functionLinenumberEnd: 13642
    functionName: roaring::internal::array_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void array_container_printf_as_uint32_array(const array_container_t
      *v,\n                                            uint32_t base)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - v
    - reason
    argTypes:
    - array_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13683
      start: 13647
    functionDepth: 0
    functionLinenumber: 13647
    functionLinenumberEnd: 13683
    functionName: roaring::internal::array_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool array_container_validate(const array_container_t *v, const char
      **reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13695
      start: 13686
    functionDepth: 0
    functionLinenumber: 13686
    functionLinenumberEnd: 13695
    functionName: roaring::internal::array_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_number_of_runs(const array_container_t *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13704,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13706
      start: 13703
    functionDepth: 0
    functionLinenumber: 13703
    functionLinenumberEnd: 13706
    functionName: roaring::internal::array_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t array_container_write(const array_container_t *container, char
      *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13729
      start: 13708
    functionDepth: 0
    functionLinenumber: 13708
    functionLinenumberEnd: 13729
    functionName: roaring::internal::array_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset(const array_container_t *container1,\n
      \                              const array_container_t *container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13734,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13737,1
    - Dst: roaring::internal::array_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - array_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13740
      start: 13731
    functionDepth: 0
    functionLinenumber: 13731
    functionLinenumberEnd: 13740
    functionName: roaring::internal::array_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::array_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t array_container_read(int32_t cardinality, array_container_t
      *container,\n                             const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13747
      start: 13742
    functionDepth: 0
    functionLinenumber: 13742
    functionLinenumberEnd: 13747
    functionName: roaring::internal::array_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate(const array_container_t *cont, uint32_t
      base,\n                             roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - array_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13756
      start: 13749
    functionDepth: 0
    functionLinenumber: 13749
    functionLinenumberEnd: 13756
    functionName: roaring::internal::array_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool array_container_iterate64(const array_container_t *cont, uint32_t
      base,\n                               roaring_iterator64 iterator, uint64_t
      high_bits,\n                               void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13812
      start: 13809
    functionDepth: 0
    functionLinenumber: 13809
    functionLinenumberEnd: 13812
    functionName: roaring::internal::bitset_container_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_container_clear(bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13815,1
    - Dst: INT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13818
      start: 13814
    functionDepth: 0
    functionLinenumber: 13814
    functionLinenumberEnd: 13818
    functionName: roaring::internal::bitset_container_set_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memset
    - INT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_container_set_all(bitset_container_t *bitset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13823,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13831,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13840,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13843,1
    - Dst: roaring::internal::bitset_container_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13848
      start: 13821
    functionDepth: 1
    functionLinenumber: 13821
    functionLinenumberEnd: 13848
    functionName: roaring::internal::bitset_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 136
    functionsReached:
    - roaring_free
    - roaring_malloc
    - roaring_aligned_malloc
    - roaring::internal::croaring_hardware_support
    - roaring::internal::bitset_container_clear
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13856
      start: 13851
    functionDepth: 0
    functionLinenumber: 13851
    functionLinenumberEnd: 13856
    functionName: roaring::internal::bitset_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 40
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bitset_container_copy(const bitset_container_t *source,\n                           bitset_container_t
      *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13871,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13872,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13875,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13878,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - bitset
    - min
    - max
    - step
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13884
      start: 13858
    functionDepth: 0
    functionLinenumber: 13858
    functionLinenumberEnd: 13884
    functionName: roaring::internal::bitset_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_add
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_add_from_range(bitset_container_t *bitset, uint32_t
      min,\n                                     uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13889,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13891
      start: 13887
    functionDepth: 0
    functionLinenumber: 13887
    functionLinenumberEnd: 13891
    functionName: roaring::internal::bitset_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 100
    functionsReached:
    - roaring_aligned_free
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_container_free(bitset_container_t *bitset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13897,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13905,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13913,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13916,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13923
      start: 13894
    functionDepth: 1
    functionLinenumber: 13894
    functionLinenumberEnd: 13923
    functionName: bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    - roaring_malloc
    - roaring_aligned_malloc
    - roaring::internal::croaring_hardware_support
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13936,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13938,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13948,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13960,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13966,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13970,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13980,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13982,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - bitset_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13986
      start: 13925
    functionDepth: 0
    functionLinenumber: 13925
    functionLinenumberEnd: 13986
    functionName: roaring::internal::bitset_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memcpy
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: "void bitset_container_offset(const bitset_container_t *c, container_t
      **loc,\n                             container_t **hic, uint16_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13990,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bitset
    - begin
    - end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13993
      start: 13988
    functionDepth: 0
    functionLinenumber: 13988
    functionLinenumberEnd: 13993
    functionName: roaring::internal::bitset_container_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_range
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set_range(bitset_container_t *bitset, uint32_t
      begin,\n                                uint32_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14004
      start: 13995
    functionDepth: 0
    functionLinenumber: 13995
    functionLinenumberEnd: 14004
    functionName: roaring::internal::bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_intersect(const bitset_container_t *src_1,\n
      \                               const bitset_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14019,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14020,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14021,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14025
      start: 14014
    functionDepth: 1
    functionLinenumber: 14014
    functionLinenumberEnd: 14025
    functionName: roaring::internal::_scalar_bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: "int _scalar_bitset_container_compute_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14028,1
    - Dst: roaring::internal::avx512_vpopcount
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14031,1
    - Dst: roaring::internal::avx2_harley_seal_popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14037,1
    - Dst: roaring::internal::_scalar_bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14043
      start: 14027
    functionDepth: 3
    functionLinenumber: 14027
    functionLinenumberEnd: 14043
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 66
    functionsReached:
    - roaring::internal::avx2_harley_seal_popcount256
    - roaring::internal::croaring_hardware_support
    - roaring::internal::avx512_vpopcount
    - roaring::internal::_scalar_bitset_container_compute_cardinality
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14047,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14048,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14049,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14050,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14052,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14054,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14056,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14058,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vdupq_n_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14061,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14066,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14067
      start: 14046
    functionDepth: 0
    functionLinenumber: 14046
    functionLinenumberEnd: 14067
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 66
    functionsReached:
    - vaddq_u16
    - vpaddlq_u32
    - vpaddlq_u16
    - vaddq_u64
    - vdupq_n_u64
    - vreinterpretq_u8_u64
    - vcntq_u8
    - vdupq_n_u16
    - vpaddlq_u8
    - vld1q_u64
    - vgetq_lane_u64
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14076,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14077,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14078,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14082
      start: 14072
    functionDepth: 1
    functionLinenumber: 14072
    functionLinenumberEnd: 14082
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 66
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14103
      start: 14096
    functionDepth: 0
    functionLinenumber: 14096
    functionLinenumberEnd: 14103
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \  \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14163
      start: 14150
    functionDepth: 0
    functionLinenumber: 14150
    functionLinenumberEnd: 14163
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \          \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14174
      start: 14164
    functionDepth: 0
    functionLinenumber: 14164
    functionLinenumberEnd: 14174
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \           \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14264
      start: 14257
    functionDepth: 0
    functionLinenumber: 14257
    functionLinenumberEnd: 14264
    functionName: CROARING_AVX_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14326
      start: 14311
    functionDepth: 0
    functionLinenumber: 14311
    functionLinenumberEnd: 14326
    functionName: CROARING_AVX_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14336
      start: 14326
    functionDepth: 0
    functionLinenumber: 14326
    functionLinenumberEnd: 14336
    functionName: CROARING_AVX_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14453
      start: 14408
    functionDepth: 0
    functionLinenumber: 14408
    functionLinenumberEnd: 14453
    functionName: SCALAR_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SCALAR_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic,            \\\n
      \                                  neon_intrinsic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14505
      start: 14466
    functionDepth: 0
    functionLinenumber: 14466
    functionLinenumberEnd: 14505
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14536
      start: 14509
    functionDepth: 0
    functionLinenumber: 14509
    functionLinenumberEnd: 14536
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14626
      start: 14541
    functionDepth: 0
    functionLinenumber: 14541
    functionLinenumberEnd: 14626
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14673
      start: 14629
    functionDepth: 0
    functionLinenumber: 14629
    functionLinenumberEnd: 14673
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14696,1
    - Dst: bitset_extract_setbits_avx512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14699,1
    - Dst: roaring::internal::bitset_extract_setbits_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14704,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14707,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - out
    - bc
    - base
    argTypes:
    - uint32_t*
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14713
      start: 14690
    functionDepth: 2
    functionLinenumber: 14690
    functionLinenumberEnd: 14713
    functionName: roaring::internal::bitset_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::bitset_extract_setbits_avx2
    - bitset_extract_setbits_avx512
    - roaring::internal::bitset_extract_setbits
    linkageType: ''
    returnType: int
    signature: "int bitset_container_to_uint32_array(\n    uint32_t *out,\n    const
      bitset_container_t *bc,\n    uint32_t base\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14719,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14726,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14728,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14731,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - v
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14738
      start: 14718
    functionDepth: 1
    functionLinenumber: 14718
    functionLinenumberEnd: 14738
    functionName: roaring::internal::bitset_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf(const bitset_container_t * v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14750,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14752,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14761
      start: 14744
    functionDepth: 1
    functionLinenumber: 14744
    functionLinenumberEnd: 14761
    functionName: roaring::internal::bitset_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf_as_uint32_array(const bitset_container_t
      * v, uint32_t base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - v
    - reason
    argTypes:
    - bitset_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14785
      start: 14766
    functionDepth: 0
    functionLinenumber: 14766
    functionLinenumberEnd: 14785
    functionName: roaring::internal::bitset_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_validate(const bitset_container_t *v, const char
      **reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14796,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bc
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14804
      start: 14789
    functionDepth: 1
    functionLinenumber: 14789
    functionLinenumberEnd: 14804
    functionName: roaring::internal::bitset_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_number_of_runs(bitset_container_t *bc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14809,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14811
      start: 14807
    functionDepth: 0
    functionLinenumber: 14807
    functionLinenumberEnd: 14811
    functionName: roaring::internal::bitset_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_write(const bitset_container_t *container,\n
      \                                 char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14817,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14819
      start: 14814
    functionDepth: 0
    functionLinenumber: 14814
    functionLinenumberEnd: 14819
    functionName: roaring::internal::bitset_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_read(int32_t cardinality, bitset_container_t
      *container,\n\t\tconst char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14826,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14833
      start: 14821
    functionDepth: 1
    functionLinenumber: 14821
    functionLinenumberEnd: 14833
    functionName: roaring::internal::bitset_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate(const bitset_container_t *cont, uint32_t
      base, roaring_iterator iterator, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14840,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14847
      start: 14835
    functionDepth: 1
    functionLinenumber: 14835
    functionLinenumberEnd: 14847
    functionName: roaring::internal::bitset_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate64(const bitset_container_t *cont, uint32_t
      base, roaring_iterator64 iterator, uint64_t high_bits, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14857,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14858,1
    - Dst: _mm512_cmpeq_epi8_mask
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14865
      start: 14853
    functionDepth: 0
    functionLinenumber: 14853
    functionLinenumberEnd: 14865
    functionName: roaring::internal::_avx512_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm512_cmpeq_epi8_mask
    - _mm512_loadu_si512
    linkageType: ''
    returnType: bool
    signature: bool _avx512_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14874,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14875,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14876,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14882
      start: 14870
    functionDepth: 0
    functionLinenumber: 14870
    functionLinenumberEnd: 14882
    functionName: roaring::internal::_avx2_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: bool
    signature: bool _avx2_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14892,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14897,1
    - Dst: roaring::internal::_avx512_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14900,1
    - Dst: roaring::internal::_avx2_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14905,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14911
      start: 14886
    functionDepth: 1
    functionLinenumber: 14886
    functionLinenumberEnd: 14911
    functionName: roaring::internal::bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::_avx2_bitset_container_equals
    - roaring::internal::_avx512_bitset_container_equals
    - memcmp
    - INT32_C
    - roaring::internal::croaring_hardware_support
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14926
      start: 14913
    functionDepth: 0
    functionLinenumber: 14913
    functionLinenumberEnd: 14926
    functionName: roaring::internal::bitset_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset(const bitset_container_t *container1,\n
      \                         const bitset_container_t *container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14929,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14937,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14943,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - bitset_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 14954
        line_start: 14954
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 14957
      start: 14928
    functionDepth: 1
    functionLinenumber: 14928
    functionLinenumberEnd: 14957
    functionName: roaring::internal::bitset_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - roaring_hamming
    - assert
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_select(const bitset_container_t *container, uint32_t
      *start_rank, uint32_t rank, uint32_t *element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14970
      start: 14961
    functionDepth: 1
    functionLinenumber: 14961
    functionLinenumberEnd: 14970
    functionName: roaring::internal::bitset_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_minimum(const bitset_container_t *container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14982
      start: 14973
    functionDepth: 1
    functionLinenumber: 14973
    functionLinenumberEnd: 14982
    functionName: roaring::internal::bitset_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_leading_zeroes
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_maximum(const bitset_container_t *container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14990,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14993,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14997
      start: 14985
    functionDepth: 1
    functionLinenumber: 14985
    functionLinenumberEnd: 14997
    functionName: roaring::internal::bitset_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_rank(const bitset_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15011,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15014,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - container
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - bitset_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15019
      start: 14999
    functionDepth: 1
    functionLinenumber: 14999
    functionLinenumberEnd: 15019
    functionName: roaring::internal::bitset_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t bitset_container_rank_many(const bitset_container_t *container,
      uint64_t start_rank, const uint32_t* begin, const uint32_t* end, uint64_t* ans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15024,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15029,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15032,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15039
      start: 15023
    functionDepth: 1
    functionLinenumber: 15023
    functionLinenumberEnd: 15039
    functionName: roaring::internal::bitset_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_get
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_get_index(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15054
      start: 15042
    functionDepth: 1
    functionLinenumber: 15042
    functionLinenumberEnd: 15054
    functionName: roaring::internal::bitset_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: int
    signature: int bitset_container_index_equalorlarger(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13812
      start: 13809
    functionDepth: 0
    functionLinenumber: 13809
    functionLinenumberEnd: 13812
    functionName: roaring::internal::bitset_container_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_container_clear(bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13815,1
    - Dst: INT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13818
      start: 13814
    functionDepth: 0
    functionLinenumber: 13814
    functionLinenumberEnd: 13818
    functionName: roaring::internal::bitset_container_set_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memset
    - INT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_container_set_all(bitset_container_t *bitset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13823,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13831,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13840,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13843,1
    - Dst: roaring::internal::bitset_container_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13848
      start: 13821
    functionDepth: 1
    functionLinenumber: 13821
    functionLinenumberEnd: 13848
    functionName: roaring::internal::bitset_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 137
    functionsReached:
    - roaring_free
    - roaring_malloc
    - roaring_aligned_malloc
    - roaring::internal::croaring_hardware_support
    - roaring::internal::bitset_container_clear
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13856
      start: 13851
    functionDepth: 0
    functionLinenumber: 13851
    functionLinenumberEnd: 13856
    functionName: roaring::internal::bitset_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 40
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bitset_container_copy(const bitset_container_t *source,\n                           bitset_container_t
      *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13871,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13872,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13875,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13878,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - bitset
    - min
    - max
    - step
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13884
      start: 13858
    functionDepth: 0
    functionLinenumber: 13858
    functionLinenumberEnd: 13884
    functionName: roaring::internal::bitset_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_add
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_add_from_range(bitset_container_t *bitset, uint32_t
      min,\n                                     uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13889,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13891
      start: 13887
    functionDepth: 0
    functionLinenumber: 13887
    functionLinenumberEnd: 13891
    functionName: roaring::internal::bitset_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 101
    functionsReached:
    - roaring_aligned_free
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_container_free(bitset_container_t *bitset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13897,1
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13905,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13913,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13916,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13923
      start: 13894
    functionDepth: 0
    functionLinenumber: 13894
    functionLinenumberEnd: 13923
    functionName: bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - croaring_hardware_support
    - roaring_free
    - roaring_malloc
    - roaring_aligned_malloc
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13936,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13938,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13948,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13960,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13966,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13970,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13980,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13982,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - bitset_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13986
      start: 13925
    functionDepth: 0
    functionLinenumber: 13925
    functionLinenumberEnd: 13986
    functionName: roaring::internal::bitset_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memcpy
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: "void bitset_container_offset(const bitset_container_t *c, container_t
      **loc,\n                             container_t **hic, uint16_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13990,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bitset
    - begin
    - end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13993
      start: 13988
    functionDepth: 0
    functionLinenumber: 13988
    functionLinenumberEnd: 13993
    functionName: roaring::internal::bitset_container_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_range
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set_range(bitset_container_t *bitset, uint32_t
      begin,\n                                uint32_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14004
      start: 13995
    functionDepth: 0
    functionLinenumber: 13995
    functionLinenumberEnd: 14004
    functionName: roaring::internal::bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_intersect(const bitset_container_t *src_1,\n
      \                               const bitset_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14019,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14020,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14021,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14025
      start: 14014
    functionDepth: 1
    functionLinenumber: 14014
    functionLinenumberEnd: 14025
    functionName: roaring::internal::_scalar_bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: "int _scalar_bitset_container_compute_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14028,1
    - Dst: roaring::internal::avx512_vpopcount
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14031,1
    - Dst: roaring::internal::avx2_harley_seal_popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14037,1
    - Dst: roaring::internal::_scalar_bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14043
      start: 14027
    functionDepth: 3
    functionLinenumber: 14027
    functionLinenumberEnd: 14043
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 69
    functionsReached:
    - roaring::internal::avx2_harley_seal_popcount256
    - roaring::internal::croaring_hardware_support
    - roaring::internal::avx512_vpopcount
    - roaring::internal::_scalar_bitset_container_compute_cardinality
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14047,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14048,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14049,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14050,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14052,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14054,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14056,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14058,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vdupq_n_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14061,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14066,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14067
      start: 14046
    functionDepth: 0
    functionLinenumber: 14046
    functionLinenumberEnd: 14067
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 69
    functionsReached:
    - vaddq_u16
    - vpaddlq_u32
    - vpaddlq_u16
    - vaddq_u64
    - vdupq_n_u64
    - vreinterpretq_u8_u64
    - vcntq_u8
    - vdupq_n_u16
    - vpaddlq_u8
    - vld1q_u64
    - vgetq_lane_u64
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14076,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14077,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14078,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14082
      start: 14072
    functionDepth: 1
    functionLinenumber: 14072
    functionLinenumberEnd: 14082
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 69
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14103
      start: 14096
    functionDepth: 0
    functionLinenumber: 14096
    functionLinenumberEnd: 14103
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \  \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14163
      start: 14150
    functionDepth: 0
    functionLinenumber: 14150
    functionLinenumberEnd: 14163
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \          \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14174
      start: 14164
    functionDepth: 0
    functionLinenumber: 14164
    functionLinenumberEnd: 14174
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \           \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14264
      start: 14257
    functionDepth: 0
    functionLinenumber: 14257
    functionLinenumberEnd: 14264
    functionName: CROARING_AVX_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14326
      start: 14311
    functionDepth: 0
    functionLinenumber: 14311
    functionLinenumberEnd: 14326
    functionName: CROARING_AVX_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14336
      start: 14326
    functionDepth: 0
    functionLinenumber: 14326
    functionLinenumberEnd: 14336
    functionName: CROARING_AVX_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14453
      start: 14408
    functionDepth: 0
    functionLinenumber: 14408
    functionLinenumberEnd: 14453
    functionName: SCALAR_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SCALAR_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic,            \\\n
      \                                  neon_intrinsic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14505
      start: 14466
    functionDepth: 0
    functionLinenumber: 14466
    functionLinenumberEnd: 14505
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14536
      start: 14509
    functionDepth: 0
    functionLinenumber: 14509
    functionLinenumberEnd: 14536
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14626
      start: 14541
    functionDepth: 0
    functionLinenumber: 14541
    functionLinenumberEnd: 14626
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14673
      start: 14629
    functionDepth: 0
    functionLinenumber: 14629
    functionLinenumberEnd: 14673
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14696,1
    - Dst: bitset_extract_setbits_avx512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14699,1
    - Dst: roaring::internal::bitset_extract_setbits_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14704,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14707,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - out
    - bc
    - base
    argTypes:
    - uint32_t*
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14713
      start: 14690
    functionDepth: 2
    functionLinenumber: 14690
    functionLinenumberEnd: 14713
    functionName: roaring::internal::bitset_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::bitset_extract_setbits_avx2
    - bitset_extract_setbits_avx512
    - roaring::internal::bitset_extract_setbits
    linkageType: ''
    returnType: int
    signature: "int bitset_container_to_uint32_array(\n    uint32_t *out,\n    const
      bitset_container_t *bc,\n    uint32_t base\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14719,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14726,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14728,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14731,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - v
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14738
      start: 14718
    functionDepth: 1
    functionLinenumber: 14718
    functionLinenumberEnd: 14738
    functionName: roaring::internal::bitset_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf(const bitset_container_t * v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14750,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14752,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14761
      start: 14744
    functionDepth: 1
    functionLinenumber: 14744
    functionLinenumberEnd: 14761
    functionName: roaring::internal::bitset_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf_as_uint32_array(const bitset_container_t
      * v, uint32_t base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - v
    - reason
    argTypes:
    - bitset_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14785
      start: 14766
    functionDepth: 0
    functionLinenumber: 14766
    functionLinenumberEnd: 14785
    functionName: roaring::internal::bitset_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_validate(const bitset_container_t *v, const char
      **reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14796,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bc
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14804
      start: 14789
    functionDepth: 1
    functionLinenumber: 14789
    functionLinenumberEnd: 14804
    functionName: roaring::internal::bitset_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_number_of_runs(bitset_container_t *bc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14809,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14811
      start: 14807
    functionDepth: 0
    functionLinenumber: 14807
    functionLinenumberEnd: 14811
    functionName: roaring::internal::bitset_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_write(const bitset_container_t *container,\n
      \                                 char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14817,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14819
      start: 14814
    functionDepth: 0
    functionLinenumber: 14814
    functionLinenumberEnd: 14819
    functionName: roaring::internal::bitset_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_read(int32_t cardinality, bitset_container_t
      *container,\n\t\tconst char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14826,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14833
      start: 14821
    functionDepth: 1
    functionLinenumber: 14821
    functionLinenumberEnd: 14833
    functionName: roaring::internal::bitset_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate(const bitset_container_t *cont, uint32_t
      base, roaring_iterator iterator, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14840,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14847
      start: 14835
    functionDepth: 1
    functionLinenumber: 14835
    functionLinenumberEnd: 14847
    functionName: roaring::internal::bitset_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate64(const bitset_container_t *cont, uint32_t
      base, roaring_iterator64 iterator, uint64_t high_bits, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14857,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14858,1
    - Dst: _mm512_cmpeq_epi8_mask
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14865
      start: 14853
    functionDepth: 0
    functionLinenumber: 14853
    functionLinenumberEnd: 14865
    functionName: roaring::internal::_avx512_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - _mm512_cmpeq_epi8_mask
    - _mm512_loadu_si512
    linkageType: ''
    returnType: bool
    signature: bool _avx512_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14874,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14875,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14876,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14882
      start: 14870
    functionDepth: 0
    functionLinenumber: 14870
    functionLinenumberEnd: 14882
    functionName: roaring::internal::_avx2_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: bool
    signature: bool _avx2_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14892,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14897,1
    - Dst: roaring::internal::_avx512_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14900,1
    - Dst: roaring::internal::_avx2_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14905,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14911
      start: 14886
    functionDepth: 1
    functionLinenumber: 14886
    functionLinenumberEnd: 14911
    functionName: roaring::internal::bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::_avx2_bitset_container_equals
    - roaring::internal::_avx512_bitset_container_equals
    - memcmp
    - INT32_C
    - roaring::internal::croaring_hardware_support
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14926
      start: 14913
    functionDepth: 0
    functionLinenumber: 14913
    functionLinenumberEnd: 14926
    functionName: roaring::internal::bitset_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset(const bitset_container_t *container1,\n
      \                         const bitset_container_t *container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14929,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14937,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14943,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - bitset_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 14954
        line_start: 14954
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 14957
      start: 14928
    functionDepth: 1
    functionLinenumber: 14928
    functionLinenumberEnd: 14957
    functionName: roaring::internal::bitset_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - roaring_hamming
    - assert
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_select(const bitset_container_t *container, uint32_t
      *start_rank, uint32_t rank, uint32_t *element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14970
      start: 14961
    functionDepth: 1
    functionLinenumber: 14961
    functionLinenumberEnd: 14970
    functionName: roaring::internal::bitset_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_minimum(const bitset_container_t *container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14982
      start: 14973
    functionDepth: 1
    functionLinenumber: 14973
    functionLinenumberEnd: 14982
    functionName: roaring::internal::bitset_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_leading_zeroes
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_maximum(const bitset_container_t *container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14990,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14993,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14997
      start: 14985
    functionDepth: 1
    functionLinenumber: 14985
    functionLinenumberEnd: 14997
    functionName: roaring::internal::bitset_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_rank(const bitset_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15011,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15014,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - container
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - bitset_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15019
      start: 14999
    functionDepth: 1
    functionLinenumber: 14999
    functionLinenumberEnd: 15019
    functionName: roaring::internal::bitset_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t bitset_container_rank_many(const bitset_container_t *container,
      uint64_t start_rank, const uint32_t* begin, const uint32_t* end, uint64_t* ans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15024,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15029,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15032,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15039
      start: 15023
    functionDepth: 1
    functionLinenumber: 15023
    functionLinenumberEnd: 15039
    functionName: roaring::internal::bitset_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_get
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_get_index(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15054
      start: 15042
    functionDepth: 1
    functionLinenumber: 15042
    functionLinenumberEnd: 15054
    functionName: roaring::internal::bitset_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: int
    signature: int bitset_container_index_equalorlarger(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13812
      start: 13809
    functionDepth: 0
    functionLinenumber: 13809
    functionLinenumberEnd: 13812
    functionName: roaring::internal::bitset_container_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_container_clear(bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13815,1
    - Dst: INT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13818
      start: 13814
    functionDepth: 0
    functionLinenumber: 13814
    functionLinenumberEnd: 13818
    functionName: roaring::internal::bitset_container_set_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memset
    - INT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_container_set_all(bitset_container_t *bitset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13823,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13831,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13840,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13843,1
    - Dst: roaring::internal::bitset_container_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13848
      start: 13821
    functionDepth: 1
    functionLinenumber: 13821
    functionLinenumberEnd: 13848
    functionName: roaring::internal::bitset_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 138
    functionsReached:
    - roaring_free
    - roaring_malloc
    - roaring_aligned_malloc
    - roaring::internal::croaring_hardware_support
    - roaring::internal::bitset_container_clear
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13856
      start: 13851
    functionDepth: 0
    functionLinenumber: 13851
    functionLinenumberEnd: 13856
    functionName: roaring::internal::bitset_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 40
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bitset_container_copy(const bitset_container_t *source,\n                           bitset_container_t
      *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13871,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13872,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13875,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13878,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - bitset
    - min
    - max
    - step
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13884
      start: 13858
    functionDepth: 0
    functionLinenumber: 13858
    functionLinenumberEnd: 13884
    functionName: roaring::internal::bitset_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_add
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_add_from_range(bitset_container_t *bitset, uint32_t
      min,\n                                     uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13889,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13891
      start: 13887
    functionDepth: 0
    functionLinenumber: 13887
    functionLinenumberEnd: 13891
    functionName: roaring::internal::bitset_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 102
    functionsReached:
    - roaring_aligned_free
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_container_free(bitset_container_t *bitset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13897,1
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13905,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13913,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13916,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13923
      start: 13894
    functionDepth: 0
    functionLinenumber: 13894
    functionLinenumberEnd: 13923
    functionName: bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - croaring_hardware_support
    - roaring_free
    - roaring_malloc
    - roaring_aligned_malloc
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13936,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13938,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13948,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13960,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13966,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13970,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13980,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13982,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - bitset_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13986
      start: 13925
    functionDepth: 0
    functionLinenumber: 13925
    functionLinenumberEnd: 13986
    functionName: roaring::internal::bitset_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memcpy
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: "void bitset_container_offset(const bitset_container_t *c, container_t
      **loc,\n                             container_t **hic, uint16_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13990,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bitset
    - begin
    - end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13993
      start: 13988
    functionDepth: 0
    functionLinenumber: 13988
    functionLinenumberEnd: 13993
    functionName: roaring::internal::bitset_container_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_range
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set_range(bitset_container_t *bitset, uint32_t
      begin,\n                                uint32_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14004
      start: 13995
    functionDepth: 0
    functionLinenumber: 13995
    functionLinenumberEnd: 14004
    functionName: roaring::internal::bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_intersect(const bitset_container_t *src_1,\n
      \                               const bitset_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14019,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14020,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14021,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14025
      start: 14014
    functionDepth: 1
    functionLinenumber: 14014
    functionLinenumberEnd: 14025
    functionName: roaring::internal::_scalar_bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: "int _scalar_bitset_container_compute_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14028,1
    - Dst: roaring::internal::avx512_vpopcount
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14031,1
    - Dst: roaring::internal::avx2_harley_seal_popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14037,1
    - Dst: roaring::internal::_scalar_bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14043
      start: 14027
    functionDepth: 3
    functionLinenumber: 14027
    functionLinenumberEnd: 14043
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 72
    functionsReached:
    - roaring::internal::avx2_harley_seal_popcount256
    - roaring::internal::croaring_hardware_support
    - roaring::internal::avx512_vpopcount
    - roaring::internal::_scalar_bitset_container_compute_cardinality
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14047,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14048,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14049,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14050,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14052,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14054,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14056,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14058,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vdupq_n_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14061,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14066,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14067
      start: 14046
    functionDepth: 0
    functionLinenumber: 14046
    functionLinenumberEnd: 14067
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 72
    functionsReached:
    - vaddq_u16
    - vpaddlq_u32
    - vpaddlq_u16
    - vaddq_u64
    - vdupq_n_u64
    - vreinterpretq_u8_u64
    - vcntq_u8
    - vdupq_n_u16
    - vpaddlq_u8
    - vld1q_u64
    - vgetq_lane_u64
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14076,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14077,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14078,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14082
      start: 14072
    functionDepth: 1
    functionLinenumber: 14072
    functionLinenumberEnd: 14082
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 72
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14103
      start: 14096
    functionDepth: 0
    functionLinenumber: 14096
    functionLinenumberEnd: 14103
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \  \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14163
      start: 14150
    functionDepth: 0
    functionLinenumber: 14150
    functionLinenumberEnd: 14163
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \          \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14174
      start: 14164
    functionDepth: 0
    functionLinenumber: 14164
    functionLinenumberEnd: 14174
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \           \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14264
      start: 14257
    functionDepth: 0
    functionLinenumber: 14257
    functionLinenumberEnd: 14264
    functionName: CROARING_AVX_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14326
      start: 14311
    functionDepth: 0
    functionLinenumber: 14311
    functionLinenumberEnd: 14326
    functionName: CROARING_AVX_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14336
      start: 14326
    functionDepth: 0
    functionLinenumber: 14326
    functionLinenumberEnd: 14336
    functionName: CROARING_AVX_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14453
      start: 14408
    functionDepth: 0
    functionLinenumber: 14408
    functionLinenumberEnd: 14453
    functionName: SCALAR_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SCALAR_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic,            \\\n
      \                                  neon_intrinsic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14505
      start: 14466
    functionDepth: 0
    functionLinenumber: 14466
    functionLinenumberEnd: 14505
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14536
      start: 14509
    functionDepth: 0
    functionLinenumber: 14509
    functionLinenumberEnd: 14536
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14626
      start: 14541
    functionDepth: 0
    functionLinenumber: 14541
    functionLinenumberEnd: 14626
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14673
      start: 14629
    functionDepth: 0
    functionLinenumber: 14629
    functionLinenumberEnd: 14673
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14696,1
    - Dst: bitset_extract_setbits_avx512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14699,1
    - Dst: roaring::internal::bitset_extract_setbits_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14704,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14707,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - out
    - bc
    - base
    argTypes:
    - uint32_t*
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14713
      start: 14690
    functionDepth: 2
    functionLinenumber: 14690
    functionLinenumberEnd: 14713
    functionName: roaring::internal::bitset_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::bitset_extract_setbits_avx2
    - bitset_extract_setbits_avx512
    - roaring::internal::bitset_extract_setbits
    linkageType: ''
    returnType: int
    signature: "int bitset_container_to_uint32_array(\n    uint32_t *out,\n    const
      bitset_container_t *bc,\n    uint32_t base\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14719,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14726,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14728,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14731,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - v
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14738
      start: 14718
    functionDepth: 1
    functionLinenumber: 14718
    functionLinenumberEnd: 14738
    functionName: roaring::internal::bitset_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf(const bitset_container_t * v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14750,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14752,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14761
      start: 14744
    functionDepth: 1
    functionLinenumber: 14744
    functionLinenumberEnd: 14761
    functionName: roaring::internal::bitset_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf_as_uint32_array(const bitset_container_t
      * v, uint32_t base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - v
    - reason
    argTypes:
    - bitset_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14785
      start: 14766
    functionDepth: 0
    functionLinenumber: 14766
    functionLinenumberEnd: 14785
    functionName: roaring::internal::bitset_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_validate(const bitset_container_t *v, const char
      **reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14796,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bc
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14804
      start: 14789
    functionDepth: 1
    functionLinenumber: 14789
    functionLinenumberEnd: 14804
    functionName: roaring::internal::bitset_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_number_of_runs(bitset_container_t *bc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14809,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14811
      start: 14807
    functionDepth: 0
    functionLinenumber: 14807
    functionLinenumberEnd: 14811
    functionName: roaring::internal::bitset_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_write(const bitset_container_t *container,\n
      \                                 char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14817,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14819
      start: 14814
    functionDepth: 0
    functionLinenumber: 14814
    functionLinenumberEnd: 14819
    functionName: roaring::internal::bitset_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_read(int32_t cardinality, bitset_container_t
      *container,\n\t\tconst char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14826,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14833
      start: 14821
    functionDepth: 1
    functionLinenumber: 14821
    functionLinenumberEnd: 14833
    functionName: roaring::internal::bitset_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate(const bitset_container_t *cont, uint32_t
      base, roaring_iterator iterator, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14840,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14847
      start: 14835
    functionDepth: 1
    functionLinenumber: 14835
    functionLinenumberEnd: 14847
    functionName: roaring::internal::bitset_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate64(const bitset_container_t *cont, uint32_t
      base, roaring_iterator64 iterator, uint64_t high_bits, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14857,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14858,1
    - Dst: _mm512_cmpeq_epi8_mask
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14865
      start: 14853
    functionDepth: 0
    functionLinenumber: 14853
    functionLinenumberEnd: 14865
    functionName: roaring::internal::_avx512_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - _mm512_cmpeq_epi8_mask
    - _mm512_loadu_si512
    linkageType: ''
    returnType: bool
    signature: bool _avx512_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14874,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14875,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14876,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14882
      start: 14870
    functionDepth: 0
    functionLinenumber: 14870
    functionLinenumberEnd: 14882
    functionName: roaring::internal::_avx2_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: bool
    signature: bool _avx2_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14892,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14897,1
    - Dst: roaring::internal::_avx512_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14900,1
    - Dst: roaring::internal::_avx2_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14905,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14911
      start: 14886
    functionDepth: 1
    functionLinenumber: 14886
    functionLinenumberEnd: 14911
    functionName: roaring::internal::bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::_avx2_bitset_container_equals
    - roaring::internal::_avx512_bitset_container_equals
    - memcmp
    - INT32_C
    - roaring::internal::croaring_hardware_support
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14926
      start: 14913
    functionDepth: 0
    functionLinenumber: 14913
    functionLinenumberEnd: 14926
    functionName: roaring::internal::bitset_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset(const bitset_container_t *container1,\n
      \                         const bitset_container_t *container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14929,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14937,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14943,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - bitset_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 14954
        line_start: 14954
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 14957
      start: 14928
    functionDepth: 1
    functionLinenumber: 14928
    functionLinenumberEnd: 14957
    functionName: roaring::internal::bitset_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - roaring_hamming
    - assert
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_select(const bitset_container_t *container, uint32_t
      *start_rank, uint32_t rank, uint32_t *element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14970
      start: 14961
    functionDepth: 1
    functionLinenumber: 14961
    functionLinenumberEnd: 14970
    functionName: roaring::internal::bitset_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_minimum(const bitset_container_t *container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14982
      start: 14973
    functionDepth: 1
    functionLinenumber: 14973
    functionLinenumberEnd: 14982
    functionName: roaring::internal::bitset_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_leading_zeroes
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_maximum(const bitset_container_t *container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14990,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14993,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14997
      start: 14985
    functionDepth: 1
    functionLinenumber: 14985
    functionLinenumberEnd: 14997
    functionName: roaring::internal::bitset_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_rank(const bitset_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15011,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15014,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - container
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - bitset_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15019
      start: 14999
    functionDepth: 1
    functionLinenumber: 14999
    functionLinenumberEnd: 15019
    functionName: roaring::internal::bitset_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t bitset_container_rank_many(const bitset_container_t *container,
      uint64_t start_rank, const uint32_t* begin, const uint32_t* end, uint64_t* ans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15024,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15029,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15032,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15039
      start: 15023
    functionDepth: 1
    functionLinenumber: 15023
    functionLinenumberEnd: 15039
    functionName: roaring::internal::bitset_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_get
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_get_index(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15054
      start: 15042
    functionDepth: 1
    functionLinenumber: 15042
    functionLinenumberEnd: 15054
    functionName: roaring::internal::bitset_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: int
    signature: int bitset_container_index_equalorlarger(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13812
      start: 13809
    functionDepth: 0
    functionLinenumber: 13809
    functionLinenumberEnd: 13812
    functionName: roaring::internal::bitset_container_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bitset_container_clear(bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13815,1
    - Dst: INT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13818
      start: 13814
    functionDepth: 0
    functionLinenumber: 13814
    functionLinenumberEnd: 13818
    functionName: roaring::internal::bitset_container_set_all
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memset
    - INT64_C
    linkageType: ''
    returnType: void
    signature: void bitset_container_set_all(bitset_container_t *bitset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13823,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13831,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13840,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13843,1
    - Dst: roaring::internal::bitset_container_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13848
      start: 13821
    functionDepth: 1
    functionLinenumber: 13821
    functionLinenumberEnd: 13848
    functionName: roaring::internal::bitset_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 139
    functionsReached:
    - roaring_free
    - roaring_malloc
    - roaring_aligned_malloc
    - roaring::internal::croaring_hardware_support
    - roaring::internal::bitset_container_clear
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13856
      start: 13851
    functionDepth: 0
    functionLinenumber: 13851
    functionLinenumberEnd: 13856
    functionName: roaring::internal::bitset_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 40
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bitset_container_copy(const bitset_container_t *source,\n                           bitset_container_t
      *dest)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13871,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13872,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13875,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13878,1
    - Dst: roaring::internal::bitset_container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - bitset
    - min
    - max
    - step
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13884
      start: 13858
    functionDepth: 0
    functionLinenumber: 13858
    functionLinenumberEnd: 13884
    functionName: roaring::internal::bitset_container_add_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_add
    - UINT64_C
    linkageType: ''
    returnType: void
    signature: "void bitset_container_add_from_range(bitset_container_t *bitset, uint32_t
      min,\n                                     uint32_t max, uint16_t step)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13889,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13891
      start: 13887
    functionDepth: 0
    functionLinenumber: 13887
    functionLinenumberEnd: 13891
    functionName: roaring::internal::bitset_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 103
    functionsReached:
    - roaring_aligned_free
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void bitset_container_free(bitset_container_t *bitset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13897,1
    - Dst: croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13905,1
    - Dst: roaring_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13913,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13916,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13923
      start: 13894
    functionDepth: 0
    functionLinenumber: 13894
    functionLinenumberEnd: 13923
    functionName: bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - croaring_hardware_support
    - roaring_free
    - roaring_malloc
    - roaring_aligned_malloc
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_t *bitset_container_clone(const bitset_container_t
      *src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13936,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13938,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13948,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13960,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13966,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13970,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13980,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13982,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - bitset_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13986
      start: 13925
    functionDepth: 0
    functionLinenumber: 13925
    functionLinenumberEnd: 13986
    functionName: roaring::internal::bitset_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memcpy
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: "void bitset_container_offset(const bitset_container_t *c, container_t
      **loc,\n                             container_t **hic, uint16_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13990,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:13992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - bitset
    - begin
    - end
    argTypes:
    - bitset_container_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13993
      start: 13988
    functionDepth: 0
    functionLinenumber: 13988
    functionLinenumberEnd: 13993
    functionName: roaring::internal::bitset_container_set_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_set_range
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: void
    signature: "void bitset_container_set_range(bitset_container_t *bitset, uint32_t
      begin,\n                                uint32_t end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14004
      start: 13995
    functionDepth: 0
    functionLinenumber: 13995
    functionLinenumberEnd: 14004
    functionName: roaring::internal::bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_intersect(const bitset_container_t *src_1,\n
      \                               const bitset_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14019,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14020,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14021,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14025
      start: 14014
    functionDepth: 1
    functionLinenumber: 14014
    functionLinenumberEnd: 14025
    functionName: roaring::internal::_scalar_bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: "int _scalar_bitset_container_compute_cardinality(\n    const bitset_container_t
      *bitset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14028,1
    - Dst: roaring::internal::avx512_vpopcount
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14031,1
    - Dst: roaring::internal::avx2_harley_seal_popcount256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14037,1
    - Dst: roaring::internal::_scalar_bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14043
      start: 14027
    functionDepth: 3
    functionLinenumber: 14027
    functionLinenumberEnd: 14043
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 75
    functionsReached:
    - roaring::internal::avx2_harley_seal_popcount256
    - roaring::internal::croaring_hardware_support
    - roaring::internal::avx512_vpopcount
    - roaring::internal::_scalar_bitset_container_compute_cardinality
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14047,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14048,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14049,1
    - Dst: vdupq_n_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14050,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14052,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14053,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14054,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14055,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14056,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14057,1
    - Dst: vld1q_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14058,1
    - Dst: vaddq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vpaddlq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vcntq_u8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vreinterpretq_u8_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14059,1
    - Dst: vdupq_n_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14061,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14062,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14063,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14064,1
    - Dst: vaddq_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vpaddlq_u32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vpaddlq_u16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14065,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14066,1
    - Dst: vgetq_lane_u64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14067
      start: 14046
    functionDepth: 0
    functionLinenumber: 14046
    functionLinenumberEnd: 14067
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 75
    functionsReached:
    - vaddq_u16
    - vpaddlq_u32
    - vpaddlq_u16
    - vaddq_u64
    - vdupq_n_u64
    - vreinterpretq_u8_u64
    - vcntq_u8
    - vdupq_n_u16
    - vpaddlq_u8
    - vld1q_u64
    - vgetq_lane_u64
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14076,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14077,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14078,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14082
      start: 14072
    functionDepth: 1
    functionLinenumber: 14072
    functionLinenumberEnd: 14082
    functionName: roaring::internal::bitset_container_compute_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 75
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_compute_cardinality(const bitset_container_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14103
      start: 14096
    functionDepth: 0
    functionLinenumber: 14096
    functionLinenumberEnd: 14103
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \  \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14163
      start: 14150
    functionDepth: 0
    functionLinenumber: 14150
    functionLinenumberEnd: 14163
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \          \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14174
      start: 14164
    functionDepth: 0
    functionLinenumber: 14164
    functionLinenumberEnd: 14174
    functionName: CROARING_AVX512_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX512_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \           \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14264
      start: 14257
    functionDepth: 0
    functionLinenumber: 14257
    functionLinenumberEnd: 14264
    functionName: CROARING_AVX_BITSET_CONTAINER_FN1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN1(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14326
      start: 14311
    functionDepth: 0
    functionLinenumber: 14311
    functionLinenumberEnd: 14326
    functionName: CROARING_AVX_BITSET_CONTAINER_FN2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN2(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - before
    - ','
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - ','
    - after
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14336
      start: 14326
    functionDepth: 0
    functionLinenumber: 14326
    functionLinenumberEnd: 14336
    functionName: CROARING_AVX_BITSET_CONTAINER_FN3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "CROARING_AVX_BITSET_CONTAINER_FN3(before, opname, opsymbol, avx_intrinsic,
      \              \\\n                                neon_intrinsic, after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14453
      start: 14408
    functionDepth: 0
    functionLinenumber: 14408
    functionLinenumberEnd: 14453
    functionName: SCALAR_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SCALAR_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic,            \\\n
      \                                  neon_intrinsic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14505
      start: 14466
    functionDepth: 0
    functionLinenumber: 14466
    functionLinenumberEnd: 14505
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14536
      start: 14509
    functionDepth: 0
    functionLinenumber: 14509
    functionLinenumberEnd: 14536
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14626
      start: 14541
    functionDepth: 0
    functionLinenumber: 14541
    functionLinenumberEnd: 14626
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - opname
    - ','
    - opsymbol
    - ','
    - avx_intrinsic
    - ','
    - neon_intrinsic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14673
      start: 14629
    functionDepth: 0
    functionLinenumber: 14629
    functionLinenumberEnd: 14673
    functionName: CROARING_BITSET_CONTAINER_FN
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_BITSET_CONTAINER_FN(opname, opsymbol, avx_intrinsic, neon_intrinsic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14696,1
    - Dst: bitset_extract_setbits_avx512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14699,1
    - Dst: roaring::internal::bitset_extract_setbits_avx2
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14704,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14707,1
    - Dst: roaring::internal::bitset_extract_setbits
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - out
    - bc
    - base
    argTypes:
    - uint32_t*
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14713
      start: 14690
    functionDepth: 2
    functionLinenumber: 14690
    functionLinenumberEnd: 14713
    functionName: roaring::internal::bitset_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - roaring::internal::bitset_extract_setbits_avx2
    - bitset_extract_setbits_avx512
    - roaring::internal::bitset_extract_setbits
    linkageType: ''
    returnType: int
    signature: "int bitset_container_to_uint32_array(\n    uint32_t *out,\n    const
      bitset_container_t *bc,\n    uint32_t base\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14719,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14726,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14728,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14731,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - v
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14738
      start: 14718
    functionDepth: 1
    functionLinenumber: 14718
    functionLinenumberEnd: 14738
    functionName: roaring::internal::bitset_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf(const bitset_container_t * v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14750,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14752,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - bitset_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14761
      start: 14744
    functionDepth: 1
    functionLinenumber: 14744
    functionLinenumberEnd: 14761
    functionName: roaring::internal::bitset_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - printf
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: void
    signature: void bitset_container_printf_as_uint32_array(const bitset_container_t
      * v, uint32_t base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - v
    - reason
    argTypes:
    - bitset_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14785
      start: 14766
    functionDepth: 0
    functionLinenumber: 14766
    functionLinenumberEnd: 14785
    functionName: roaring::internal::bitset_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_validate(const bitset_container_t *v, const char
      **reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14796,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - bc
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14804
      start: 14789
    functionDepth: 1
    functionLinenumber: 14789
    functionLinenumberEnd: 14804
    functionName: roaring::internal::bitset_container_number_of_runs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_number_of_runs(bitset_container_t *bc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14809,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14811
      start: 14807
    functionDepth: 0
    functionLinenumber: 14807
    functionLinenumberEnd: 14811
    functionName: roaring::internal::bitset_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_write(const bitset_container_t *container,\n
      \                                 char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14817,1
    - Dst: roaring::internal::bitset_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - bitset_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14819
      start: 14814
    functionDepth: 0
    functionLinenumber: 14814
    functionLinenumberEnd: 14819
    functionName: roaring::internal::bitset_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: "int32_t bitset_container_read(int32_t cardinality, bitset_container_t
      *container,\n\t\tconst char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14826,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14833
      start: 14821
    functionDepth: 1
    functionLinenumber: 14821
    functionLinenumberEnd: 14833
    functionName: roaring::internal::bitset_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate(const bitset_container_t *cont, uint32_t
      base, roaring_iterator iterator, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14840,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - bitset_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14847
      start: 14835
    functionDepth: 1
    functionLinenumber: 14835
    functionLinenumberEnd: 14847
    functionName: roaring::internal::bitset_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_iterate64(const bitset_container_t *cont, uint32_t
      base, roaring_iterator64 iterator, uint64_t high_bits, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14857,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14858,1
    - Dst: _mm512_cmpeq_epi8_mask
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14865
      start: 14853
    functionDepth: 0
    functionLinenumber: 14853
    functionLinenumberEnd: 14865
    functionName: roaring::internal::_avx512_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - _mm512_cmpeq_epi8_mask
    - _mm512_loadu_si512
    linkageType: ''
    returnType: bool
    signature: bool _avx512_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14874,1
    - Dst: _mm256_loadu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14875,1
    - Dst: _mm256_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14876,1
    - Dst: _mm256_cmpeq_epi8
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14882
      start: 14870
    functionDepth: 0
    functionLinenumber: 14870
    functionLinenumberEnd: 14882
    functionName: roaring::internal::_avx2_bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - _mm256_loadu_si256
    - _mm256_cmpeq_epi8
    - _mm256_movemask_epi8
    linkageType: ''
    returnType: bool
    signature: bool _avx2_bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14892,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14897,1
    - Dst: roaring::internal::_avx512_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14900,1
    - Dst: roaring::internal::_avx2_bitset_container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14905,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14911
      start: 14886
    functionDepth: 1
    functionLinenumber: 14886
    functionLinenumberEnd: 14911
    functionName: roaring::internal::bitset_container_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::_avx2_bitset_container_equals
    - roaring::internal::_avx512_bitset_container_equals
    - memcmp
    - INT32_C
    - roaring::internal::croaring_hardware_support
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED bitset_container_equals(const bitset_container_t *container1,
      const bitset_container_t *container2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14926
      start: 14913
    functionDepth: 0
    functionLinenumber: 14913
    functionLinenumberEnd: 14926
    functionName: roaring::internal::bitset_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset(const bitset_container_t *container1,\n
      \                         const bitset_container_t *container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14929,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14937,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14943,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - bitset_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 14954
        line_start: 14954
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 14957
      start: 14928
    functionDepth: 1
    functionLinenumber: 14928
    functionLinenumberEnd: 14957
    functionName: roaring::internal::bitset_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - roaring_hamming
    - assert
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: bool
    signature: bool bitset_container_select(const bitset_container_t *container, uint32_t
      *start_rank, uint32_t rank, uint32_t *element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14970
      start: 14961
    functionDepth: 1
    functionLinenumber: 14961
    functionLinenumberEnd: 14970
    functionName: roaring::internal::bitset_container_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_minimum(const bitset_container_t *container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14982
      start: 14973
    functionDepth: 1
    functionLinenumber: 14973
    functionLinenumberEnd: 14982
    functionName: roaring::internal::bitset_container_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_leading_zeroes
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t bitset_container_maximum(const bitset_container_t *container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14990,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14993,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:14995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14997
      start: 14985
    functionDepth: 1
    functionLinenumber: 14985
    functionLinenumberEnd: 14997
    functionName: roaring::internal::bitset_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_rank(const bitset_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15011,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15014,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - container
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - bitset_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15019
      start: 14999
    functionDepth: 1
    functionLinenumber: 14999
    functionLinenumberEnd: 15019
    functionName: roaring::internal::bitset_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t bitset_container_rank_many(const bitset_container_t *container,
      uint64_t start_rank, const uint32_t* begin, const uint32_t* end, uint64_t* ans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15024,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15029,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15032,1
    - Dst: roaring_hamming
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15039
      start: 15023
    functionDepth: 1
    functionLinenumber: 15023
    functionLinenumberEnd: 15039
    functionName: roaring::internal::bitset_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::bitset_container_get
    - UINT64_C
    - roaring_hamming
    linkageType: ''
    returnType: int
    signature: int bitset_container_get_index(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - bitset_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15054
      start: 15042
    functionDepth: 1
    functionLinenumber: 15042
    functionLinenumberEnd: 15054
    functionName: roaring::internal::bitset_container_index_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: int
    signature: int bitset_container_index_equalorlarger(const bitset_container_t *container,
      uint16_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15079
      start: 15077
    functionDepth: 0
    functionLinenumber: 15077
    functionLinenumberEnd: 15079
    functionName: roaring::internal::minimum_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minimum_uint32(uint32_t a, uint32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15110,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15110,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15113,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15113,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15116,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15116,1
    - Dst: roaring::internal::shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15119,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15119,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15121
        line_start: 15121
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15125
      start: 15107
    functionDepth: 0
    functionLinenumber: 15107
    functionLinenumberEnd: 15125
    functionName: roaring::internal::container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - CAST_array
    - CAST_shared
    - CAST_bitset
    - assert
    - roaring::internal::run_container_free
    - roaring::internal::array_container_free
    - roaring::internal::shared_container_free
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: void container_free(container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15128,1
    - Dst: roaring::internal::bitset_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15131,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15131,1
    - Dst: roaring::internal::array_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15134,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15134,1
    - Dst: roaring::internal::run_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15137,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15142
      start: 15127
    functionDepth: 0
    functionLinenumber: 15127
    functionLinenumberEnd: 15142
    functionName: roaring::internal::container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf
    - roaring::internal::array_container_printf
    - roaring::internal::bitset_container_printf
    linkageType: ''
    returnType: void
    signature: void container_printf(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15146,1
    - Dst: roaring::internal::bitset_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15149,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15149,1
    - Dst: roaring::internal::array_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15152,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15152,1
    - Dst: roaring::internal::run_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15155,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - c
    - typecode
    - base
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15160
      start: 15144
    functionDepth: 0
    functionLinenumber: 15144
    functionLinenumberEnd: 15160
    functionName: roaring::internal::container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::bitset_container_printf_as_uint32_array
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf_as_uint32_array
    - roaring::internal::array_container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: "void container_printf_as_uint32_array(const container_t *c, uint8_t
      typecode,\n                                      uint32_t base)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15172,1
    - Dst: croaring_refcount_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15173,1
    - Dst: roaring::internal::bitset_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15190,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15190,1
    - Dst: roaring::internal::array_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15193,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15193,1
    - Dst: roaring::internal::run_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15196,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - container
    - typecode
    - reason
    argTypes:
    - container_t*
    - uint8_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15201
      start: 15162
    functionDepth: 1
    functionLinenumber: 15162
    functionLinenumberEnd: 15201
    functionName: roaring::internal::container_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - croaring_refcount_get
    - const_CAST_run
    - roaring::internal::run_container_validate
    - const_CAST_shared
    - roaring::internal::array_container_validate
    - roaring::internal::bitset_container_validate
    linkageType: ''
    returnType: bool
    signature: "bool container_internal_validate(const container_t *container, uint8_t
      typecode,\n                                 const char **reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15234,1
    - Dst: croaring_refcount_inc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15235,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15238,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15240,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15257,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15258,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - c
    - typecode
    - copy_on_write
    argTypes:
    - container_t*
    - uint8_t*
    - bool
    assertStmts:
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15237
        line_start: 15237
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15257
        line_start: 15257
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15260
      start: 15229
    functionDepth: 1
    functionLinenumber: 15229
    functionLinenumberEnd: 15260
    functionName: roaring::internal::get_copy_of_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::container_unwrap_shared
    - CAST_shared
    - assert
    - roaring_malloc
    - croaring_refcount_inc
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_copy_of_container(container_t *c, uint8_t *typecode,\n
      \                                  bool copy_on_write)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15271,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15271,1
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15273,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15273,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15275,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15275,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15280
        line_start: 15280
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15285
      start: 15266
    functionDepth: 1
    functionLinenumber: 15266
    functionLinenumberEnd: 15285
    functionName: roaring::internal::container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 25
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::run_container_clone
    - const_CAST_run
    - assert
    - roaring::internal::array_container_clone
    - roaring::internal::bitset_container_clone
    linkageType: ''
    returnType: container_t
    signature: container_t *container_clone(const container_t *c, uint8_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15289,1
    - Dst: croaring_refcount_dec
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15292,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15295,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15297,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - sc
    - typecode
    argTypes:
    - shared_container_t*
    - uint8_t*
    assertStmts:
    - condition: (sc->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15288
        line_start: 15288
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15298
        line_start: 15298
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15301
      start: 15287
    functionDepth: 1
    functionLinenumber: 15287
    functionLinenumberEnd: 15301
    functionName: roaring::internal::shared_container_extract_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - assert
    - roaring_free
    - roaring::internal::container_clone
    - croaring_refcount_dec
    linkageType: ''
    returnType: container_t
    signature: "container_t *shared_container_extract_copy(shared_container_t *sc,\n
      \                                          uint8_t *typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_refcount_dec
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15304,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15305,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15306,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - shared_container_t*
    assertStmts:
    - condition: (container->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15304
        line_start: 15304
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15310
      start: 15303
    functionDepth: 1
    functionLinenumber: 15303
    functionLinenumberEnd: 15310
    functionName: roaring::internal::shared_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::container_free
    - assert
    - roaring_free
    - croaring_refcount_dec
    linkageType: ''
    returnType: void
    signature: void shared_container_free(shared_container_t *container)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15356,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15363,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15370,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15377,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - c
    - typecode
    - value
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15383
        line_start: 15383
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15388
      start: 15351
    functionDepth: 1
    functionLinenumber: 15351
    functionLinenumberEnd: 15388
    functionName: roaring::internal::container_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: roaring_container_iterator_t
    signature: "roaring_container_iterator_t container_init_iterator(const container_t
      *c,\n                                                     uint8_t typecode,\n
      \                                                    uint16_t *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15395,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15403,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15410,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15418,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - c
    - typecode
    - value
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15426
        line_start: 15426
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15431
      start: 15390
    functionDepth: 1
    functionLinenumber: 15390
    functionLinenumberEnd: 15431
    functionName: roaring::internal::container_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring_leading_zeroes
    - const_CAST_bitset
    - const_CAST_run
    - assert
    linkageType: ''
    returnType: roaring_container_iterator_t
    signature: "roaring_container_iterator_t container_init_iterator_last(const container_t
      *c,\n                                                          uint8_t typecode,\n
      \                                                         uint16_t *value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15438,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15455,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15462,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15475,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 4
    argNames:
    - c
    - typecode
    - it
    - value
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15490
        line_start: 15490
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15495
      start: 15433
    functionDepth: 1
    functionLinenumber: 15433
    functionLinenumberEnd: 15495
    functionName: roaring::internal::container_iterator_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_next(const container_t *c, uint8_t typecode,\n
      \                            roaring_container_iterator_t *it,\n                             uint16_t
      *value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15506,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15518,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15526,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15535,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15549,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - c
    - typecode
    - it
    - value
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15548
        line_start: 15548
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15553
      start: 15497
    functionDepth: 1
    functionLinenumber: 15497
    functionLinenumberEnd: 15553
    functionName: roaring::internal::container_iterator_prev
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring_leading_zeroes
    - const_CAST_bitset
    - const_CAST_run
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_prev(const container_t *c, uint8_t typecode,\n
      \                            roaring_container_iterator_t *it,\n                             uint16_t
      *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15558,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15563,1
    - Dst: roaring::internal::bitset_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15564,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15569,1
    - Dst: roaring::internal::array_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15570,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15575,1
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15576,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 5
    argNames:
    - c
    - typecode
    - it
    - value_out
    - val
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15584
        line_start: 15584
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15589
      start: 15555
    functionDepth: 0
    functionLinenumber: 15555
    functionLinenumberEnd: 15589
    functionName: roaring::internal::container_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_index_equalorlarger
    - const_CAST_bitset
    - roaring::internal::array_container_index_equalorlarger
    - const_CAST_run
    - assert
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::container_maximum
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_lower_bound(const container_t *c, uint8_t
      typecode,\n                                    roaring_container_iterator_t
      *it,\n                                    uint16_t *value_out, uint16_t val)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15602,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15610,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15624,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15631,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15633,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15646,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15650,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 8
    argNames:
    - c
    - typecode
    - it
    - high16
    - buf
    - count
    - consumed
    - value_out
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint32_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15673
        line_start: 15673
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15678
      start: 15591
    functionDepth: 1
    functionLinenumber: 15591
    functionLinenumberEnd: 15678
    functionName: roaring::internal::container_iterator_read_into_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::minimum_uint32
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_read_into_uint32(const container_t *c, uint8_t
      typecode,\n                                         roaring_container_iterator_t
      *it,\n                                         uint32_t high16, uint32_t *buf,\n
      \                                        uint32_t count, uint32_t *consumed,\n
      \                                        uint16_t *value_out)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15691,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15699,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15713,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15720,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15722,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15735,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15739,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15763,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 8
    argNames:
    - c
    - typecode
    - it
    - high48
    - buf
    - count
    - consumed
    - value_out
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint64_t
    - uint64_t*
    - uint32_t
    - uint32_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15762
        line_start: 15762
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15767
      start: 15680
    functionDepth: 1
    functionLinenumber: 15680
    functionLinenumberEnd: 15767
    functionName: roaring::internal::container_iterator_read_into_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::minimum_uint32
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_read_into_uint64(const container_t *c, uint8_t
      typecode,\n                                         roaring_container_iterator_t
      *it,\n                                         uint64_t high48, uint64_t *buf,\n
      \                                        uint32_t count, uint32_t *consumed,\n
      \                                        uint16_t *value_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15079
      start: 15077
    functionDepth: 0
    functionLinenumber: 15077
    functionLinenumberEnd: 15079
    functionName: roaring::internal::minimum_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minimum_uint32(uint32_t a, uint32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15110,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15110,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15113,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15113,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15116,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15116,1
    - Dst: roaring::internal::shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15119,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15119,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15121
        line_start: 15121
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15125
      start: 15107
    functionDepth: 0
    functionLinenumber: 15107
    functionLinenumberEnd: 15125
    functionName: roaring::internal::container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 25
    functionsReached:
    - CAST_array
    - CAST_shared
    - CAST_bitset
    - assert
    - roaring::internal::run_container_free
    - roaring::internal::array_container_free
    - roaring::internal::shared_container_free
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: void container_free(container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15128,1
    - Dst: roaring::internal::bitset_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15131,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15131,1
    - Dst: roaring::internal::array_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15134,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15134,1
    - Dst: roaring::internal::run_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15137,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15142
      start: 15127
    functionDepth: 0
    functionLinenumber: 15127
    functionLinenumberEnd: 15142
    functionName: roaring::internal::container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf
    - roaring::internal::array_container_printf
    - roaring::internal::bitset_container_printf
    linkageType: ''
    returnType: void
    signature: void container_printf(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15146,1
    - Dst: roaring::internal::bitset_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15149,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15149,1
    - Dst: roaring::internal::array_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15152,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15152,1
    - Dst: roaring::internal::run_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15155,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - c
    - typecode
    - base
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15160
      start: 15144
    functionDepth: 0
    functionLinenumber: 15144
    functionLinenumberEnd: 15160
    functionName: roaring::internal::container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::bitset_container_printf_as_uint32_array
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf_as_uint32_array
    - roaring::internal::array_container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: "void container_printf_as_uint32_array(const container_t *c, uint8_t
      typecode,\n                                      uint32_t base)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15172,1
    - Dst: croaring_refcount_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15173,1
    - Dst: roaring::internal::bitset_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15190,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15190,1
    - Dst: roaring::internal::array_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15193,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15193,1
    - Dst: roaring::internal::run_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15196,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - container
    - typecode
    - reason
    argTypes:
    - container_t*
    - uint8_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15201
      start: 15162
    functionDepth: 1
    functionLinenumber: 15162
    functionLinenumberEnd: 15201
    functionName: roaring::internal::container_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - croaring_refcount_get
    - const_CAST_run
    - roaring::internal::run_container_validate
    - const_CAST_shared
    - roaring::internal::array_container_validate
    - roaring::internal::bitset_container_validate
    linkageType: ''
    returnType: bool
    signature: "bool container_internal_validate(const container_t *container, uint8_t
      typecode,\n                                 const char **reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15234,1
    - Dst: croaring_refcount_inc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15235,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15238,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15240,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15257,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15258,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - c
    - typecode
    - copy_on_write
    argTypes:
    - container_t*
    - uint8_t*
    - bool
    assertStmts:
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15237
        line_start: 15237
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15257
        line_start: 15257
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15260
      start: 15229
    functionDepth: 1
    functionLinenumber: 15229
    functionLinenumberEnd: 15260
    functionName: roaring::internal::get_copy_of_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::container_unwrap_shared
    - CAST_shared
    - assert
    - roaring_malloc
    - croaring_refcount_inc
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_copy_of_container(container_t *c, uint8_t *typecode,\n
      \                                  bool copy_on_write)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15271,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15271,1
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15273,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15273,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15275,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15275,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15280
        line_start: 15280
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15285
      start: 15266
    functionDepth: 1
    functionLinenumber: 15266
    functionLinenumberEnd: 15285
    functionName: roaring::internal::container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 27
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::run_container_clone
    - const_CAST_run
    - assert
    - roaring::internal::array_container_clone
    - roaring::internal::bitset_container_clone
    linkageType: ''
    returnType: container_t
    signature: container_t *container_clone(const container_t *c, uint8_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15289,1
    - Dst: croaring_refcount_dec
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15292,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15295,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15297,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - sc
    - typecode
    argTypes:
    - shared_container_t*
    - uint8_t*
    assertStmts:
    - condition: (sc->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15288
        line_start: 15288
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15298
        line_start: 15298
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15301
      start: 15287
    functionDepth: 1
    functionLinenumber: 15287
    functionLinenumberEnd: 15301
    functionName: roaring::internal::shared_container_extract_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - assert
    - roaring_free
    - roaring::internal::container_clone
    - croaring_refcount_dec
    linkageType: ''
    returnType: container_t
    signature: "container_t *shared_container_extract_copy(shared_container_t *sc,\n
      \                                          uint8_t *typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_refcount_dec
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15304,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15305,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15306,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - shared_container_t*
    assertStmts:
    - condition: (container->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15304
        line_start: 15304
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15310
      start: 15303
    functionDepth: 1
    functionLinenumber: 15303
    functionLinenumberEnd: 15310
    functionName: roaring::internal::shared_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::container_free
    - assert
    - roaring_free
    - croaring_refcount_dec
    linkageType: ''
    returnType: void
    signature: void shared_container_free(shared_container_t *container)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15356,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15363,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15370,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15377,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - c
    - typecode
    - value
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15383
        line_start: 15383
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15388
      start: 15351
    functionDepth: 1
    functionLinenumber: 15351
    functionLinenumberEnd: 15388
    functionName: roaring::internal::container_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: roaring_container_iterator_t
    signature: "roaring_container_iterator_t container_init_iterator(const container_t
      *c,\n                                                     uint8_t typecode,\n
      \                                                    uint16_t *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15395,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15403,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15410,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15418,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - c
    - typecode
    - value
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15426
        line_start: 15426
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15431
      start: 15390
    functionDepth: 1
    functionLinenumber: 15390
    functionLinenumberEnd: 15431
    functionName: roaring::internal::container_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring_leading_zeroes
    - const_CAST_bitset
    - const_CAST_run
    - assert
    linkageType: ''
    returnType: roaring_container_iterator_t
    signature: "roaring_container_iterator_t container_init_iterator_last(const container_t
      *c,\n                                                          uint8_t typecode,\n
      \                                                         uint16_t *value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15438,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15455,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15462,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15475,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 4
    argNames:
    - c
    - typecode
    - it
    - value
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15490
        line_start: 15490
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15495
      start: 15433
    functionDepth: 1
    functionLinenumber: 15433
    functionLinenumberEnd: 15495
    functionName: roaring::internal::container_iterator_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_next(const container_t *c, uint8_t typecode,\n
      \                            roaring_container_iterator_t *it,\n                             uint16_t
      *value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15506,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15518,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15526,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15535,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15549,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - c
    - typecode
    - it
    - value
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15548
        line_start: 15548
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15553
      start: 15497
    functionDepth: 1
    functionLinenumber: 15497
    functionLinenumberEnd: 15553
    functionName: roaring::internal::container_iterator_prev
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring_leading_zeroes
    - const_CAST_bitset
    - const_CAST_run
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_prev(const container_t *c, uint8_t typecode,\n
      \                            roaring_container_iterator_t *it,\n                             uint16_t
      *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15558,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15563,1
    - Dst: roaring::internal::bitset_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15564,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15569,1
    - Dst: roaring::internal::array_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15570,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15575,1
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15576,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 5
    argNames:
    - c
    - typecode
    - it
    - value_out
    - val
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15584
        line_start: 15584
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15589
      start: 15555
    functionDepth: 0
    functionLinenumber: 15555
    functionLinenumberEnd: 15589
    functionName: roaring::internal::container_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_index_equalorlarger
    - const_CAST_bitset
    - roaring::internal::array_container_index_equalorlarger
    - const_CAST_run
    - assert
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::container_maximum
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_lower_bound(const container_t *c, uint8_t
      typecode,\n                                    roaring_container_iterator_t
      *it,\n                                    uint16_t *value_out, uint16_t val)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15602,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15610,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15624,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15631,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15633,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15646,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15650,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 8
    argNames:
    - c
    - typecode
    - it
    - high16
    - buf
    - count
    - consumed
    - value_out
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint32_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15673
        line_start: 15673
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15678
      start: 15591
    functionDepth: 1
    functionLinenumber: 15591
    functionLinenumberEnd: 15678
    functionName: roaring::internal::container_iterator_read_into_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::minimum_uint32
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_read_into_uint32(const container_t *c, uint8_t
      typecode,\n                                         roaring_container_iterator_t
      *it,\n                                         uint32_t high16, uint32_t *buf,\n
      \                                        uint32_t count, uint32_t *consumed,\n
      \                                        uint16_t *value_out)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15691,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15699,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15713,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15720,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15722,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15735,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15739,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15763,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 8
    argNames:
    - c
    - typecode
    - it
    - high48
    - buf
    - count
    - consumed
    - value_out
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint64_t
    - uint64_t*
    - uint32_t
    - uint32_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15762
        line_start: 15762
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15767
      start: 15680
    functionDepth: 1
    functionLinenumber: 15680
    functionLinenumberEnd: 15767
    functionName: roaring::internal::container_iterator_read_into_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::minimum_uint32
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_read_into_uint64(const container_t *c, uint8_t
      typecode,\n                                         roaring_container_iterator_t
      *it,\n                                         uint64_t high48, uint64_t *buf,\n
      \                                        uint32_t count, uint32_t *consumed,\n
      \                                        uint16_t *value_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15079
      start: 15077
    functionDepth: 0
    functionLinenumber: 15077
    functionLinenumberEnd: 15079
    functionName: roaring::internal::minimum_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minimum_uint32(uint32_t a, uint32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15110,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15110,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15113,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15113,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15116,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15116,1
    - Dst: roaring::internal::shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15119,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15119,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15121
        line_start: 15121
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15125
      start: 15107
    functionDepth: 0
    functionLinenumber: 15107
    functionLinenumberEnd: 15125
    functionName: roaring::internal::container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 26
    functionsReached:
    - CAST_array
    - CAST_shared
    - CAST_bitset
    - assert
    - roaring::internal::run_container_free
    - roaring::internal::array_container_free
    - roaring::internal::shared_container_free
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: void container_free(container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15128,1
    - Dst: roaring::internal::bitset_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15131,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15131,1
    - Dst: roaring::internal::array_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15134,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15134,1
    - Dst: roaring::internal::run_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15137,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15142
      start: 15127
    functionDepth: 0
    functionLinenumber: 15127
    functionLinenumberEnd: 15142
    functionName: roaring::internal::container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf
    - roaring::internal::array_container_printf
    - roaring::internal::bitset_container_printf
    linkageType: ''
    returnType: void
    signature: void container_printf(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15146,1
    - Dst: roaring::internal::bitset_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15149,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15149,1
    - Dst: roaring::internal::array_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15152,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15152,1
    - Dst: roaring::internal::run_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15155,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - c
    - typecode
    - base
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15160
      start: 15144
    functionDepth: 0
    functionLinenumber: 15144
    functionLinenumberEnd: 15160
    functionName: roaring::internal::container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::bitset_container_printf_as_uint32_array
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf_as_uint32_array
    - roaring::internal::array_container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: "void container_printf_as_uint32_array(const container_t *c, uint8_t
      typecode,\n                                      uint32_t base)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15172,1
    - Dst: croaring_refcount_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15173,1
    - Dst: roaring::internal::bitset_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15190,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15190,1
    - Dst: roaring::internal::array_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15193,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15193,1
    - Dst: roaring::internal::run_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15196,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - container
    - typecode
    - reason
    argTypes:
    - container_t*
    - uint8_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15201
      start: 15162
    functionDepth: 1
    functionLinenumber: 15162
    functionLinenumberEnd: 15201
    functionName: roaring::internal::container_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - croaring_refcount_get
    - const_CAST_run
    - roaring::internal::run_container_validate
    - const_CAST_shared
    - roaring::internal::array_container_validate
    - roaring::internal::bitset_container_validate
    linkageType: ''
    returnType: bool
    signature: "bool container_internal_validate(const container_t *container, uint8_t
      typecode,\n                                 const char **reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15234,1
    - Dst: croaring_refcount_inc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15235,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15238,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15240,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15257,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15258,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - c
    - typecode
    - copy_on_write
    argTypes:
    - container_t*
    - uint8_t*
    - bool
    assertStmts:
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15237
        line_start: 15237
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15257
        line_start: 15257
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15260
      start: 15229
    functionDepth: 1
    functionLinenumber: 15229
    functionLinenumberEnd: 15260
    functionName: roaring::internal::get_copy_of_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::container_unwrap_shared
    - CAST_shared
    - assert
    - roaring_malloc
    - croaring_refcount_inc
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_copy_of_container(container_t *c, uint8_t *typecode,\n
      \                                  bool copy_on_write)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15271,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15271,1
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15273,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15273,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15275,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15275,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15280
        line_start: 15280
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15285
      start: 15266
    functionDepth: 1
    functionLinenumber: 15266
    functionLinenumberEnd: 15285
    functionName: roaring::internal::container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 29
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::run_container_clone
    - const_CAST_run
    - assert
    - roaring::internal::array_container_clone
    - roaring::internal::bitset_container_clone
    linkageType: ''
    returnType: container_t
    signature: container_t *container_clone(const container_t *c, uint8_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15289,1
    - Dst: croaring_refcount_dec
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15292,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15295,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15297,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - sc
    - typecode
    argTypes:
    - shared_container_t*
    - uint8_t*
    assertStmts:
    - condition: (sc->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15288
        line_start: 15288
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15298
        line_start: 15298
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15301
      start: 15287
    functionDepth: 1
    functionLinenumber: 15287
    functionLinenumberEnd: 15301
    functionName: roaring::internal::shared_container_extract_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - assert
    - roaring_free
    - roaring::internal::container_clone
    - croaring_refcount_dec
    linkageType: ''
    returnType: container_t
    signature: "container_t *shared_container_extract_copy(shared_container_t *sc,\n
      \                                          uint8_t *typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_refcount_dec
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15304,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15305,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15306,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - shared_container_t*
    assertStmts:
    - condition: (container->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15304
        line_start: 15304
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15310
      start: 15303
    functionDepth: 1
    functionLinenumber: 15303
    functionLinenumberEnd: 15310
    functionName: roaring::internal::shared_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::container_free
    - assert
    - roaring_free
    - croaring_refcount_dec
    linkageType: ''
    returnType: void
    signature: void shared_container_free(shared_container_t *container)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15356,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15363,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15370,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15377,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - c
    - typecode
    - value
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15383
        line_start: 15383
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15388
      start: 15351
    functionDepth: 1
    functionLinenumber: 15351
    functionLinenumberEnd: 15388
    functionName: roaring::internal::container_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: roaring_container_iterator_t
    signature: "roaring_container_iterator_t container_init_iterator(const container_t
      *c,\n                                                     uint8_t typecode,\n
      \                                                    uint16_t *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15395,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15403,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15410,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15418,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - c
    - typecode
    - value
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15426
        line_start: 15426
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15431
      start: 15390
    functionDepth: 1
    functionLinenumber: 15390
    functionLinenumberEnd: 15431
    functionName: roaring::internal::container_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring_leading_zeroes
    - const_CAST_bitset
    - const_CAST_run
    - assert
    linkageType: ''
    returnType: roaring_container_iterator_t
    signature: "roaring_container_iterator_t container_init_iterator_last(const container_t
      *c,\n                                                          uint8_t typecode,\n
      \                                                         uint16_t *value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15438,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15455,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15462,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15475,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 4
    argNames:
    - c
    - typecode
    - it
    - value
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15490
        line_start: 15490
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15495
      start: 15433
    functionDepth: 1
    functionLinenumber: 15433
    functionLinenumberEnd: 15495
    functionName: roaring::internal::container_iterator_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_next(const container_t *c, uint8_t typecode,\n
      \                            roaring_container_iterator_t *it,\n                             uint16_t
      *value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15506,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15518,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15526,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15535,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15549,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - c
    - typecode
    - it
    - value
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15548
        line_start: 15548
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15553
      start: 15497
    functionDepth: 1
    functionLinenumber: 15497
    functionLinenumberEnd: 15553
    functionName: roaring::internal::container_iterator_prev
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring_leading_zeroes
    - const_CAST_bitset
    - const_CAST_run
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_prev(const container_t *c, uint8_t typecode,\n
      \                            roaring_container_iterator_t *it,\n                             uint16_t
      *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15558,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15563,1
    - Dst: roaring::internal::bitset_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15564,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15569,1
    - Dst: roaring::internal::array_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15570,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15575,1
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15576,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 5
    argNames:
    - c
    - typecode
    - it
    - value_out
    - val
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15584
        line_start: 15584
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15589
      start: 15555
    functionDepth: 0
    functionLinenumber: 15555
    functionLinenumberEnd: 15589
    functionName: roaring::internal::container_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_index_equalorlarger
    - const_CAST_bitset
    - roaring::internal::array_container_index_equalorlarger
    - const_CAST_run
    - assert
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::container_maximum
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_lower_bound(const container_t *c, uint8_t
      typecode,\n                                    roaring_container_iterator_t
      *it,\n                                    uint16_t *value_out, uint16_t val)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15602,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15610,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15624,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15631,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15633,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15646,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15650,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 8
    argNames:
    - c
    - typecode
    - it
    - high16
    - buf
    - count
    - consumed
    - value_out
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint32_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15673
        line_start: 15673
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15678
      start: 15591
    functionDepth: 1
    functionLinenumber: 15591
    functionLinenumberEnd: 15678
    functionName: roaring::internal::container_iterator_read_into_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::minimum_uint32
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_read_into_uint32(const container_t *c, uint8_t
      typecode,\n                                         roaring_container_iterator_t
      *it,\n                                         uint32_t high16, uint32_t *buf,\n
      \                                        uint32_t count, uint32_t *consumed,\n
      \                                        uint16_t *value_out)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15691,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15699,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15713,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15720,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15722,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15735,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15739,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15763,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 8
    argNames:
    - c
    - typecode
    - it
    - high48
    - buf
    - count
    - consumed
    - value_out
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint64_t
    - uint64_t*
    - uint32_t
    - uint32_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15762
        line_start: 15762
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15767
      start: 15680
    functionDepth: 1
    functionLinenumber: 15680
    functionLinenumberEnd: 15767
    functionName: roaring::internal::container_iterator_read_into_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::minimum_uint32
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_read_into_uint64(const container_t *c, uint8_t
      typecode,\n                                         roaring_container_iterator_t
      *it,\n                                         uint64_t high48, uint64_t *buf,\n
      \                                        uint32_t count, uint32_t *consumed,\n
      \                                        uint16_t *value_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15079
      start: 15077
    functionDepth: 0
    functionLinenumber: 15077
    functionLinenumberEnd: 15079
    functionName: roaring::internal::minimum_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t minimum_uint32(uint32_t a, uint32_t b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15110,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15110,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15113,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15113,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15116,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15116,1
    - Dst: roaring::internal::shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15119,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15119,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15121
        line_start: 15121
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15125
      start: 15107
    functionDepth: 0
    functionLinenumber: 15107
    functionLinenumberEnd: 15125
    functionName: roaring::internal::container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 27
    functionsReached:
    - CAST_array
    - CAST_shared
    - CAST_bitset
    - assert
    - roaring::internal::run_container_free
    - roaring::internal::array_container_free
    - roaring::internal::shared_container_free
    - CAST_run
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: void
    signature: void container_free(container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15128,1
    - Dst: roaring::internal::bitset_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15131,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15131,1
    - Dst: roaring::internal::array_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15134,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15134,1
    - Dst: roaring::internal::run_container_printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15137,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - type
    argTypes:
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15142
      start: 15127
    functionDepth: 0
    functionLinenumber: 15127
    functionLinenumberEnd: 15142
    functionName: roaring::internal::container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf
    - roaring::internal::array_container_printf
    - roaring::internal::bitset_container_printf
    linkageType: ''
    returnType: void
    signature: void container_printf(const container_t *c, uint8_t type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15146,1
    - Dst: roaring::internal::bitset_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15149,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15149,1
    - Dst: roaring::internal::array_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15152,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15152,1
    - Dst: roaring::internal::run_container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15155,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - c
    - typecode
    - base
    argTypes:
    - container_t*
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15160
      start: 15144
    functionDepth: 0
    functionLinenumber: 15144
    functionLinenumberEnd: 15160
    functionName: roaring::internal::container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::bitset_container_printf_as_uint32_array
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring::internal::run_container_printf_as_uint32_array
    - roaring::internal::array_container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: "void container_printf_as_uint32_array(const container_t *c, uint8_t
      typecode,\n                                      uint32_t base)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15172,1
    - Dst: croaring_refcount_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15173,1
    - Dst: roaring::internal::bitset_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15190,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15190,1
    - Dst: roaring::internal::array_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15193,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15193,1
    - Dst: roaring::internal::run_container_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15196,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - container
    - typecode
    - reason
    argTypes:
    - container_t*
    - uint8_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15201
      start: 15162
    functionDepth: 1
    functionLinenumber: 15162
    functionLinenumberEnd: 15201
    functionName: roaring::internal::container_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - croaring_refcount_get
    - const_CAST_run
    - roaring::internal::run_container_validate
    - const_CAST_shared
    - roaring::internal::array_container_validate
    - roaring::internal::bitset_container_validate
    linkageType: ''
    returnType: bool
    signature: "bool container_internal_validate(const container_t *container, uint8_t
      typecode,\n                                 const char **reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15234,1
    - Dst: croaring_refcount_inc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15235,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15238,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15240,1
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15257,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15258,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - c
    - typecode
    - copy_on_write
    argTypes:
    - container_t*
    - uint8_t*
    - bool
    assertStmts:
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15237
        line_start: 15237
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15257
        line_start: 15257
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15260
      start: 15229
    functionDepth: 1
    functionLinenumber: 15229
    functionLinenumberEnd: 15260
    functionName: roaring::internal::get_copy_of_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::container_unwrap_shared
    - CAST_shared
    - assert
    - roaring_malloc
    - croaring_refcount_inc
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_copy_of_container(container_t *c, uint8_t *typecode,\n
      \                                  bool copy_on_write)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15271,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15271,1
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15273,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15273,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15275,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15275,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15280
        line_start: 15280
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15285
      start: 15266
    functionDepth: 1
    functionLinenumber: 15266
    functionLinenumberEnd: 15285
    functionName: roaring::internal::container_clone
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 31
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - roaring::internal::run_container_clone
    - const_CAST_run
    - assert
    - roaring::internal::array_container_clone
    - roaring::internal::bitset_container_clone
    linkageType: ''
    returnType: container_t
    signature: container_t *container_clone(const container_t *c, uint8_t typecode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15289,1
    - Dst: croaring_refcount_dec
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15292,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15295,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15297,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - sc
    - typecode
    argTypes:
    - shared_container_t*
    - uint8_t*
    assertStmts:
    - condition: (sc->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15288
        line_start: 15288
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (*typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15298
        line_start: 15298
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15301
      start: 15287
    functionDepth: 1
    functionLinenumber: 15287
    functionLinenumberEnd: 15301
    functionName: roaring::internal::shared_container_extract_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - assert
    - roaring_free
    - roaring::internal::container_clone
    - croaring_refcount_dec
    linkageType: ''
    returnType: container_t
    signature: "container_t *shared_container_extract_copy(shared_container_t *sc,\n
      \                                          uint8_t *typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_refcount_dec
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15304,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15305,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15306,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - container
    argTypes:
    - shared_container_t*
    assertStmts:
    - condition: (container->typecode != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 15304
        line_start: 15304
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15310
      start: 15303
    functionDepth: 1
    functionLinenumber: 15303
    functionLinenumberEnd: 15310
    functionName: roaring::internal::shared_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::container_free
    - assert
    - roaring_free
    - croaring_refcount_dec
    linkageType: ''
    returnType: void
    signature: void shared_container_free(shared_container_t *container)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15356,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15363,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15370,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15377,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - c
    - typecode
    - value
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15383
        line_start: 15383
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15388
      start: 15351
    functionDepth: 1
    functionLinenumber: 15351
    functionLinenumberEnd: 15388
    functionName: roaring::internal::container_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: roaring_container_iterator_t
    signature: "roaring_container_iterator_t container_init_iterator(const container_t
      *c,\n                                                     uint8_t typecode,\n
      \                                                    uint16_t *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15395,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15403,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15410,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15418,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - c
    - typecode
    - value
    argTypes:
    - container_t*
    - uint8_t
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15426
        line_start: 15426
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15431
      start: 15390
    functionDepth: 1
    functionLinenumber: 15390
    functionLinenumberEnd: 15431
    functionName: roaring::internal::container_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring_leading_zeroes
    - const_CAST_bitset
    - const_CAST_run
    - assert
    linkageType: ''
    returnType: roaring_container_iterator_t
    signature: "roaring_container_iterator_t container_init_iterator_last(const container_t
      *c,\n                                                          uint8_t typecode,\n
      \                                                         uint16_t *value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15438,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15455,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15462,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15475,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 4
    argNames:
    - c
    - typecode
    - it
    - value
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15490
        line_start: 15490
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15495
      start: 15433
    functionDepth: 1
    functionLinenumber: 15433
    functionLinenumberEnd: 15495
    functionName: roaring::internal::container_iterator_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_next(const container_t *c, uint8_t typecode,\n
      \                            roaring_container_iterator_t *it,\n                             uint16_t
      *value)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15506,1
    - Dst: roaring_leading_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15518,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15526,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15535,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15549,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - c
    - typecode
    - it
    - value
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15548
        line_start: 15548
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15553
      start: 15497
    functionDepth: 1
    functionLinenumber: 15497
    functionLinenumberEnd: 15553
    functionName: roaring::internal::container_iterator_prev
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring_leading_zeroes
    - const_CAST_bitset
    - const_CAST_run
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_prev(const container_t *c, uint8_t typecode,\n
      \                            roaring_container_iterator_t *it,\n                             uint16_t
      *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15558,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15563,1
    - Dst: roaring::internal::bitset_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15564,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15569,1
    - Dst: roaring::internal::array_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15570,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15575,1
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15576,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 5
    argNames:
    - c
    - typecode
    - it
    - value_out
    - val
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint16_t*
    - uint16_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15584
        line_start: 15584
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15589
      start: 15555
    functionDepth: 0
    functionLinenumber: 15555
    functionLinenumberEnd: 15589
    functionName: roaring::internal::container_iterator_lower_bound
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::bitset_container_index_equalorlarger
    - const_CAST_bitset
    - roaring::internal::array_container_index_equalorlarger
    - const_CAST_run
    - assert
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::container_maximum
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_lower_bound(const container_t *c, uint8_t
      typecode,\n                                    roaring_container_iterator_t
      *it,\n                                    uint16_t *value_out, uint16_t val)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15602,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15610,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15624,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15631,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15633,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15646,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15650,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 8
    argNames:
    - c
    - typecode
    - it
    - high16
    - buf
    - count
    - consumed
    - value_out
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint32_t
    - uint32_t*
    - uint32_t
    - uint32_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15673
        line_start: 15673
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15678
      start: 15591
    functionDepth: 1
    functionLinenumber: 15591
    functionLinenumberEnd: 15678
    functionName: roaring::internal::container_iterator_read_into_uint32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::minimum_uint32
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_read_into_uint32(const container_t *c, uint8_t
      typecode,\n                                         roaring_container_iterator_t
      *it,\n                                         uint32_t high16, uint32_t *buf,\n
      \                                        uint32_t count, uint32_t *consumed,\n
      \                                        uint16_t *value_out)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15691,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15699,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15713,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15720,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15722,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15735,1
    - Dst: roaring::internal::minimum_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15739,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15763,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 8
    argNames:
    - c
    - typecode
    - it
    - high48
    - buf
    - count
    - consumed
    - value_out
    argTypes:
    - container_t*
    - uint8_t
    - roaring_container_iterator_t*
    - uint64_t
    - uint64_t*
    - uint32_t
    - uint32_t*
    - uint16_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 15762
        line_start: 15762
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15767
      start: 15680
    functionDepth: 1
    functionLinenumber: 15680
    functionLinenumberEnd: 15767
    functionName: roaring::internal::container_iterator_read_into_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::minimum_uint32
    - const_CAST_bitset
    - const_CAST_run
    - roaring_trailing_zeroes
    - assert
    linkageType: ''
    returnType: bool
    signature: "bool container_iterator_read_into_uint64(const container_t *c, uint8_t
      typecode,\n                                         roaring_container_iterator_t
      *it,\n                                         uint64_t high48, uint64_t *buf,\n
      \                                        uint32_t count, uint32_t *consumed,\n
      \                                        uint16_t *value_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15796,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15797,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15800
      start: 15795
    functionDepth: 0
    functionLinenumber: 15795
    functionLinenumberEnd: 15800
    functionName: roaring::internal::bitset_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 36
    functionsReached:
    - roaring::internal::bitset_container_set
    - roaring::internal::array_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_array(const array_container_t
      *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15803,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15804,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15811
      start: 15802
    functionDepth: 0
    functionLinenumber: 15802
    functionLinenumberEnd: 15811
    functionName: roaring::internal::bitset_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_run(const run_container_t
      *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15815,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15826
      start: 15813
    functionDepth: 0
    functionLinenumber: 15813
    functionLinenumberEnd: 15826
    functionName: roaring::internal::array_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_run(const run_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15830,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15834,1
    - Dst: bitset_extract_setbits_avx512_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15835,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15844,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bits
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15854
      start: 15828
    functionDepth: 2
    functionLinenumber: 15828
    functionLinenumberEnd: 15854
    functionName: roaring::internal::array_container_from_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 96
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - bitset_extract_setbits_avx512_uint16
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_bitset(const bitset_container_t
      *bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - s
    - e
    argTypes:
    - run_container_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15861
      start: 15857
    functionDepth: 0
    functionLinenumber: 15857
    functionLinenumberEnd: 15861
    functionName: roaring::internal::add_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_run(run_container_t *rc, int s, int e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15864,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15865,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15874,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15883
      start: 15863
    functionDepth: 0
    functionLinenumber: 15863
    functionLinenumberEnd: 15883
    functionName: roaring::internal::run_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::add_run
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_from_array(const array_container_t *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15895,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15906,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15911,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - rc
    - card
    - resulttype
    argTypes:
    - run_container_t*
    - int32_t
    - uint8_t*
    assertStmts:
    - condition: (card == answer->cardinality)
      pos:
        line_end: 15905
        line_start: 15905
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15920
      start: 15891
    functionDepth: 0
    functionLinenumber: 15891
    functionLinenumberEnd: 15920
    functionName: roaring::internal::convert_to_bitset_or_array_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_to_bitset_or_array_container(run_container_t
      *rc,\n                                                  int32_t card,\n                                                  uint8_t
      *resulttype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15930,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15933,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15934,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15936,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15948,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15963,1
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15973
      start: 15927
    functionDepth: 0
    functionLinenumber: 15927
    functionLinenumberEnd: 15973
    functionName: roaring::internal::convert_run_to_efficient_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 44
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    - roaring::internal::array_container_serialized_size_in_bytes
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container(run_container_t *c,\n
      \                                               uint8_t *typecode_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15978,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15981
      start: 15976
    functionDepth: 0
    functionLinenumber: 15976
    functionLinenumberEnd: 15981
    functionName: roaring::internal::convert_run_to_efficient_container_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 60
    functionsReached:
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container_and_free(\n    run_container_t
      *c, uint8_t *typecode_after)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15994,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15994,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15996,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16001,1
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16002,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16004,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16005,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16007,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16014,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16018,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16023,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16028,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16030,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16032,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16037,1
    - Dst: roaring::internal::bitset_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16038,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16040,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16042,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16051,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16052,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16057,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16061,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16062,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16067,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16072,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16076,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16078,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16079,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16083,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16085,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16090,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 3
    argNames:
    - c
    - typecode_original
    - typecode_after
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (card > 0)
      pos:
        line_end: 16017
        line_start: 16017
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (n_runs > 0)
      pos:
        line_end: 16050
        line_start: 16050
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 16089
        line_start: 16089
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (run_start >= 0)
      pos:
        line_end: 16027
        line_start: 16027
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 16094
      start: 15990
    functionDepth: 1
    functionLinenumber: 15990
    functionLinenumberEnd: 16094
    functionName: roaring::internal::convert_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_serialized_size_in_bytes
    - CAST_array
    - roaring::internal::bitset_container_number_of_runs
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::array_container_serialized_size_in_bytes
    - assert
    - CAST_bitset
    - UINT64_C
    - roaring_trailing_zeroes
    - roaring::internal::add_run
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_free
    - roaring::internal::container_free
    - CAST_run
    - roaring::internal::run_container_create_given_capacity
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_optimize(container_t *c, uint8_t typecode_original,\n
      \                                 uint8_t *typecode_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16099,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16105,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16110,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16111,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16115,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - run
    - min
    - max
    - typecode_after
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16121
      start: 16096
    functionDepth: 0
    functionLinenumber: 16096
    functionLinenumberEnd: 16121
    functionName: roaring::internal::container_from_run_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_run_range(const run_container_t *run,
      uint32_t min,\n                                      uint32_t max, uint8_t *typecode_after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15796,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15797,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15800
      start: 15795
    functionDepth: 0
    functionLinenumber: 15795
    functionLinenumberEnd: 15800
    functionName: roaring::internal::bitset_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 36
    functionsReached:
    - roaring::internal::bitset_container_set
    - roaring::internal::array_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_array(const array_container_t
      *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15803,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15804,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15811
      start: 15802
    functionDepth: 0
    functionLinenumber: 15802
    functionLinenumberEnd: 15811
    functionName: roaring::internal::bitset_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_run(const run_container_t
      *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15815,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15826
      start: 15813
    functionDepth: 0
    functionLinenumber: 15813
    functionLinenumberEnd: 15826
    functionName: roaring::internal::array_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_run(const run_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15830,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15834,1
    - Dst: bitset_extract_setbits_avx512_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15835,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15844,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bits
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15854
      start: 15828
    functionDepth: 2
    functionLinenumber: 15828
    functionLinenumberEnd: 15854
    functionName: roaring::internal::array_container_from_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 97
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - bitset_extract_setbits_avx512_uint16
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_bitset(const bitset_container_t
      *bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - s
    - e
    argTypes:
    - run_container_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15861
      start: 15857
    functionDepth: 0
    functionLinenumber: 15857
    functionLinenumberEnd: 15861
    functionName: roaring::internal::add_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_run(run_container_t *rc, int s, int e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15864,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15865,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15874,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15883
      start: 15863
    functionDepth: 0
    functionLinenumber: 15863
    functionLinenumberEnd: 15883
    functionName: roaring::internal::run_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::add_run
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_from_array(const array_container_t *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15895,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15906,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15911,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - rc
    - card
    - resulttype
    argTypes:
    - run_container_t*
    - int32_t
    - uint8_t*
    assertStmts:
    - condition: (card == answer->cardinality)
      pos:
        line_end: 15905
        line_start: 15905
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15920
      start: 15891
    functionDepth: 0
    functionLinenumber: 15891
    functionLinenumberEnd: 15920
    functionName: roaring::internal::convert_to_bitset_or_array_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_to_bitset_or_array_container(run_container_t
      *rc,\n                                                  int32_t card,\n                                                  uint8_t
      *resulttype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15930,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15933,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15934,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15936,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15948,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15963,1
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15973
      start: 15927
    functionDepth: 0
    functionLinenumber: 15927
    functionLinenumberEnd: 15973
    functionName: roaring::internal::convert_run_to_efficient_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 46
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    - roaring::internal::array_container_serialized_size_in_bytes
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container(run_container_t *c,\n
      \                                               uint8_t *typecode_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15978,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15981
      start: 15976
    functionDepth: 0
    functionLinenumber: 15976
    functionLinenumberEnd: 15981
    functionName: roaring::internal::convert_run_to_efficient_container_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 60
    functionsReached:
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container_and_free(\n    run_container_t
      *c, uint8_t *typecode_after)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15994,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15994,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15996,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16001,1
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16002,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16004,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16005,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16007,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16014,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16018,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16023,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16028,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16030,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16032,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16037,1
    - Dst: roaring::internal::bitset_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16038,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16040,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16042,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16051,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16052,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16057,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16061,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16062,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16067,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16072,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16076,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16078,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16079,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16083,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16085,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16090,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 3
    argNames:
    - c
    - typecode_original
    - typecode_after
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (card > 0)
      pos:
        line_end: 16017
        line_start: 16017
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (n_runs > 0)
      pos:
        line_end: 16050
        line_start: 16050
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 16089
        line_start: 16089
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (run_start >= 0)
      pos:
        line_end: 16027
        line_start: 16027
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 16094
      start: 15990
    functionDepth: 1
    functionLinenumber: 15990
    functionLinenumberEnd: 16094
    functionName: roaring::internal::convert_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_serialized_size_in_bytes
    - CAST_array
    - roaring::internal::bitset_container_number_of_runs
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::array_container_serialized_size_in_bytes
    - assert
    - CAST_bitset
    - UINT64_C
    - roaring_trailing_zeroes
    - roaring::internal::add_run
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_free
    - roaring::internal::container_free
    - CAST_run
    - roaring::internal::run_container_create_given_capacity
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_optimize(container_t *c, uint8_t typecode_original,\n
      \                                 uint8_t *typecode_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16099,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16105,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16110,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16111,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16115,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - run
    - min
    - max
    - typecode_after
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16121
      start: 16096
    functionDepth: 0
    functionLinenumber: 16096
    functionLinenumberEnd: 16121
    functionName: roaring::internal::container_from_run_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_run_range(const run_container_t *run,
      uint32_t min,\n                                      uint32_t max, uint8_t *typecode_after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15796,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15797,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15800
      start: 15795
    functionDepth: 0
    functionLinenumber: 15795
    functionLinenumberEnd: 15800
    functionName: roaring::internal::bitset_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 36
    functionsReached:
    - roaring::internal::bitset_container_set
    - roaring::internal::array_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_array(const array_container_t
      *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15803,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15804,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15811
      start: 15802
    functionDepth: 0
    functionLinenumber: 15802
    functionLinenumberEnd: 15811
    functionName: roaring::internal::bitset_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_run(const run_container_t
      *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15815,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15826
      start: 15813
    functionDepth: 0
    functionLinenumber: 15813
    functionLinenumberEnd: 15826
    functionName: roaring::internal::array_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_run(const run_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15830,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15834,1
    - Dst: bitset_extract_setbits_avx512_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15835,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15844,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bits
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15854
      start: 15828
    functionDepth: 2
    functionLinenumber: 15828
    functionLinenumberEnd: 15854
    functionName: roaring::internal::array_container_from_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 98
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - bitset_extract_setbits_avx512_uint16
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_bitset(const bitset_container_t
      *bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - s
    - e
    argTypes:
    - run_container_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15861
      start: 15857
    functionDepth: 0
    functionLinenumber: 15857
    functionLinenumberEnd: 15861
    functionName: roaring::internal::add_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_run(run_container_t *rc, int s, int e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15864,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15865,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15874,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15883
      start: 15863
    functionDepth: 0
    functionLinenumber: 15863
    functionLinenumberEnd: 15883
    functionName: roaring::internal::run_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::add_run
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_from_array(const array_container_t *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15895,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15906,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15911,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - rc
    - card
    - resulttype
    argTypes:
    - run_container_t*
    - int32_t
    - uint8_t*
    assertStmts:
    - condition: (card == answer->cardinality)
      pos:
        line_end: 15905
        line_start: 15905
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15920
      start: 15891
    functionDepth: 0
    functionLinenumber: 15891
    functionLinenumberEnd: 15920
    functionName: roaring::internal::convert_to_bitset_or_array_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_to_bitset_or_array_container(run_container_t
      *rc,\n                                                  int32_t card,\n                                                  uint8_t
      *resulttype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15930,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15933,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15934,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15936,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15948,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15963,1
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15973
      start: 15927
    functionDepth: 0
    functionLinenumber: 15927
    functionLinenumberEnd: 15973
    functionName: roaring::internal::convert_run_to_efficient_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 48
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    - roaring::internal::array_container_serialized_size_in_bytes
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container(run_container_t *c,\n
      \                                               uint8_t *typecode_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15978,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15981
      start: 15976
    functionDepth: 0
    functionLinenumber: 15976
    functionLinenumberEnd: 15981
    functionName: roaring::internal::convert_run_to_efficient_container_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 60
    functionsReached:
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container_and_free(\n    run_container_t
      *c, uint8_t *typecode_after)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15994,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15994,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15996,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16001,1
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16002,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16004,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16005,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16007,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16014,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16018,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16023,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16028,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16030,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16032,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16037,1
    - Dst: roaring::internal::bitset_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16038,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16040,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16042,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16051,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16052,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16057,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16061,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16062,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16067,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16072,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16076,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16078,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16079,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16083,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16085,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16090,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 3
    argNames:
    - c
    - typecode_original
    - typecode_after
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (card > 0)
      pos:
        line_end: 16017
        line_start: 16017
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (n_runs > 0)
      pos:
        line_end: 16050
        line_start: 16050
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 16089
        line_start: 16089
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (run_start >= 0)
      pos:
        line_end: 16027
        line_start: 16027
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 16094
      start: 15990
    functionDepth: 1
    functionLinenumber: 15990
    functionLinenumberEnd: 16094
    functionName: roaring::internal::convert_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_serialized_size_in_bytes
    - CAST_array
    - roaring::internal::bitset_container_number_of_runs
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::array_container_serialized_size_in_bytes
    - assert
    - CAST_bitset
    - UINT64_C
    - roaring_trailing_zeroes
    - roaring::internal::add_run
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_free
    - roaring::internal::container_free
    - CAST_run
    - roaring::internal::run_container_create_given_capacity
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_optimize(container_t *c, uint8_t typecode_original,\n
      \                                 uint8_t *typecode_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16099,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16105,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16110,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16111,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16115,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - run
    - min
    - max
    - typecode_after
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16121
      start: 16096
    functionDepth: 0
    functionLinenumber: 16096
    functionLinenumberEnd: 16121
    functionName: roaring::internal::container_from_run_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_run_range(const run_container_t *run,
      uint32_t min,\n                                      uint32_t max, uint8_t *typecode_after)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15796,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15797,1
    - Dst: roaring::internal::bitset_container_set
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ac
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15800
      start: 15795
    functionDepth: 0
    functionLinenumber: 15795
    functionLinenumberEnd: 15800
    functionName: roaring::internal::bitset_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 36
    functionsReached:
    - roaring::internal::bitset_container_set
    - roaring::internal::array_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_array(const array_container_t
      *ac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15803,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15804,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15811
      start: 15802
    functionDepth: 0
    functionLinenumber: 15802
    functionLinenumberEnd: 15811
    functionName: roaring::internal::bitset_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bitset_container_t
    signature: bitset_container_t *bitset_container_from_run(const run_container_t
      *arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15815,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arr
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15826
      start: 15813
    functionDepth: 0
    functionLinenumber: 15813
    functionLinenumberEnd: 15826
    functionName: roaring::internal::array_container_from_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_run(const run_container_t *arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15830,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15834,1
    - Dst: bitset_extract_setbits_avx512_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15835,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15844,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bits
    argTypes:
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15854
      start: 15828
    functionDepth: 2
    functionLinenumber: 15828
    functionLinenumberEnd: 15854
    functionName: roaring::internal::array_container_from_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 99
    functionsReached:
    - roaring::internal::croaring_hardware_support
    - bitset_extract_setbits_avx512_uint16
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    linkageType: ''
    returnType: array_container_t
    signature: array_container_t *array_container_from_bitset(const bitset_container_t
      *bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - s
    - e
    argTypes:
    - run_container_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15861
      start: 15857
    functionDepth: 0
    functionLinenumber: 15857
    functionLinenumberEnd: 15861
    functionName: roaring::internal::add_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_run(run_container_t *rc, int s, int e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15864,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15865,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15874,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15883
      start: 15863
    functionDepth: 0
    functionLinenumber: 15863
    functionLinenumberEnd: 15883
    functionName: roaring::internal::run_container_from_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::add_run
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_from_array(const array_container_t *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15895,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15906,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15911,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - rc
    - card
    - resulttype
    argTypes:
    - run_container_t*
    - int32_t
    - uint8_t*
    assertStmts:
    - condition: (card == answer->cardinality)
      pos:
        line_end: 15905
        line_start: 15905
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 15920
      start: 15891
    functionDepth: 0
    functionLinenumber: 15891
    functionLinenumberEnd: 15920
    functionName: roaring::internal::convert_to_bitset_or_array_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_to_bitset_or_array_container(run_container_t
      *rc,\n                                                  int32_t card,\n                                                  uint8_t
      *resulttype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15930,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15933,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15934,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15936,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15948,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15963,1
    - Dst: roaring::internal::bitset_set_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15973
      start: 15927
    functionDepth: 0
    functionLinenumber: 15927
    functionLinenumberEnd: 15973
    functionName: roaring::internal::convert_run_to_efficient_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 50
    functionsReached:
    - roaring::internal::run_container_serialized_size_in_bytes
    - roaring::internal::array_container_serialized_size_in_bytes
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_set_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container(run_container_t *c,\n
      \                                               uint8_t *typecode_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15978,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c
    - typecode_after
    argTypes:
    - run_container_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15981
      start: 15976
    functionDepth: 0
    functionLinenumber: 15976
    functionLinenumberEnd: 15981
    functionName: roaring::internal::convert_run_to_efficient_container_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 60
    functionsReached:
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_to_efficient_container_and_free(\n    run_container_t
      *c, uint8_t *typecode_after)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15994,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15994,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:15996,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16001,1
    - Dst: roaring::internal::array_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16002,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16004,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16005,1
    - Dst: roaring::internal::array_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16007,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16014,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16018,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16023,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16028,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16030,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16032,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16037,1
    - Dst: roaring::internal::bitset_container_number_of_runs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16038,1
    - Dst: roaring::internal::run_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16040,1
    - Dst: roaring::internal::bitset_container_serialized_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16042,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16051,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16052,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16057,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16061,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16062,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16067,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16072,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16076,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16078,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16079,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16083,1
    - Dst: roaring::internal::add_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16085,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16090,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 3
    argNames:
    - c
    - typecode_original
    - typecode_after
    argTypes:
    - container_t*
    - uint8_t
    - uint8_t*
    assertStmts:
    - condition: (card > 0)
      pos:
        line_end: 16017
        line_start: 16017
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (n_runs > 0)
      pos:
        line_end: 16050
        line_start: 16050
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (false)
      pos:
        line_end: 16089
        line_start: 16089
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (run_start >= 0)
      pos:
        line_end: 16027
        line_start: 16027
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 16094
      start: 15990
    functionDepth: 1
    functionLinenumber: 15990
    functionLinenumberEnd: 16094
    functionName: roaring::internal::convert_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::array_container_number_of_runs
    - roaring::internal::run_container_serialized_size_in_bytes
    - CAST_array
    - roaring::internal::bitset_container_number_of_runs
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::array_container_serialized_size_in_bytes
    - assert
    - CAST_bitset
    - UINT64_C
    - roaring_trailing_zeroes
    - roaring::internal::add_run
    - roaring::internal::bitset_container_serialized_size_in_bytes
    - roaring::internal::array_container_free
    - roaring::internal::container_free
    - CAST_run
    - roaring::internal::run_container_create_given_capacity
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *convert_run_optimize(container_t *c, uint8_t typecode_original,\n
      \                                 uint8_t *typecode_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16099,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16105,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16110,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16111,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16115,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - run
    - min
    - max
    - typecode_after
    argTypes:
    - run_container_t*
    - uint32_t
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16121
      start: 16096
    functionDepth: 0
    functionLinenumber: 16096
    functionLinenumberEnd: 16121
    functionName: roaring::internal::container_from_run_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_from_run_range(const run_container_t *run,
      uint32_t min,\n                                      uint32_t max, uint8_t *typecode_after)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16152,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16162
      start: 16147
    functionDepth: 0
    functionLinenumber: 16147
    functionLinenumberEnd: 16162
    functionName: roaring::internal::array_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_andnot(const array_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16170
      start: 16167
    functionDepth: 0
    functionLinenumber: 16167
    functionLinenumberEnd: 16170
    functionName: roaring::internal::array_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_bitset_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_iandnot(array_container_t *src_1,\n                                    const
      bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16181,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16182,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16184,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16189,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16195
      start: 16177
    functionDepth: 2
    functionLinenumber: 16177
    functionLinenumberEnd: 16195
    functionName: roaring::internal::bitset_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_andnot(const bitset_container_t *src_1,\n
      \                                  const array_container_t *src_2,\n                                   container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16209,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16213,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16218
      start: 16204
    functionDepth: 2
    functionLinenumber: 16204
    functionLinenumberEnd: 16218
    functionName: roaring::internal::bitset_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_iandnot(bitset_container_t *src_1,\n                                    const
      array_container_t *src_2,\n                                    container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16231,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16234,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16240,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16249,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16257,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16258,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16261,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16263,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16266,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16273
      start: 16227
    functionDepth: 1
    functionLinenumber: 16227
    functionLinenumberEnd: 16273
    functionName: roaring::internal::run_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::bitset_container_get
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_andnot(const run_container_t *src_1,\n                                 const
      bitset_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16286,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16289
      start: 16282
    functionDepth: 0
    functionLinenumber: 16282
    functionLinenumberEnd: 16289
    functionName: roaring::internal::run_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_iandnot(run_container_t *src_1,\n                                  const
      bitset_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16302,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16304,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16307,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16308,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16310,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16313,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16319
      start: 16298
    functionDepth: 0
    functionLinenumber: 16298
    functionLinenumberEnd: 16319
    functionName: roaring::internal::bitset_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_andnot(const bitset_container_t *src_1,\n
      \                                const run_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16335,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16336,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16338,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16341,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16346
      start: 16328
    functionDepth: 0
    functionLinenumber: 16328
    functionLinenumberEnd: 16346
    functionName: roaring::internal::bitset_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - UINT32_C
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_iandnot(bitset_container_t *src_1,\n                                  const
      run_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - rc
    - a_in
    - a_out
    argTypes:
    - run_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16394
      start: 16356
    functionDepth: 0
    functionLinenumber: 16356
    functionLinenumberEnd: 16394
    functionName: roaring::internal::run_array_array_subtract
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int run_array_array_subtract(const run_container_t *rc,\n                                    const
      array_container_t *a_in,\n                                    array_container_t
      *a_out)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16405,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16410,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16414,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16415,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16428,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16443,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16458,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16461,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16467,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16468,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16474,1
    - Dst: roaring::internal::run_array_array_subtract
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16477,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16481,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16482,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16484
      start: 16400
    functionDepth: 1
    functionLinenumber: 16400
    functionLinenumberEnd: 16484
    functionName: roaring::internal::run_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_array_container_iandnot
    - roaring::internal::bitset_container_from_run
    - roaring::internal::run_container_cardinality
    - CROARING_MAKE_RLE16
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    - roaring::internal::run_array_array_subtract
    linkageType: ''
    returnType: int
    signature: "int run_array_container_andnot(const run_container_t *src_1,\n                               const
      array_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16497,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16500
      start: 16493
    functionDepth: 0
    functionLinenumber: 16493
    functionLinenumberEnd: 16500
    functionName: roaring::internal::run_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_array_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_iandnot(run_container_t *src_1,\n                                const
      array_container_t *src_2,\n                                container_t **dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16509,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16544
      start: 16504
    functionDepth: 0
    functionLinenumber: 16504
    functionLinenumberEnd: 16544
    functionName: roaring::internal::array_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_run_container_andnot(const array_container_t *src_1,\n
      \                               const run_container_t *src_2,\n                                array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16553
      start: 16550
    functionDepth: 0
    functionLinenumber: 16550
    functionLinenumberEnd: 16553
    functionName: roaring::internal::array_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_run_container_iandnot(array_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16561,1
    - Dst: roaring::internal::run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16562,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16566
      start: 16559
    functionDepth: 0
    functionLinenumber: 16559
    functionLinenumberEnd: 16566
    functionName: roaring::internal::run_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::run_container_create
    - roaring::internal::run_container_andnot
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_andnot(const run_container_t *src_1,\n                             const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16578,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16581
      start: 16575
    functionDepth: 0
    functionLinenumber: 16575
    functionLinenumberEnd: 16581
    functionName: roaring::internal::run_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_run_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_iandnot(run_container_t *src_1,\n                              const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16591
      start: 16587
    functionDepth: 0
    functionLinenumber: 16587
    functionLinenumberEnd: 16591
    functionName: roaring::internal::array_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_andnot(const array_container_t *src_1,\n
      \                                 const array_container_t *src_2,\n                                  array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16598
      start: 16595
    functionDepth: 0
    functionLinenumber: 16595
    functionLinenumberEnd: 16598
    functionName: roaring::internal::array_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_iandnot(array_container_t *src_1,\n                                   const
      array_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16608,1
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16609,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16611,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16618
      start: 16605
    functionDepth: 0
    functionLinenumber: 16605
    functionLinenumberEnd: 16618
    functionName: roaring::internal::bitset_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_create
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_andnot(const bitset_container_t *src_1,\n
      \                                   const bitset_container_t *src_2,\n                                    container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16630,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16632,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16639
      start: 16627
    functionDepth: 0
    functionLinenumber: 16627
    functionLinenumberEnd: 16639
    functionName: roaring::internal::bitset_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_iandnot(bitset_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16152,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16162
      start: 16147
    functionDepth: 0
    functionLinenumber: 16147
    functionLinenumberEnd: 16162
    functionName: roaring::internal::array_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_andnot(const array_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16170
      start: 16167
    functionDepth: 0
    functionLinenumber: 16167
    functionLinenumberEnd: 16170
    functionName: roaring::internal::array_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_bitset_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_iandnot(array_container_t *src_1,\n                                    const
      bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16181,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16182,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16184,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16189,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16195
      start: 16177
    functionDepth: 2
    functionLinenumber: 16177
    functionLinenumberEnd: 16195
    functionName: roaring::internal::bitset_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_andnot(const bitset_container_t *src_1,\n
      \                                  const array_container_t *src_2,\n                                   container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16209,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16213,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16218
      start: 16204
    functionDepth: 2
    functionLinenumber: 16204
    functionLinenumberEnd: 16218
    functionName: roaring::internal::bitset_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_iandnot(bitset_container_t *src_1,\n                                    const
      array_container_t *src_2,\n                                    container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16231,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16234,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16240,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16249,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16257,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16258,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16261,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16263,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16266,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16273
      start: 16227
    functionDepth: 1
    functionLinenumber: 16227
    functionLinenumberEnd: 16273
    functionName: roaring::internal::run_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::bitset_container_get
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_andnot(const run_container_t *src_1,\n                                 const
      bitset_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16286,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16289
      start: 16282
    functionDepth: 0
    functionLinenumber: 16282
    functionLinenumberEnd: 16289
    functionName: roaring::internal::run_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_iandnot(run_container_t *src_1,\n                                  const
      bitset_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16302,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16304,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16307,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16308,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16310,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16313,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16319
      start: 16298
    functionDepth: 0
    functionLinenumber: 16298
    functionLinenumberEnd: 16319
    functionName: roaring::internal::bitset_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_andnot(const bitset_container_t *src_1,\n
      \                                const run_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16335,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16336,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16338,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16341,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16346
      start: 16328
    functionDepth: 0
    functionLinenumber: 16328
    functionLinenumberEnd: 16346
    functionName: roaring::internal::bitset_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - UINT32_C
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_iandnot(bitset_container_t *src_1,\n                                  const
      run_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - rc
    - a_in
    - a_out
    argTypes:
    - run_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16394
      start: 16356
    functionDepth: 0
    functionLinenumber: 16356
    functionLinenumberEnd: 16394
    functionName: roaring::internal::run_array_array_subtract
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int run_array_array_subtract(const run_container_t *rc,\n                                    const
      array_container_t *a_in,\n                                    array_container_t
      *a_out)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16405,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16410,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16414,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16415,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16428,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16443,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16458,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16461,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16467,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16468,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16474,1
    - Dst: roaring::internal::run_array_array_subtract
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16477,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16481,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16482,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16484
      start: 16400
    functionDepth: 1
    functionLinenumber: 16400
    functionLinenumberEnd: 16484
    functionName: roaring::internal::run_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_array_container_iandnot
    - roaring::internal::bitset_container_from_run
    - roaring::internal::run_container_cardinality
    - CROARING_MAKE_RLE16
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    - roaring::internal::run_array_array_subtract
    linkageType: ''
    returnType: int
    signature: "int run_array_container_andnot(const run_container_t *src_1,\n                               const
      array_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16497,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16500
      start: 16493
    functionDepth: 0
    functionLinenumber: 16493
    functionLinenumberEnd: 16500
    functionName: roaring::internal::run_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_array_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_iandnot(run_container_t *src_1,\n                                const
      array_container_t *src_2,\n                                container_t **dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16509,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16544
      start: 16504
    functionDepth: 0
    functionLinenumber: 16504
    functionLinenumberEnd: 16544
    functionName: roaring::internal::array_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_run_container_andnot(const array_container_t *src_1,\n
      \                               const run_container_t *src_2,\n                                array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16553
      start: 16550
    functionDepth: 0
    functionLinenumber: 16550
    functionLinenumberEnd: 16553
    functionName: roaring::internal::array_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_run_container_iandnot(array_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16561,1
    - Dst: roaring::internal::run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16562,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16566
      start: 16559
    functionDepth: 0
    functionLinenumber: 16559
    functionLinenumberEnd: 16566
    functionName: roaring::internal::run_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::run_container_create
    - roaring::internal::run_container_andnot
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_andnot(const run_container_t *src_1,\n                             const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16578,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16581
      start: 16575
    functionDepth: 0
    functionLinenumber: 16575
    functionLinenumberEnd: 16581
    functionName: roaring::internal::run_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_run_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_iandnot(run_container_t *src_1,\n                              const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16591
      start: 16587
    functionDepth: 0
    functionLinenumber: 16587
    functionLinenumberEnd: 16591
    functionName: roaring::internal::array_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_andnot(const array_container_t *src_1,\n
      \                                 const array_container_t *src_2,\n                                  array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16598
      start: 16595
    functionDepth: 0
    functionLinenumber: 16595
    functionLinenumberEnd: 16598
    functionName: roaring::internal::array_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_iandnot(array_container_t *src_1,\n                                   const
      array_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16608,1
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16609,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16611,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16618
      start: 16605
    functionDepth: 0
    functionLinenumber: 16605
    functionLinenumberEnd: 16618
    functionName: roaring::internal::bitset_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_create
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_andnot(const bitset_container_t *src_1,\n
      \                                   const bitset_container_t *src_2,\n                                    container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16630,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16632,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16639
      start: 16627
    functionDepth: 0
    functionLinenumber: 16627
    functionLinenumberEnd: 16639
    functionName: roaring::internal::bitset_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_iandnot(bitset_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16152,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16162
      start: 16147
    functionDepth: 0
    functionLinenumber: 16147
    functionLinenumberEnd: 16162
    functionName: roaring::internal::array_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_andnot(const array_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16170
      start: 16167
    functionDepth: 0
    functionLinenumber: 16167
    functionLinenumberEnd: 16170
    functionName: roaring::internal::array_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_bitset_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_iandnot(array_container_t *src_1,\n                                    const
      bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16181,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16182,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16184,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16189,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16195
      start: 16177
    functionDepth: 2
    functionLinenumber: 16177
    functionLinenumberEnd: 16195
    functionName: roaring::internal::bitset_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_andnot(const bitset_container_t *src_1,\n
      \                                  const array_container_t *src_2,\n                                   container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16209,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16213,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16218
      start: 16204
    functionDepth: 2
    functionLinenumber: 16204
    functionLinenumberEnd: 16218
    functionName: roaring::internal::bitset_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_iandnot(bitset_container_t *src_1,\n                                    const
      array_container_t *src_2,\n                                    container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16231,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16234,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16240,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16249,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16257,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16258,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16261,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16263,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16266,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16273
      start: 16227
    functionDepth: 1
    functionLinenumber: 16227
    functionLinenumberEnd: 16273
    functionName: roaring::internal::run_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::bitset_container_get
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_andnot(const run_container_t *src_1,\n                                 const
      bitset_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16286,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16289
      start: 16282
    functionDepth: 0
    functionLinenumber: 16282
    functionLinenumberEnd: 16289
    functionName: roaring::internal::run_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_iandnot(run_container_t *src_1,\n                                  const
      bitset_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16302,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16304,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16307,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16308,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16310,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16313,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16319
      start: 16298
    functionDepth: 0
    functionLinenumber: 16298
    functionLinenumberEnd: 16319
    functionName: roaring::internal::bitset_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_andnot(const bitset_container_t *src_1,\n
      \                                const run_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16335,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16336,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16338,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16341,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16346
      start: 16328
    functionDepth: 0
    functionLinenumber: 16328
    functionLinenumberEnd: 16346
    functionName: roaring::internal::bitset_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - UINT32_C
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_iandnot(bitset_container_t *src_1,\n                                  const
      run_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - rc
    - a_in
    - a_out
    argTypes:
    - run_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16394
      start: 16356
    functionDepth: 0
    functionLinenumber: 16356
    functionLinenumberEnd: 16394
    functionName: roaring::internal::run_array_array_subtract
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int run_array_array_subtract(const run_container_t *rc,\n                                    const
      array_container_t *a_in,\n                                    array_container_t
      *a_out)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16405,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16410,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16414,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16415,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16428,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16443,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16458,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16461,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16467,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16468,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16474,1
    - Dst: roaring::internal::run_array_array_subtract
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16477,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16481,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16482,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16484
      start: 16400
    functionDepth: 1
    functionLinenumber: 16400
    functionLinenumberEnd: 16484
    functionName: roaring::internal::run_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_array_container_iandnot
    - roaring::internal::bitset_container_from_run
    - roaring::internal::run_container_cardinality
    - CROARING_MAKE_RLE16
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    - roaring::internal::run_array_array_subtract
    linkageType: ''
    returnType: int
    signature: "int run_array_container_andnot(const run_container_t *src_1,\n                               const
      array_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16497,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16500
      start: 16493
    functionDepth: 0
    functionLinenumber: 16493
    functionLinenumberEnd: 16500
    functionName: roaring::internal::run_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_array_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_iandnot(run_container_t *src_1,\n                                const
      array_container_t *src_2,\n                                container_t **dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16509,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16544
      start: 16504
    functionDepth: 0
    functionLinenumber: 16504
    functionLinenumberEnd: 16544
    functionName: roaring::internal::array_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_run_container_andnot(const array_container_t *src_1,\n
      \                               const run_container_t *src_2,\n                                array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16553
      start: 16550
    functionDepth: 0
    functionLinenumber: 16550
    functionLinenumberEnd: 16553
    functionName: roaring::internal::array_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_run_container_iandnot(array_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16561,1
    - Dst: roaring::internal::run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16562,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16566
      start: 16559
    functionDepth: 0
    functionLinenumber: 16559
    functionLinenumberEnd: 16566
    functionName: roaring::internal::run_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::run_container_create
    - roaring::internal::run_container_andnot
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_andnot(const run_container_t *src_1,\n                             const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16578,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16581
      start: 16575
    functionDepth: 0
    functionLinenumber: 16575
    functionLinenumberEnd: 16581
    functionName: roaring::internal::run_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_run_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_iandnot(run_container_t *src_1,\n                              const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16591
      start: 16587
    functionDepth: 0
    functionLinenumber: 16587
    functionLinenumberEnd: 16591
    functionName: roaring::internal::array_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_andnot(const array_container_t *src_1,\n
      \                                 const array_container_t *src_2,\n                                  array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16598
      start: 16595
    functionDepth: 0
    functionLinenumber: 16595
    functionLinenumberEnd: 16598
    functionName: roaring::internal::array_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_iandnot(array_container_t *src_1,\n                                   const
      array_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16608,1
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16609,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16611,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16618
      start: 16605
    functionDepth: 0
    functionLinenumber: 16605
    functionLinenumberEnd: 16618
    functionName: roaring::internal::bitset_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_create
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_andnot(const bitset_container_t *src_1,\n
      \                                   const bitset_container_t *src_2,\n                                    container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16630,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16632,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16639
      start: 16627
    functionDepth: 0
    functionLinenumber: 16627
    functionLinenumberEnd: 16639
    functionName: roaring::internal::bitset_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_iandnot(bitset_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16152,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16162
      start: 16147
    functionDepth: 0
    functionLinenumber: 16147
    functionLinenumberEnd: 16162
    functionName: roaring::internal::array_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_andnot(const array_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16170
      start: 16167
    functionDepth: 0
    functionLinenumber: 16167
    functionLinenumberEnd: 16170
    functionName: roaring::internal::array_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_bitset_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_iandnot(array_container_t *src_1,\n                                    const
      bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16181,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16182,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16184,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16189,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16195
      start: 16177
    functionDepth: 2
    functionLinenumber: 16177
    functionLinenumberEnd: 16195
    functionName: roaring::internal::bitset_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_andnot(const bitset_container_t *src_1,\n
      \                                  const array_container_t *src_2,\n                                   container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16209,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16213,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16218
      start: 16204
    functionDepth: 2
    functionLinenumber: 16204
    functionLinenumberEnd: 16218
    functionName: roaring::internal::bitset_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_iandnot(bitset_container_t *src_1,\n                                    const
      array_container_t *src_2,\n                                    container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16231,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16234,1
    - Dst: roaring::internal::bitset_container_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16240,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16249,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16257,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16258,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16261,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16263,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16266,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16273
      start: 16227
    functionDepth: 1
    functionLinenumber: 16227
    functionLinenumberEnd: 16273
    functionName: roaring::internal::run_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::bitset_container_get
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_andnot(const run_container_t *src_1,\n                                 const
      bitset_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16286,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16289
      start: 16282
    functionDepth: 0
    functionLinenumber: 16282
    functionLinenumberEnd: 16289
    functionName: roaring::internal::run_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_iandnot(run_container_t *src_1,\n                                  const
      bitset_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16302,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16304,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16307,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16308,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16310,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16313,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16319
      start: 16298
    functionDepth: 0
    functionLinenumber: 16298
    functionLinenumberEnd: 16319
    functionName: roaring::internal::bitset_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_andnot(const bitset_container_t *src_1,\n
      \                                const run_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16335,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16336,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16338,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16341,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16346
      start: 16328
    functionDepth: 0
    functionLinenumber: 16328
    functionLinenumberEnd: 16346
    functionName: roaring::internal::bitset_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_reset_range
    - roaring::internal::array_container_from_bitset
    - UINT32_C
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_iandnot(bitset_container_t *src_1,\n                                  const
      run_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - rc
    - a_in
    - a_out
    argTypes:
    - run_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16394
      start: 16356
    functionDepth: 0
    functionLinenumber: 16356
    functionLinenumberEnd: 16394
    functionName: roaring::internal::run_array_array_subtract
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int run_array_array_subtract(const run_container_t *rc,\n                                    const
      array_container_t *a_in,\n                                    array_container_t
      *a_out)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16405,1
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16410,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16414,1
    - Dst: roaring::internal::array_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16415,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16428,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16443,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16458,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16461,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16467,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16468,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16474,1
    - Dst: roaring::internal::run_array_array_subtract
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16477,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16481,1
    - Dst: roaring::internal::bitset_array_container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16482,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16484
      start: 16400
    functionDepth: 1
    functionLinenumber: 16400
    functionLinenumberEnd: 16484
    functionName: roaring::internal::run_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::array_container_cardinality
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_array_container_iandnot
    - roaring::internal::bitset_container_from_run
    - roaring::internal::run_container_cardinality
    - CROARING_MAKE_RLE16
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    - roaring::internal::run_array_array_subtract
    linkageType: ''
    returnType: int
    signature: "int run_array_container_andnot(const run_container_t *src_1,\n                               const
      array_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16497,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16500
      start: 16493
    functionDepth: 0
    functionLinenumber: 16493
    functionLinenumberEnd: 16500
    functionName: roaring::internal::run_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_array_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_iandnot(run_container_t *src_1,\n                                const
      array_container_t *src_2,\n                                container_t **dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16509,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16544
      start: 16504
    functionDepth: 0
    functionLinenumber: 16504
    functionLinenumberEnd: 16544
    functionName: roaring::internal::array_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::array_container_grow
    - memmove
    linkageType: ''
    returnType: void
    signature: "void array_run_container_andnot(const array_container_t *src_1,\n
      \                               const run_container_t *src_2,\n                                array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16553
      start: 16550
    functionDepth: 0
    functionLinenumber: 16550
    functionLinenumberEnd: 16553
    functionName: roaring::internal::array_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_run_container_iandnot(array_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16561,1
    - Dst: roaring::internal::run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16562,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16566
      start: 16559
    functionDepth: 0
    functionLinenumber: 16559
    functionLinenumberEnd: 16566
    functionName: roaring::internal::run_run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::run_container_create
    - roaring::internal::run_container_andnot
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_andnot(const run_container_t *src_1,\n                             const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16578,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16581
      start: 16575
    functionDepth: 0
    functionLinenumber: 16575
    functionLinenumberEnd: 16581
    functionName: roaring::internal::run_run_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_run_container_andnot
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_iandnot(run_container_t *src_1,\n                              const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16591
      start: 16587
    functionDepth: 0
    functionLinenumber: 16587
    functionLinenumberEnd: 16591
    functionName: roaring::internal::array_array_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_andnot(const array_container_t *src_1,\n
      \                                 const array_container_t *src_2,\n                                  array_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16598
      start: 16595
    functionDepth: 0
    functionLinenumber: 16595
    functionLinenumberEnd: 16598
    functionName: roaring::internal::array_array_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_andnot
    linkageType: ''
    returnType: void
    signature: "void array_array_container_iandnot(array_container_t *src_1,\n                                   const
      array_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16608,1
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16609,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16611,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16618
      start: 16605
    functionDepth: 0
    functionLinenumber: 16605
    functionLinenumberEnd: 16618
    functionName: roaring::internal::bitset_bitset_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_create
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_andnot(const bitset_container_t *src_1,\n
      \                                   const bitset_container_t *src_2,\n                                    container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16630,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16632,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16639
      start: 16627
    functionDepth: 0
    functionLinenumber: 16627
    functionLinenumberEnd: 16639
    functionName: roaring::internal::bitset_bitset_container_iandnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    - bitset_container_andnot
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_iandnot(bitset_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     container_t
      **dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16679
      start: 16655
    functionDepth: 1
    functionLinenumber: 16655
    functionLinenumberEnd: 16679
    functionName: roaring::internal::array_container_equal_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: bool
    signature: "bool array_container_equal_bitset(const array_container_t* container1,\n
      \                                 const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16701
      start: 16681
    functionDepth: 0
    functionLinenumber: 16681
    functionLinenumberEnd: 16701
    functionName: roaring::internal::run_container_equals_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_array(const run_container_t* container1,\n
      \                               const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16705,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16708,1
    - Dst: roaring::internal::bitset_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16717,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16728
      start: 16703
    functionDepth: 0
    functionLinenumber: 16703
    functionLinenumberEnd: 16728
    functionName: roaring::internal::run_container_equals_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_bitset(const run_container_t* container1,\n
      \                                const bitset_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16679
      start: 16655
    functionDepth: 1
    functionLinenumber: 16655
    functionLinenumberEnd: 16679
    functionName: roaring::internal::array_container_equal_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: bool
    signature: "bool array_container_equal_bitset(const array_container_t* container1,\n
      \                                 const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16701
      start: 16681
    functionDepth: 0
    functionLinenumber: 16681
    functionLinenumberEnd: 16701
    functionName: roaring::internal::run_container_equals_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_array(const run_container_t* container1,\n
      \                               const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16705,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16708,1
    - Dst: roaring::internal::bitset_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16717,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16728
      start: 16703
    functionDepth: 0
    functionLinenumber: 16703
    functionLinenumberEnd: 16728
    functionName: roaring::internal::run_container_equals_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_bitset(const run_container_t* container1,\n
      \                                const bitset_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16679
      start: 16655
    functionDepth: 1
    functionLinenumber: 16655
    functionLinenumberEnd: 16679
    functionName: roaring::internal::array_container_equal_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: bool
    signature: "bool array_container_equal_bitset(const array_container_t* container1,\n
      \                                 const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16701
      start: 16681
    functionDepth: 0
    functionLinenumber: 16681
    functionLinenumberEnd: 16701
    functionName: roaring::internal::run_container_equals_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_array(const run_container_t* container1,\n
      \                               const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16705,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16708,1
    - Dst: roaring::internal::bitset_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16717,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16728
      start: 16703
    functionDepth: 0
    functionLinenumber: 16703
    functionLinenumberEnd: 16728
    functionName: roaring::internal::run_container_equals_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_bitset(const run_container_t* container1,\n
      \                                const bitset_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16679
      start: 16655
    functionDepth: 1
    functionLinenumber: 16655
    functionLinenumberEnd: 16679
    functionName: roaring::internal::array_container_equal_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: bool
    signature: "bool array_container_equal_bitset(const array_container_t* container1,\n
      \                                 const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16701
      start: 16681
    functionDepth: 0
    functionLinenumber: 16681
    functionLinenumberEnd: 16701
    functionName: roaring::internal::run_container_equals_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_array(const run_container_t* container1,\n
      \                               const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16705,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16708,1
    - Dst: roaring::internal::bitset_container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16717,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16728
      start: 16703
    functionDepth: 0
    functionLinenumber: 16703
    functionLinenumberEnd: 16728
    functionName: roaring::internal::run_container_equals_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains_range
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_equals_bitset(const run_container_t* container1,\n
      \                                const bitset_container_t* container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16755,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16778
      start: 16751
    functionDepth: 0
    functionLinenumber: 16751
    functionLinenumberEnd: 16778
    functionName: roaring::internal::array_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_intersection(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2,\n
      \                                        array_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16790
      start: 16781
    functionDepth: 0
    functionLinenumber: 16781
    functionLinenumberEnd: 16790
    functionName: roaring::internal::array_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: int
    signature: "int array_bitset_container_intersection_cardinality(\n    const array_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16800
      start: 16792
    functionDepth: 0
    functionLinenumber: 16792
    functionLinenumberEnd: 16800
    functionName: roaring::internal::array_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_intersect(const array_container_t *src_1,\n
      \                                     const bitset_container_t *src_2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16808,1
    - Dst: roaring::internal::array_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16809,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16813,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16843
      start: 16805
    functionDepth: 0
    functionLinenumber: 16805
    functionLinenumberEnd: 16843
    functionName: roaring::internal::array_run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_copy
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: void
    signature: "void array_run_container_intersection(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2,\n                                      array_container_t
      *dst)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16852,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16853,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16856,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16863,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16875,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16881,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16886,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16890,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16890,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16891,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16895,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16905,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16915,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16918,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16918,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16919,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16924,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16925,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16925,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16934
      start: 16849
    functionDepth: 1
    functionLinenumber: 16849
    functionLinenumberEnd: 16934
    functionName: roaring::internal::run_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_contains
    - CAST_bitset
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersection(const run_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       container_t
      **dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16939,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16968
      start: 16937
    functionDepth: 0
    functionLinenumber: 16937
    functionLinenumberEnd: 16968
    functionName: roaring::internal::array_run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int array_run_container_intersection_cardinality(const array_container_t
      *src_1,\n                                                 const run_container_t
      *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16974,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16975,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16984
      start: 16972
    functionDepth: 0
    functionLinenumber: 16972
    functionLinenumberEnd: 16984
    functionName: roaring::internal::run_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_bitset_container_intersection_cardinality(\n    const run_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16988,1
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16989,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17015
      start: 16986
    functionDepth: 0
    functionLinenumber: 16986
    functionLinenumberEnd: 17015
    functionName: roaring::internal::array_run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_empty
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool array_run_container_intersect(const array_container_t *src_1,\n
      \                                  const run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17021,1
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17022,1
    - Dst: roaring::internal::bitset_lenrange_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17030
      start: 17019
    functionDepth: 0
    functionLinenumber: 17019
    functionLinenumberEnd: 17030
    functionName: roaring::internal::run_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_empty
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_empty
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersect(const run_container_t *src_1,\n
      \                                   const bitset_container_t *src_2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17040,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17042,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17044,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17044,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17045,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17049,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17051,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17052,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17057
      start: 17037
    functionDepth: 2
    functionLinenumber: 17037
    functionLinenumberEnd: 17057
    functionName: roaring::internal::bitset_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection(const bitset_container_t
      *src_1,\n                                          const bitset_container_t
      *src_2,\n                                          container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17062,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17065,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17066,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17069,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17071,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17072,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17077
      start: 17059
    functionDepth: 2
    functionLinenumber: 17059
    functionLinenumberEnd: 17077
    functionName: roaring::internal::bitset_bitset_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection_inplace(\n    bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16755,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16778
      start: 16751
    functionDepth: 0
    functionLinenumber: 16751
    functionLinenumberEnd: 16778
    functionName: roaring::internal::array_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_intersection(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2,\n
      \                                        array_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16790
      start: 16781
    functionDepth: 0
    functionLinenumber: 16781
    functionLinenumberEnd: 16790
    functionName: roaring::internal::array_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: int
    signature: "int array_bitset_container_intersection_cardinality(\n    const array_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16800
      start: 16792
    functionDepth: 0
    functionLinenumber: 16792
    functionLinenumberEnd: 16800
    functionName: roaring::internal::array_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_intersect(const array_container_t *src_1,\n
      \                                     const bitset_container_t *src_2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16808,1
    - Dst: roaring::internal::array_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16809,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16813,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16843
      start: 16805
    functionDepth: 0
    functionLinenumber: 16805
    functionLinenumberEnd: 16843
    functionName: roaring::internal::array_run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_copy
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: void
    signature: "void array_run_container_intersection(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2,\n                                      array_container_t
      *dst)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16852,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16853,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16856,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16863,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16875,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16881,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16886,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16890,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16890,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16891,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16895,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16905,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16915,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16918,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16918,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16919,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16924,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16925,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16925,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16934
      start: 16849
    functionDepth: 1
    functionLinenumber: 16849
    functionLinenumberEnd: 16934
    functionName: roaring::internal::run_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_contains
    - CAST_bitset
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersection(const run_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       container_t
      **dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16939,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16968
      start: 16937
    functionDepth: 0
    functionLinenumber: 16937
    functionLinenumberEnd: 16968
    functionName: roaring::internal::array_run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int array_run_container_intersection_cardinality(const array_container_t
      *src_1,\n                                                 const run_container_t
      *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16974,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16975,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16984
      start: 16972
    functionDepth: 0
    functionLinenumber: 16972
    functionLinenumberEnd: 16984
    functionName: roaring::internal::run_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_bitset_container_intersection_cardinality(\n    const run_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16988,1
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16989,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17015
      start: 16986
    functionDepth: 0
    functionLinenumber: 16986
    functionLinenumberEnd: 17015
    functionName: roaring::internal::array_run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_empty
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool array_run_container_intersect(const array_container_t *src_1,\n
      \                                  const run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17021,1
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17022,1
    - Dst: roaring::internal::bitset_lenrange_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17030
      start: 17019
    functionDepth: 0
    functionLinenumber: 17019
    functionLinenumberEnd: 17030
    functionName: roaring::internal::run_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_empty
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_empty
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersect(const run_container_t *src_1,\n
      \                                   const bitset_container_t *src_2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17040,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17042,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17044,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17044,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17045,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17049,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17051,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17052,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17057
      start: 17037
    functionDepth: 2
    functionLinenumber: 17037
    functionLinenumberEnd: 17057
    functionName: roaring::internal::bitset_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection(const bitset_container_t
      *src_1,\n                                          const bitset_container_t
      *src_2,\n                                          container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17062,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17065,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17066,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17069,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17071,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17072,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17077
      start: 17059
    functionDepth: 2
    functionLinenumber: 17059
    functionLinenumberEnd: 17077
    functionName: roaring::internal::bitset_bitset_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection_inplace(\n    bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16755,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16778
      start: 16751
    functionDepth: 0
    functionLinenumber: 16751
    functionLinenumberEnd: 16778
    functionName: roaring::internal::array_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_intersection(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2,\n
      \                                        array_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16790
      start: 16781
    functionDepth: 0
    functionLinenumber: 16781
    functionLinenumberEnd: 16790
    functionName: roaring::internal::array_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: int
    signature: "int array_bitset_container_intersection_cardinality(\n    const array_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16800
      start: 16792
    functionDepth: 0
    functionLinenumber: 16792
    functionLinenumberEnd: 16800
    functionName: roaring::internal::array_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_intersect(const array_container_t *src_1,\n
      \                                     const bitset_container_t *src_2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16808,1
    - Dst: roaring::internal::array_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16809,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16813,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16843
      start: 16805
    functionDepth: 0
    functionLinenumber: 16805
    functionLinenumberEnd: 16843
    functionName: roaring::internal::array_run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_copy
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: void
    signature: "void array_run_container_intersection(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2,\n                                      array_container_t
      *dst)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16852,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16853,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16856,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16863,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16875,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16881,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16886,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16890,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16890,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16891,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16895,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16905,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16915,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16918,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16918,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16919,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16924,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16925,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16925,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16934
      start: 16849
    functionDepth: 1
    functionLinenumber: 16849
    functionLinenumberEnd: 16934
    functionName: roaring::internal::run_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_contains
    - CAST_bitset
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersection(const run_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       container_t
      **dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16939,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16968
      start: 16937
    functionDepth: 0
    functionLinenumber: 16937
    functionLinenumberEnd: 16968
    functionName: roaring::internal::array_run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int array_run_container_intersection_cardinality(const array_container_t
      *src_1,\n                                                 const run_container_t
      *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16974,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16975,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16984
      start: 16972
    functionDepth: 0
    functionLinenumber: 16972
    functionLinenumberEnd: 16984
    functionName: roaring::internal::run_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_bitset_container_intersection_cardinality(\n    const run_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16988,1
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16989,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17015
      start: 16986
    functionDepth: 0
    functionLinenumber: 16986
    functionLinenumberEnd: 17015
    functionName: roaring::internal::array_run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_empty
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool array_run_container_intersect(const array_container_t *src_1,\n
      \                                  const run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17021,1
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17022,1
    - Dst: roaring::internal::bitset_lenrange_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17030
      start: 17019
    functionDepth: 0
    functionLinenumber: 17019
    functionLinenumberEnd: 17030
    functionName: roaring::internal::run_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_empty
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_empty
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersect(const run_container_t *src_1,\n
      \                                   const bitset_container_t *src_2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17040,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17042,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17044,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17044,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17045,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17049,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17051,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17052,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17057
      start: 17037
    functionDepth: 2
    functionLinenumber: 17037
    functionLinenumberEnd: 17057
    functionName: roaring::internal::bitset_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection(const bitset_container_t
      *src_1,\n                                          const bitset_container_t
      *src_2,\n                                          container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17062,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17065,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17066,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17069,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17071,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17072,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17077
      start: 17059
    functionDepth: 2
    functionLinenumber: 17059
    functionLinenumberEnd: 17077
    functionName: roaring::internal::bitset_bitset_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection_inplace(\n    bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16755,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16778
      start: 16751
    functionDepth: 0
    functionLinenumber: 16751
    functionLinenumberEnd: 16778
    functionName: roaring::internal::array_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_intersection(const array_container_t *src_1,\n
      \                                        const bitset_container_t *src_2,\n
      \                                        array_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16790
      start: 16781
    functionDepth: 0
    functionLinenumber: 16781
    functionLinenumberEnd: 16790
    functionName: roaring::internal::array_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: int
    signature: "int array_bitset_container_intersection_cardinality(\n    const array_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16800
      start: 16792
    functionDepth: 0
    functionLinenumber: 16792
    functionLinenumberEnd: 16800
    functionName: roaring::internal::array_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_intersect(const array_container_t *src_1,\n
      \                                     const bitset_container_t *src_2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16808,1
    - Dst: roaring::internal::array_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16809,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16813,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16843
      start: 16805
    functionDepth: 0
    functionLinenumber: 16805
    functionLinenumberEnd: 16843
    functionName: roaring::internal::array_run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_grow
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_copy
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: void
    signature: "void array_run_container_intersection(const array_container_t *src_1,\n
      \                                     const run_container_t *src_2,\n                                      array_container_t
      *dst)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16852,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16853,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16856,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16863,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16875,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16881,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16886,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16890,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16890,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16891,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16895,1
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16905,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16915,1
    - Dst: roaring::internal::bitset_reset_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16918,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16918,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16919,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16924,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16925,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16925,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16934
      start: 16849
    functionDepth: 1
    functionLinenumber: 16849
    functionLinenumberEnd: 16934
    functionName: roaring::internal::run_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_container_contains
    - CAST_bitset
    - roaring::internal::bitset_reset_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersection(const run_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       container_t
      **dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16939,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16968
      start: 16937
    functionDepth: 0
    functionLinenumber: 16937
    functionLinenumberEnd: 16968
    functionName: roaring::internal::array_run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: int
    signature: "int array_run_container_intersection_cardinality(const array_container_t
      *src_1,\n                                                 const run_container_t
      *src_2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16974,1
    - Dst: roaring::internal::bitset_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16975,1
    - Dst: roaring::internal::bitset_lenrange_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16984
      start: 16972
    functionDepth: 0
    functionLinenumber: 16972
    functionLinenumberEnd: 16984
    functionName: roaring::internal::run_bitset_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_cardinality
    - roaring::internal::bitset_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_bitset_container_intersection_cardinality(\n    const run_container_t
      *src_1, const bitset_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16988,1
    - Dst: roaring::internal::array_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:16989,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17015
      start: 16986
    functionDepth: 0
    functionLinenumber: 16986
    functionLinenumberEnd: 17015
    functionName: roaring::internal::array_run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::array_container_empty
    - roaring::internal::advanceUntil
    linkageType: ''
    returnType: bool
    signature: "bool array_run_container_intersect(const array_container_t *src_1,\n
      \                                  const run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17021,1
    - Dst: roaring::internal::bitset_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17022,1
    - Dst: roaring::internal::bitset_lenrange_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17030
      start: 17019
    functionDepth: 0
    functionLinenumber: 17019
    functionLinenumberEnd: 17030
    functionName: roaring::internal::run_bitset_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_empty
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_lenrange_empty
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_intersect(const run_container_t *src_1,\n
      \                                   const bitset_container_t *src_2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17040,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17042,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17044,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17044,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17045,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17049,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17051,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17052,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17057
      start: 17037
    functionDepth: 2
    functionLinenumber: 17037
    functionLinenumberEnd: 17057
    functionName: roaring::internal::bitset_bitset_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection(const bitset_container_t
      *src_1,\n                                          const bitset_container_t
      *src_2,\n                                          container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_and_justcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17062,1
    - Dst: bitset_container_and_nocard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17065,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17066,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17069,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17071,1
    - Dst: roaring::internal::bitset_extract_intersection_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17072,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17077
      start: 17059
    functionDepth: 2
    functionLinenumber: 17059
    functionLinenumberEnd: 17077
    functionName: roaring::internal::bitset_bitset_container_intersection_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - bitset_container_and_justcard
    - roaring::internal::bitset_extract_intersection_setbits_uint16
    - CAST_bitset
    - bitset_container_and_nocard
    - roaring::internal::array_container_create_given_capacity
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_intersection_inplace(\n    bitset_container_t
      *src_1, const bitset_container_t *src_2,\n    container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17113,1
    - Dst: roaring::internal::bitset_container_set_all
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17114,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17122
      start: 17111
    functionDepth: 2
    functionLinenumber: 17111
    functionLinenumberEnd: 17122
    functionName: roaring::internal::array_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT64_C
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_set_all
    linkageType: ''
    returnType: void
    signature: "void array_container_negation(const array_container_t *src,\n                              bitset_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17134
      start: 17131
    functionDepth: 0
    functionLinenumber: 17131
    functionLinenumberEnd: 17134
    functionName: roaring::internal::bitset_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation(const bitset_container_t *src,\n                               container_t
      **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17148
      start: 17145
    functionDepth: 0
    functionLinenumber: 17145
    functionLinenumberEnd: 17148
    functionName: roaring::internal::bitset_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_negation_range_inplace
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_inplace(bitset_container_t *src,\n
      \                                      container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17158
      start: 17156
    functionDepth: 0
    functionLinenumber: 17156
    functionLinenumberEnd: 17158
    functionName: roaring::internal::run_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: int run_container_negation(const run_container_t *src, container_t
      **dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17169
      start: 17167
    functionDepth: 0
    functionLinenumber: 17167
    functionLinenumberEnd: 17169
    functionName: roaring::internal::run_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    linkageType: ''
    returnType: int
    signature: int run_container_negation_inplace(run_container_t *src, container_t
      **dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17181,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17186,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17190,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17202,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17203,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17211,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17218,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17238
      start: 17176
    functionDepth: 1
    functionLinenumber: 17176
    functionLinenumberEnd: 17238
    functionName: roaring::internal::array_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::binarySearch
    - memcpy
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range(const array_container_t *src,\n
      \                                   const int range_start, const int range_end,\n
      \                                   container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17248,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17252
      start: 17244
    functionDepth: 0
    functionLinenumber: 17244
    functionLinenumberEnd: 17252
    functionName: roaring::internal::array_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_negation_range
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range_inplace(array_container_t *src,\n
      \                                           const int range_start,\n                                            const
      int range_end,\n                                            container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17270,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17271,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17272,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17278,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17282
      start: 17261
    functionDepth: 1
    functionLinenumber: 17261
    functionLinenumberEnd: 17282
    functionName: roaring::internal::bitset_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range(const bitset_container_t *src,\n
      \                                    const int range_start, const int range_end,\n
      \                                    container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17297,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17298,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17303,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17306
      start: 17293
    functionDepth: 0
    functionLinenumber: 17293
    functionLinenumberEnd: 17306
    functionName: roaring::internal::bitset_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_free
    - roaring::internal::array_container_from_bitset
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range_inplace(bitset_container_t *src,\n
      \                                            const int range_start,\n                                             const
      int range_end,\n                                             container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17321,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17325,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17333,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17337,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17341,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17345
      start: 17314
    functionDepth: 1
    functionLinenumber: 17314
    functionLinenumberEnd: 17345
    functionName: roaring::internal::run_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 17
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range(const run_container_t *src,\n                                 const
      int range_start, const int range_end,\n                                 container_t
      **dst)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17376,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17377,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17381,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17384,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17388,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17390,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17408,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17412,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17418,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17423,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17424,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17427
      start: 17354
    functionDepth: 1
    functionLinenumber: 17354
    functionLinenumberEnd: 17427
    functionName: roaring::internal::run_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_contains
    - roaring::internal::run_container_free
    - roaring::internal::run_container_negation_range
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range_inplace(run_container_t *src,\n                                         const
      int range_start,\n                                         const int range_end,\n
      \                                        container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17113,1
    - Dst: roaring::internal::bitset_container_set_all
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17114,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17122
      start: 17111
    functionDepth: 2
    functionLinenumber: 17111
    functionLinenumberEnd: 17122
    functionName: roaring::internal::array_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT64_C
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_set_all
    linkageType: ''
    returnType: void
    signature: "void array_container_negation(const array_container_t *src,\n                              bitset_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17134
      start: 17131
    functionDepth: 0
    functionLinenumber: 17131
    functionLinenumberEnd: 17134
    functionName: roaring::internal::bitset_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation(const bitset_container_t *src,\n                               container_t
      **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17148
      start: 17145
    functionDepth: 0
    functionLinenumber: 17145
    functionLinenumberEnd: 17148
    functionName: roaring::internal::bitset_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_negation_range_inplace
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_inplace(bitset_container_t *src,\n
      \                                      container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17158
      start: 17156
    functionDepth: 0
    functionLinenumber: 17156
    functionLinenumberEnd: 17158
    functionName: roaring::internal::run_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: int run_container_negation(const run_container_t *src, container_t
      **dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17169
      start: 17167
    functionDepth: 0
    functionLinenumber: 17167
    functionLinenumberEnd: 17169
    functionName: roaring::internal::run_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    linkageType: ''
    returnType: int
    signature: int run_container_negation_inplace(run_container_t *src, container_t
      **dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17181,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17186,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17190,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17202,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17203,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17211,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17218,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17238
      start: 17176
    functionDepth: 1
    functionLinenumber: 17176
    functionLinenumberEnd: 17238
    functionName: roaring::internal::array_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::binarySearch
    - memcpy
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range(const array_container_t *src,\n
      \                                   const int range_start, const int range_end,\n
      \                                   container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17248,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17252
      start: 17244
    functionDepth: 0
    functionLinenumber: 17244
    functionLinenumberEnd: 17252
    functionName: roaring::internal::array_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_negation_range
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range_inplace(array_container_t *src,\n
      \                                           const int range_start,\n                                            const
      int range_end,\n                                            container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17270,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17271,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17272,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17278,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17282
      start: 17261
    functionDepth: 1
    functionLinenumber: 17261
    functionLinenumberEnd: 17282
    functionName: roaring::internal::bitset_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range(const bitset_container_t *src,\n
      \                                    const int range_start, const int range_end,\n
      \                                    container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17297,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17298,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17303,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17306
      start: 17293
    functionDepth: 0
    functionLinenumber: 17293
    functionLinenumberEnd: 17306
    functionName: roaring::internal::bitset_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_free
    - roaring::internal::array_container_from_bitset
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range_inplace(bitset_container_t *src,\n
      \                                            const int range_start,\n                                             const
      int range_end,\n                                             container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17321,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17325,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17333,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17337,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17341,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17345
      start: 17314
    functionDepth: 1
    functionLinenumber: 17314
    functionLinenumberEnd: 17345
    functionName: roaring::internal::run_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 19
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range(const run_container_t *src,\n                                 const
      int range_start, const int range_end,\n                                 container_t
      **dst)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17376,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17377,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17381,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17384,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17388,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17390,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17408,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17412,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17418,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17423,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17424,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17427
      start: 17354
    functionDepth: 1
    functionLinenumber: 17354
    functionLinenumberEnd: 17427
    functionName: roaring::internal::run_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_contains
    - roaring::internal::run_container_free
    - roaring::internal::run_container_negation_range
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range_inplace(run_container_t *src,\n                                         const
      int range_start,\n                                         const int range_end,\n
      \                                        container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17113,1
    - Dst: roaring::internal::bitset_container_set_all
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17114,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17122
      start: 17111
    functionDepth: 2
    functionLinenumber: 17111
    functionLinenumberEnd: 17122
    functionName: roaring::internal::array_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT64_C
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_set_all
    linkageType: ''
    returnType: void
    signature: "void array_container_negation(const array_container_t *src,\n                              bitset_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17134
      start: 17131
    functionDepth: 0
    functionLinenumber: 17131
    functionLinenumberEnd: 17134
    functionName: roaring::internal::bitset_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation(const bitset_container_t *src,\n                               container_t
      **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17148
      start: 17145
    functionDepth: 0
    functionLinenumber: 17145
    functionLinenumberEnd: 17148
    functionName: roaring::internal::bitset_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_negation_range_inplace
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_inplace(bitset_container_t *src,\n
      \                                      container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17158
      start: 17156
    functionDepth: 0
    functionLinenumber: 17156
    functionLinenumberEnd: 17158
    functionName: roaring::internal::run_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: int run_container_negation(const run_container_t *src, container_t
      **dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17169
      start: 17167
    functionDepth: 0
    functionLinenumber: 17167
    functionLinenumberEnd: 17169
    functionName: roaring::internal::run_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    linkageType: ''
    returnType: int
    signature: int run_container_negation_inplace(run_container_t *src, container_t
      **dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17181,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17186,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17190,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17202,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17203,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17211,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17218,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17238
      start: 17176
    functionDepth: 1
    functionLinenumber: 17176
    functionLinenumberEnd: 17238
    functionName: roaring::internal::array_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::binarySearch
    - memcpy
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range(const array_container_t *src,\n
      \                                   const int range_start, const int range_end,\n
      \                                   container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17248,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17252
      start: 17244
    functionDepth: 0
    functionLinenumber: 17244
    functionLinenumberEnd: 17252
    functionName: roaring::internal::array_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_negation_range
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range_inplace(array_container_t *src,\n
      \                                           const int range_start,\n                                            const
      int range_end,\n                                            container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17270,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17271,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17272,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17278,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17282
      start: 17261
    functionDepth: 1
    functionLinenumber: 17261
    functionLinenumberEnd: 17282
    functionName: roaring::internal::bitset_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range(const bitset_container_t *src,\n
      \                                    const int range_start, const int range_end,\n
      \                                    container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17297,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17298,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17303,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17306
      start: 17293
    functionDepth: 0
    functionLinenumber: 17293
    functionLinenumberEnd: 17306
    functionName: roaring::internal::bitset_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_free
    - roaring::internal::array_container_from_bitset
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range_inplace(bitset_container_t *src,\n
      \                                            const int range_start,\n                                             const
      int range_end,\n                                             container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17321,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17325,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17333,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17337,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17341,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17345
      start: 17314
    functionDepth: 1
    functionLinenumber: 17314
    functionLinenumberEnd: 17345
    functionName: roaring::internal::run_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 21
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range(const run_container_t *src,\n                                 const
      int range_start, const int range_end,\n                                 container_t
      **dst)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17376,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17377,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17381,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17384,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17388,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17390,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17408,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17412,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17418,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17423,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17424,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17427
      start: 17354
    functionDepth: 1
    functionLinenumber: 17354
    functionLinenumberEnd: 17427
    functionName: roaring::internal::run_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_contains
    - roaring::internal::run_container_free
    - roaring::internal::run_container_negation_range
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range_inplace(run_container_t *src,\n                                         const
      int range_start,\n                                         const int range_end,\n
      \                                        container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17113,1
    - Dst: roaring::internal::bitset_container_set_all
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17114,1
    - Dst: roaring::internal::bitset_clear_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17122
      start: 17111
    functionDepth: 2
    functionLinenumber: 17111
    functionLinenumberEnd: 17122
    functionName: roaring::internal::array_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - UINT64_C
    - roaring::internal::bitset_clear_list
    - roaring::internal::bitset_container_set_all
    linkageType: ''
    returnType: void
    signature: "void array_container_negation(const array_container_t *src,\n                              bitset_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17134
      start: 17131
    functionDepth: 0
    functionLinenumber: 17131
    functionLinenumberEnd: 17134
    functionName: roaring::internal::bitset_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_negation_range
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation(const bitset_container_t *src,\n                               container_t
      **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17148
      start: 17145
    functionDepth: 0
    functionLinenumber: 17145
    functionLinenumberEnd: 17148
    functionName: roaring::internal::bitset_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_negation_range_inplace
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_inplace(bitset_container_t *src,\n
      \                                      container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17158
      start: 17156
    functionDepth: 0
    functionLinenumber: 17156
    functionLinenumberEnd: 17158
    functionName: roaring::internal::run_container_negation
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_negation_range
    linkageType: ''
    returnType: int
    signature: int run_container_negation(const run_container_t *src, container_t
      **dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_negation_range_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17169
      start: 17167
    functionDepth: 0
    functionLinenumber: 17167
    functionLinenumberEnd: 17169
    functionName: roaring::internal::run_container_negation_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_negation_range_inplace
    linkageType: ''
    returnType: int
    signature: int run_container_negation_inplace(run_container_t *src, container_t
      **dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17181,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17186,1
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17190,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17202,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17203,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17211,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17218,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17238
      start: 17176
    functionDepth: 1
    functionLinenumber: 17176
    functionLinenumberEnd: 17238
    functionName: roaring::internal::array_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_clone
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::binarySearch
    - memcpy
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range(const array_container_t *src,\n
      \                                   const int range_start, const int range_end,\n
      \                                   container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17248,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - array_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17252
      start: 17244
    functionDepth: 0
    functionLinenumber: 17244
    functionLinenumberEnd: 17252
    functionName: roaring::internal::array_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_negation_range
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_container_negation_range_inplace(array_container_t *src,\n
      \                                           const int range_start,\n                                            const
      int range_end,\n                                            container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17270,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17271,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17272,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17278,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17282
      start: 17261
    functionDepth: 1
    functionLinenumber: 17261
    functionLinenumberEnd: 17282
    functionName: roaring::internal::bitset_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_clone
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range(const bitset_container_t *src,\n
      \                                    const int range_start, const int range_end,\n
      \                                    container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17297,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17298,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17303,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - bitset_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17306
      start: 17293
    functionDepth: 0
    functionLinenumber: 17293
    functionLinenumberEnd: 17306
    functionName: roaring::internal::bitset_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_free
    - roaring::internal::array_container_from_bitset
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_negation_range_inplace(bitset_container_t *src,\n
      \                                            const int range_start,\n                                             const
      int range_end,\n                                             container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17321,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17325,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17333,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17337,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17341,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17345
      start: 17314
    functionDepth: 1
    functionLinenumber: 17314
    functionLinenumberEnd: 17345
    functionName: roaring::internal::run_container_negation_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 23
    functionsReached:
    - roaring::internal::run_container_clone
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_free
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range(const run_container_t *src,\n                                 const
      int range_start, const int range_end,\n                                 container_t
      **dst)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17376,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17377,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17381,1
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17384,1
    - Dst: roaring::internal::run_container_negation_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17388,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17390,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17408,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17412,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17418,1
    - Dst: roaring::internal::convert_run_to_efficient_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17423,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17424,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - src
    - range_start
    - range_end
    - dst
    argTypes:
    - run_container_t*
    - int
    - int
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17427
      start: 17354
    functionDepth: 1
    functionLinenumber: 17354
    functionLinenumberEnd: 17427
    functionName: roaring::internal::run_container_negation_range_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::convert_run_to_efficient_container
    - roaring::internal::run_container_contains
    - roaring::internal::run_container_free
    - roaring::internal::run_container_negation_range
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: int
    signature: "int run_container_negation_range_inplace(run_container_t *src,\n                                         const
      int range_start,\n                                         const int range_end,\n
      \                                        container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17456
      start: 17443
    functionDepth: 0
    functionLinenumber: 17443
    functionLinenumberEnd: 17456
    functionName: roaring::internal::array_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_bitset(const array_container_t* container1,\n
      \                                     const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17460,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17466,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17479
      start: 17458
    functionDepth: 0
    functionLinenumber: 17458
    functionLinenumberEnd: 17479
    functionName: roaring::internal::run_container_is_subset_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::advanceUntil
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_array(const run_container_t* container1,\n
      \                                  const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17502
      start: 17481
    functionDepth: 0
    functionLinenumber: 17481
    functionLinenumberEnd: 17502
    functionName: roaring::internal::array_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_run(const array_container_t* container1,\n
      \                                  const run_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17508,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17512,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17514,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17528
      start: 17504
    functionDepth: 0
    functionLinenumber: 17504
    functionLinenumberEnd: 17528
    functionName: roaring::internal::run_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_bitset(const run_container_t* container1,\n
      \                                   const bitset_container_t* container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17534,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17546,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17572
      start: 17530
    functionDepth: 1
    functionLinenumber: 17530
    functionLinenumberEnd: 17572
    functionName: roaring::internal::bitset_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset_run(const bitset_container_t* container1,\n
      \                                   const run_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17456
      start: 17443
    functionDepth: 0
    functionLinenumber: 17443
    functionLinenumberEnd: 17456
    functionName: roaring::internal::array_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_bitset(const array_container_t* container1,\n
      \                                     const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17460,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17466,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17479
      start: 17458
    functionDepth: 0
    functionLinenumber: 17458
    functionLinenumberEnd: 17479
    functionName: roaring::internal::run_container_is_subset_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::advanceUntil
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_array(const run_container_t* container1,\n
      \                                  const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17502
      start: 17481
    functionDepth: 0
    functionLinenumber: 17481
    functionLinenumberEnd: 17502
    functionName: roaring::internal::array_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_run(const array_container_t* container1,\n
      \                                  const run_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17508,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17512,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17514,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17528
      start: 17504
    functionDepth: 0
    functionLinenumber: 17504
    functionLinenumberEnd: 17528
    functionName: roaring::internal::run_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_bitset(const run_container_t* container1,\n
      \                                   const bitset_container_t* container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17534,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17546,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17572
      start: 17530
    functionDepth: 1
    functionLinenumber: 17530
    functionLinenumberEnd: 17572
    functionName: roaring::internal::bitset_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset_run(const bitset_container_t* container1,\n
      \                                   const run_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17456
      start: 17443
    functionDepth: 0
    functionLinenumber: 17443
    functionLinenumberEnd: 17456
    functionName: roaring::internal::array_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_bitset(const array_container_t* container1,\n
      \                                     const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17460,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17466,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17479
      start: 17458
    functionDepth: 0
    functionLinenumber: 17458
    functionLinenumberEnd: 17479
    functionName: roaring::internal::run_container_is_subset_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::advanceUntil
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_array(const run_container_t* container1,\n
      \                                  const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17502
      start: 17481
    functionDepth: 0
    functionLinenumber: 17481
    functionLinenumberEnd: 17502
    functionName: roaring::internal::array_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_run(const array_container_t* container1,\n
      \                                  const run_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17508,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17512,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17514,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17528
      start: 17504
    functionDepth: 0
    functionLinenumber: 17504
    functionLinenumberEnd: 17528
    functionName: roaring::internal::run_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_bitset(const run_container_t* container1,\n
      \                                   const bitset_container_t* container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17534,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17546,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17572
      start: 17530
    functionDepth: 1
    functionLinenumber: 17530
    functionLinenumberEnd: 17572
    functionName: roaring::internal::bitset_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset_run(const bitset_container_t* container1,\n
      \                                   const run_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17456
      start: 17443
    functionDepth: 0
    functionLinenumber: 17443
    functionLinenumberEnd: 17456
    functionName: roaring::internal::array_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_bitset(const array_container_t* container1,\n
      \                                     const bitset_container_t* container2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17460,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17466,1
    - Dst: roaring::internal::advanceUntil
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - array_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17479
      start: 17458
    functionDepth: 0
    functionLinenumber: 17458
    functionLinenumberEnd: 17479
    functionName: roaring::internal::run_container_is_subset_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::advanceUntil
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_array(const run_container_t* container1,\n
      \                                  const array_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17502
      start: 17481
    functionDepth: 0
    functionLinenumber: 17481
    functionLinenumberEnd: 17502
    functionName: roaring::internal::array_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool array_container_is_subset_run(const array_container_t* container1,\n
      \                                  const run_container_t* container2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17508,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17512,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17514,1
    - Dst: roaring::internal::bitset_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17528
      start: 17504
    functionDepth: 0
    functionLinenumber: 17504
    functionLinenumberEnd: 17528
    functionName: roaring::internal::run_container_is_subset_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_cardinality
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_contains
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset_bitset(const run_container_t* container1,\n
      \                                   const bitset_container_t* container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17534,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17546,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - bitset_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17572
      start: 17530
    functionDepth: 1
    functionLinenumber: 17530
    functionLinenumberEnd: 17572
    functionName: roaring::internal::bitset_container_is_subset_run
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_trailing_zeroes
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool bitset_container_is_subset_run(const bitset_container_t* container1,\n
      \                                   const run_container_t* container2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17601,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17604
      start: 17598
    functionDepth: 2
    functionLinenumber: 17598
    functionLinenumberEnd: 17604
    functionName: roaring::internal::array_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_union(const array_container_t *src_1,\n
      \                                 const bitset_container_t *src_2,\n                                  bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17612,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17615
      start: 17609
    functionDepth: 2
    functionLinenumber: 17609
    functionLinenumberEnd: 17615
    functionName: roaring::internal::array_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_set_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_union(const array_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17620,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17620,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17621,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17624,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 17619
        line_start: 17619
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 17627
      start: 17617
    functionDepth: 0
    functionLinenumber: 17617
    functionLinenumberEnd: 17627
    functionName: roaring::internal::run_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_set_lenrange
    - assert
    - roaring::internal::bitset_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_union(const run_container_t *src_1,\n                                const
      bitset_container_t *src_2,\n                                bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17632,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17632,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17633,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 17631
        line_start: 17631
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 17639
      start: 17629
    functionDepth: 0
    functionLinenumber: 17629
    functionLinenumberEnd: 17639
    functionName: roaring::internal::run_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - assert
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_union(const run_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17645,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17646,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17650,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17655,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17659,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17664,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17667,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17674,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17680,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17684
      start: 17642
    functionDepth: 0
    functionLinenumber: 17642
    functionLinenumberEnd: 17684
    functionName: roaring::internal::array_run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_union(const array_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               run_container_t *dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17688,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17694,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17695,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17706,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17710,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17716,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17719,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17726,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17732,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17736
      start: 17686
    functionDepth: 0
    functionLinenumber: 17686
    functionLinenumberEnd: 17736
    functionName: roaring::internal::array_run_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_inplace_union(const array_container_t *src_1,\n
      \                                      run_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17743,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17745,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17745,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17751,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17754,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17755,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17756,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17761,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17767
      start: 17738
    functionDepth: 2
    functionLinenumber: 17738
    functionLinenumberEnd: 17767
    functionName: roaring::internal::array_array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_union(const array_container_t *src_1,\n
      \                                const array_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17776,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17779,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17779,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17785,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17791,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17797,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17800,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17801,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17802,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17808,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17811,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17821
      start: 17769
    functionDepth: 2
    functionLinenumber: 17769
    functionLinenumberEnd: 17821
    functionName: roaring::internal::array_array_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - roaring::internal::array_container_grow
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_inplace_union(array_container_t *src_1,\n
      \                                        const array_container_t *src_2,\n                                         container_t
      **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17840,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17842,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17842,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17848,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17851,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17852,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17857
      start: 17823
    functionDepth: 2
    functionLinenumber: 17823
    functionLinenumberEnd: 17857
    functionName: roaring::internal::array_array_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_union(const array_container_t *src_1,\n
      \                                     const array_container_t *src_2,\n                                      container_t
      **dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17878,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17881,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17881,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17887,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17927,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17933,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17936,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17937,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17942
      start: 17859
    functionDepth: 2
    functionLinenumber: 17859
    functionLinenumberEnd: 17942
    functionName: roaring::internal::array_array_container_lazy_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::fast_union_uint16
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_inplace_union(array_container_t *src_1,\n
      \                                             const array_container_t *src_2,\n
      \                                             container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17601,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17604
      start: 17598
    functionDepth: 2
    functionLinenumber: 17598
    functionLinenumberEnd: 17604
    functionName: roaring::internal::array_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_union(const array_container_t *src_1,\n
      \                                 const bitset_container_t *src_2,\n                                  bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17612,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17615
      start: 17609
    functionDepth: 2
    functionLinenumber: 17609
    functionLinenumberEnd: 17615
    functionName: roaring::internal::array_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_set_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_union(const array_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17620,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17620,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17621,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17624,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 17619
        line_start: 17619
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 17627
      start: 17617
    functionDepth: 0
    functionLinenumber: 17617
    functionLinenumberEnd: 17627
    functionName: roaring::internal::run_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_set_lenrange
    - assert
    - roaring::internal::bitset_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_union(const run_container_t *src_1,\n                                const
      bitset_container_t *src_2,\n                                bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17632,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17632,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17633,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 17631
        line_start: 17631
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 17639
      start: 17629
    functionDepth: 0
    functionLinenumber: 17629
    functionLinenumberEnd: 17639
    functionName: roaring::internal::run_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - assert
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_union(const run_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17645,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17646,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17650,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17655,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17659,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17664,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17667,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17674,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17680,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17684
      start: 17642
    functionDepth: 0
    functionLinenumber: 17642
    functionLinenumberEnd: 17684
    functionName: roaring::internal::array_run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_union(const array_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               run_container_t *dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17688,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17694,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17695,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17706,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17710,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17716,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17719,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17726,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17732,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17736
      start: 17686
    functionDepth: 0
    functionLinenumber: 17686
    functionLinenumberEnd: 17736
    functionName: roaring::internal::array_run_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_inplace_union(const array_container_t *src_1,\n
      \                                      run_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17743,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17745,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17745,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17751,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17754,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17755,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17756,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17761,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17767
      start: 17738
    functionDepth: 2
    functionLinenumber: 17738
    functionLinenumberEnd: 17767
    functionName: roaring::internal::array_array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_union(const array_container_t *src_1,\n
      \                                const array_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17776,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17779,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17779,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17785,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17791,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17797,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17800,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17801,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17802,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17808,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17811,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17821
      start: 17769
    functionDepth: 2
    functionLinenumber: 17769
    functionLinenumberEnd: 17821
    functionName: roaring::internal::array_array_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - roaring::internal::array_container_grow
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_inplace_union(array_container_t *src_1,\n
      \                                        const array_container_t *src_2,\n                                         container_t
      **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17840,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17842,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17842,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17848,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17851,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17852,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17857
      start: 17823
    functionDepth: 2
    functionLinenumber: 17823
    functionLinenumberEnd: 17857
    functionName: roaring::internal::array_array_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_union(const array_container_t *src_1,\n
      \                                     const array_container_t *src_2,\n                                      container_t
      **dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17878,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17881,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17881,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17887,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17927,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17933,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17936,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17937,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17942
      start: 17859
    functionDepth: 2
    functionLinenumber: 17859
    functionLinenumberEnd: 17942
    functionName: roaring::internal::array_array_container_lazy_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::fast_union_uint16
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_inplace_union(array_container_t *src_1,\n
      \                                             const array_container_t *src_2,\n
      \                                             container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17601,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17604
      start: 17598
    functionDepth: 2
    functionLinenumber: 17598
    functionLinenumberEnd: 17604
    functionName: roaring::internal::array_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_union(const array_container_t *src_1,\n
      \                                 const bitset_container_t *src_2,\n                                  bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17612,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17615
      start: 17609
    functionDepth: 2
    functionLinenumber: 17609
    functionLinenumberEnd: 17615
    functionName: roaring::internal::array_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_set_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_union(const array_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17620,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17620,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17621,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17624,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 17619
        line_start: 17619
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 17627
      start: 17617
    functionDepth: 0
    functionLinenumber: 17617
    functionLinenumberEnd: 17627
    functionName: roaring::internal::run_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_set_lenrange
    - assert
    - roaring::internal::bitset_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_union(const run_container_t *src_1,\n                                const
      bitset_container_t *src_2,\n                                bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17632,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17632,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17633,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 17631
        line_start: 17631
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 17639
      start: 17629
    functionDepth: 0
    functionLinenumber: 17629
    functionLinenumberEnd: 17639
    functionName: roaring::internal::run_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - assert
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_union(const run_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17645,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17646,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17650,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17655,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17659,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17664,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17667,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17674,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17680,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17684
      start: 17642
    functionDepth: 0
    functionLinenumber: 17642
    functionLinenumberEnd: 17684
    functionName: roaring::internal::array_run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_union(const array_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               run_container_t *dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17688,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17694,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17695,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17706,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17710,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17716,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17719,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17726,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17732,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17736
      start: 17686
    functionDepth: 0
    functionLinenumber: 17686
    functionLinenumberEnd: 17736
    functionName: roaring::internal::array_run_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_inplace_union(const array_container_t *src_1,\n
      \                                      run_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17743,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17745,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17745,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17751,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17754,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17755,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17756,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17761,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17767
      start: 17738
    functionDepth: 2
    functionLinenumber: 17738
    functionLinenumberEnd: 17767
    functionName: roaring::internal::array_array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_union(const array_container_t *src_1,\n
      \                                const array_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17776,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17779,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17779,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17785,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17791,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17797,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17800,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17801,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17802,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17808,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17811,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17821
      start: 17769
    functionDepth: 2
    functionLinenumber: 17769
    functionLinenumberEnd: 17821
    functionName: roaring::internal::array_array_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - roaring::internal::array_container_grow
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_inplace_union(array_container_t *src_1,\n
      \                                        const array_container_t *src_2,\n                                         container_t
      **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17840,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17842,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17842,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17848,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17851,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17852,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17857
      start: 17823
    functionDepth: 2
    functionLinenumber: 17823
    functionLinenumberEnd: 17857
    functionName: roaring::internal::array_array_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_union(const array_container_t *src_1,\n
      \                                     const array_container_t *src_2,\n                                      container_t
      **dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17878,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17881,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17881,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17887,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17927,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17933,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17936,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17937,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17942
      start: 17859
    functionDepth: 2
    functionLinenumber: 17859
    functionLinenumberEnd: 17942
    functionName: roaring::internal::array_array_container_lazy_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::fast_union_uint16
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_inplace_union(array_container_t *src_1,\n
      \                                             const array_container_t *src_2,\n
      \                                             container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17601,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17604
      start: 17598
    functionDepth: 2
    functionLinenumber: 17598
    functionLinenumberEnd: 17604
    functionName: roaring::internal::array_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_union(const array_container_t *src_1,\n
      \                                 const bitset_container_t *src_2,\n                                  bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17612,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17615
      start: 17609
    functionDepth: 2
    functionLinenumber: 17609
    functionLinenumberEnd: 17615
    functionName: roaring::internal::array_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_set_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_union(const array_container_t *src_1,\n
      \                                      const bitset_container_t *src_2,\n                                       bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17620,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17620,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17621,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17624,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 17619
        line_start: 17619
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 17627
      start: 17617
    functionDepth: 0
    functionLinenumber: 17617
    functionLinenumberEnd: 17627
    functionName: roaring::internal::run_bitset_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_set_lenrange
    - assert
    - roaring::internal::bitset_container_copy
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_union(const run_container_t *src_1,\n                                const
      bitset_container_t *src_2,\n                                bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17632,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17632,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17633,1
    - Dst: roaring::internal::bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts:
    - condition: (!run_container_is_full(src_1))
      pos:
        line_end: 17631
        line_start: 17631
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 17639
      start: 17629
    functionDepth: 0
    functionLinenumber: 17629
    functionLinenumberEnd: 17639
    functionName: roaring::internal::run_bitset_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - assert
    - roaring::internal::bitset_set_lenrange
    - roaring::internal::run_container_is_full
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_union(const run_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17645,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17646,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17650,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17655,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17659,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17664,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17667,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17674,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17680,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17684
      start: 17642
    functionDepth: 0
    functionLinenumber: 17642
    functionLinenumberEnd: 17684
    functionName: roaring::internal::array_run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_union(const array_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               run_container_t *dst)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17688,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17694,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17695,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17706,1
    - Dst: roaring::internal::run_container_append_value_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17710,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17716,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17719,1
    - Dst: roaring::internal::run_container_append_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17726,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17732,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - array_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17736
      start: 17686
    functionDepth: 0
    functionLinenumber: 17686
    functionLinenumberEnd: 17736
    functionName: roaring::internal::array_run_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_append_value_first
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    - roaring::internal::run_container_append_value
    linkageType: ''
    returnType: void
    signature: "void array_run_container_inplace_union(const array_container_t *src_1,\n
      \                                      run_container_t *src_2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17743,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17745,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17745,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17751,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17754,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17755,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17756,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17761,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17767
      start: 17738
    functionDepth: 2
    functionLinenumber: 17738
    functionLinenumberEnd: 17767
    functionName: roaring::internal::array_array_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_union(const array_container_t *src_1,\n
      \                                const array_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17776,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17779,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17779,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17785,1
    - Dst: roaring::internal::union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17791,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17797,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17800,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17801,1
    - Dst: roaring::internal::bitset_set_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17802,1
    - Dst: roaring::internal::array_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17808,1
    - Dst: roaring::internal::bitset_extract_setbits_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17811,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17821
      start: 17769
    functionDepth: 2
    functionLinenumber: 17769
    functionLinenumberEnd: 17821
    functionName: roaring::internal::array_array_container_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - roaring::internal::array_container_grow
    - CAST_array
    - roaring::internal::union_uint16
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_extract_setbits_uint16
    - roaring::internal::bitset_set_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_inplace_union(array_container_t *src_1,\n
      \                                        const array_container_t *src_2,\n                                         container_t
      **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17840,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17842,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17842,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17848,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17851,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17852,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17857
      start: 17823
    functionDepth: 2
    functionLinenumber: 17823
    functionLinenumberEnd: 17857
    functionName: roaring::internal::array_array_container_lazy_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_union(const array_container_t *src_1,\n
      \                                     const array_container_t *src_2,\n                                      container_t
      **dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17878,1
    - Dst: roaring::internal::array_container_union
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17881,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17881,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17887,1
    - Dst: roaring::internal::fast_union_uint16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17927,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17933,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17936,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17937,1
    - Dst: roaring::internal::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17938,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17942
      start: 17859
    functionDepth: 2
    functionLinenumber: 17859
    functionLinenumberEnd: 17942
    functionName: roaring::internal::array_array_container_lazy_inplace_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_set_list
    - memmove
    - CAST_array
    - CAST_bitset
    - roaring::internal::array_container_union
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::fast_union_uint16
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_inplace_union(array_container_t *src_1,\n
      \                                             const array_container_t *src_2,\n
      \                                             container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17971,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17972,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17973,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17978,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17984
      start: 17968
    functionDepth: 1
    functionLinenumber: 17968
    functionLinenumberEnd: 17984
    functionName: roaring::internal::array_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_xor(const array_container_t *src_1,\n
      \                               const bitset_container_t *src_2,\n                                container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17994,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17997
      start: 17991
    functionDepth: 1
    functionLinenumber: 17991
    functionLinenumberEnd: 17997
    functionName: roaring::internal::array_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_xor(const array_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18009,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18011,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18014,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18015,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18017,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18020,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18026
      start: 18006
    functionDepth: 0
    functionLinenumber: 18006
    functionLinenumberEnd: 18026
    functionName: roaring::internal::run_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_xor(const run_container_t *src_1,\n                              const
      bitset_container_t *src_2,\n                              container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18036,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18039,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18043
      start: 18033
    functionDepth: 0
    functionLinenumber: 18033
    functionLinenumberEnd: 18043
    functionName: roaring::internal::run_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_copy
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_xor(const run_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   bitset_container_t
      *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18059,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18060,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18063,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18067,1
    - Dst: roaring::internal::array_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18071,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18072,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18073,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18077,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18083
      start: 18049
    functionDepth: 0
    functionLinenumber: 18049
    functionLinenumberEnd: 18083
    functionName: roaring::internal::array_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_run_container_lazy_xor
    - roaring::internal::array_container_from_run
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::bitset_container_from_run
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::run_container_create
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_run_container_xor(const array_container_t *src_1,\n                            const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18093,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18100,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18104,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18110,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18118
      start: 18090
    functionDepth: 0
    functionLinenumber: 18090
    functionLinenumberEnd: 18118
    functionName: roaring::internal::array_run_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_run_container_lazy_xor(const array_container_t *src_1,\n
      \                                 const run_container_t *src_2,\n                                  run_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18126,1
    - Dst: roaring::internal::run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18127,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18131
      start: 18124
    functionDepth: 0
    functionLinenumber: 18124
    functionLinenumberEnd: 18131
    functionName: roaring::internal::run_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - roaring::internal::run_container_xor
    - roaring::internal::run_container_create
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_xor(const run_container_t *src_1,\n                          const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18147,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18148,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18148,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18151,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18153,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18154,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18158,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18164
      start: 18141
    functionDepth: 1
    functionLinenumber: 18141
    functionLinenumberEnd: 18164
    functionName: roaring::internal::array_array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 17
    functionsReached:
    - roaring::internal::bitset_container_free
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_xor(const array_container_t *src_1,\n                               const
      array_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18186,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18187,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18187,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18190,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18193,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18198
      start: 18166
    functionDepth: 1
    functionLinenumber: 18166
    functionLinenumberEnd: 18198
    functionName: roaring::internal::array_array_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_xor(const array_container_t *src_1,\n
      \                                   const array_container_t *src_2,\n                                    container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18208,1
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18209,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18211,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18218
      start: 18205
    functionDepth: 0
    functionLinenumber: 18205
    functionLinenumberEnd: 18218
    functionName: roaring::internal::bitset_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_xor(const bitset_container_t *src_1,\n
      \                                const bitset_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18231,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18235,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18240
      start: 18227
    functionDepth: 1
    functionLinenumber: 18227
    functionLinenumberEnd: 18240
    functionName: roaring::internal::bitset_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_ixor(bitset_container_t *src_1,\n                                 const
      array_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18250,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18252,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18259
      start: 18247
    functionDepth: 0
    functionLinenumber: 18247
    functionLinenumberEnd: 18259
    functionName: roaring::internal::bitset_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_ixor(bitset_container_t *src_1,\n                                  const
      bitset_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18264,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18267
      start: 18261
    functionDepth: 0
    functionLinenumber: 18261
    functionLinenumberEnd: 18267
    functionName: roaring::internal::array_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_bitset_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_ixor(array_container_t *src_1,\n                                 const
      bitset_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18279,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18282
      start: 18276
    functionDepth: 0
    functionLinenumber: 18276
    functionLinenumberEnd: 18282
    functionName: roaring::internal::run_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_ixor(run_container_t *src_1,\n                               const
      bitset_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18287,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18290
      start: 18284
    functionDepth: 0
    functionLinenumber: 18284
    functionLinenumberEnd: 18290
    functionName: roaring::internal::bitset_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_ixor(bitset_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18298,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18301
      start: 18296
    functionDepth: 0
    functionLinenumber: 18296
    functionLinenumberEnd: 18301
    functionName: roaring::internal::array_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: int
    signature: "int array_run_container_ixor(array_container_t *src_1,\n                             const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18306,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18309
      start: 18303
    functionDepth: 0
    functionLinenumber: 18303
    functionLinenumberEnd: 18309
    functionName: roaring::internal::run_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_ixor(run_container_t *src_1,\n                             const
      array_container_t *src_2,\n                             container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18314,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18317
      start: 18311
    functionDepth: 0
    functionLinenumber: 18311
    functionLinenumberEnd: 18317
    functionName: roaring::internal::array_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_ixor(array_container_t *src_1,\n                                const
      array_container_t *src_2,\n                                container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18321,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18324
      start: 18319
    functionDepth: 0
    functionLinenumber: 18319
    functionLinenumberEnd: 18324
    functionName: roaring::internal::run_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_ixor(run_container_t *src_1, const run_container_t
      *src_2,\n                           container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17971,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17972,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17973,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17978,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17984
      start: 17968
    functionDepth: 1
    functionLinenumber: 17968
    functionLinenumberEnd: 17984
    functionName: roaring::internal::array_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_xor(const array_container_t *src_1,\n
      \                               const bitset_container_t *src_2,\n                                container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17994,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17997
      start: 17991
    functionDepth: 1
    functionLinenumber: 17991
    functionLinenumberEnd: 17997
    functionName: roaring::internal::array_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_xor(const array_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18009,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18011,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18014,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18015,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18017,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18020,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18026
      start: 18006
    functionDepth: 0
    functionLinenumber: 18006
    functionLinenumberEnd: 18026
    functionName: roaring::internal::run_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 18
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_xor(const run_container_t *src_1,\n                              const
      bitset_container_t *src_2,\n                              container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18036,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18039,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18043
      start: 18033
    functionDepth: 0
    functionLinenumber: 18033
    functionLinenumberEnd: 18043
    functionName: roaring::internal::run_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_copy
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_xor(const run_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   bitset_container_t
      *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18059,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18060,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18063,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18067,1
    - Dst: roaring::internal::array_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18071,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18072,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18073,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18077,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18083
      start: 18049
    functionDepth: 0
    functionLinenumber: 18049
    functionLinenumberEnd: 18083
    functionName: roaring::internal::array_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 18
    functionsReached:
    - roaring::internal::array_run_container_lazy_xor
    - roaring::internal::array_container_from_run
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::bitset_container_from_run
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::run_container_create
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_run_container_xor(const array_container_t *src_1,\n                            const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18093,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18100,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18104,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18110,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18118
      start: 18090
    functionDepth: 0
    functionLinenumber: 18090
    functionLinenumberEnd: 18118
    functionName: roaring::internal::array_run_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_run_container_lazy_xor(const array_container_t *src_1,\n
      \                                 const run_container_t *src_2,\n                                  run_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18126,1
    - Dst: roaring::internal::run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18127,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18131
      start: 18124
    functionDepth: 0
    functionLinenumber: 18124
    functionLinenumberEnd: 18131
    functionName: roaring::internal::run_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 21
    functionsReached:
    - roaring::internal::run_container_xor
    - roaring::internal::run_container_create
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_xor(const run_container_t *src_1,\n                          const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18147,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18148,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18148,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18151,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18153,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18154,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18158,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18164
      start: 18141
    functionDepth: 1
    functionLinenumber: 18141
    functionLinenumberEnd: 18164
    functionName: roaring::internal::array_array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 19
    functionsReached:
    - roaring::internal::bitset_container_free
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_xor(const array_container_t *src_1,\n                               const
      array_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18186,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18187,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18187,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18190,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18193,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18198
      start: 18166
    functionDepth: 1
    functionLinenumber: 18166
    functionLinenumberEnd: 18198
    functionName: roaring::internal::array_array_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_xor(const array_container_t *src_1,\n
      \                                   const array_container_t *src_2,\n                                    container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18208,1
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18209,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18211,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18218
      start: 18205
    functionDepth: 0
    functionLinenumber: 18205
    functionLinenumberEnd: 18218
    functionName: roaring::internal::bitset_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_xor(const bitset_container_t *src_1,\n
      \                                const bitset_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18231,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18235,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18240
      start: 18227
    functionDepth: 1
    functionLinenumber: 18227
    functionLinenumberEnd: 18240
    functionName: roaring::internal::bitset_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_ixor(bitset_container_t *src_1,\n                                 const
      array_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18250,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18252,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18259
      start: 18247
    functionDepth: 0
    functionLinenumber: 18247
    functionLinenumberEnd: 18259
    functionName: roaring::internal::bitset_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_ixor(bitset_container_t *src_1,\n                                  const
      bitset_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18264,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18267
      start: 18261
    functionDepth: 0
    functionLinenumber: 18261
    functionLinenumberEnd: 18267
    functionName: roaring::internal::array_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_bitset_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_ixor(array_container_t *src_1,\n                                 const
      bitset_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18279,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18282
      start: 18276
    functionDepth: 0
    functionLinenumber: 18276
    functionLinenumberEnd: 18282
    functionName: roaring::internal::run_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_ixor(run_container_t *src_1,\n                               const
      bitset_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18287,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18290
      start: 18284
    functionDepth: 0
    functionLinenumber: 18284
    functionLinenumberEnd: 18290
    functionName: roaring::internal::bitset_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_ixor(bitset_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18298,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18301
      start: 18296
    functionDepth: 0
    functionLinenumber: 18296
    functionLinenumberEnd: 18301
    functionName: roaring::internal::array_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: int
    signature: "int array_run_container_ixor(array_container_t *src_1,\n                             const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18306,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18309
      start: 18303
    functionDepth: 0
    functionLinenumber: 18303
    functionLinenumberEnd: 18309
    functionName: roaring::internal::run_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_ixor(run_container_t *src_1,\n                             const
      array_container_t *src_2,\n                             container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18314,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18317
      start: 18311
    functionDepth: 0
    functionLinenumber: 18311
    functionLinenumberEnd: 18317
    functionName: roaring::internal::array_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_ixor(array_container_t *src_1,\n                                const
      array_container_t *src_2,\n                                container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18321,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18324
      start: 18319
    functionDepth: 0
    functionLinenumber: 18319
    functionLinenumberEnd: 18324
    functionName: roaring::internal::run_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_ixor(run_container_t *src_1, const run_container_t
      *src_2,\n                           container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17971,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17972,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17973,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17978,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17984
      start: 17968
    functionDepth: 1
    functionLinenumber: 17968
    functionLinenumberEnd: 17984
    functionName: roaring::internal::array_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_xor(const array_container_t *src_1,\n
      \                               const bitset_container_t *src_2,\n                                container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17994,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17997
      start: 17991
    functionDepth: 1
    functionLinenumber: 17991
    functionLinenumberEnd: 17997
    functionName: roaring::internal::array_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_xor(const array_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18009,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18011,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18014,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18015,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18017,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18020,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18026
      start: 18006
    functionDepth: 0
    functionLinenumber: 18006
    functionLinenumberEnd: 18026
    functionName: roaring::internal::run_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_xor(const run_container_t *src_1,\n                              const
      bitset_container_t *src_2,\n                              container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18036,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18039,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18043
      start: 18033
    functionDepth: 0
    functionLinenumber: 18033
    functionLinenumberEnd: 18043
    functionName: roaring::internal::run_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_copy
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_xor(const run_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   bitset_container_t
      *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18059,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18060,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18063,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18067,1
    - Dst: roaring::internal::array_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18071,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18072,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18073,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18077,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18083
      start: 18049
    functionDepth: 0
    functionLinenumber: 18049
    functionLinenumberEnd: 18083
    functionName: roaring::internal::array_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - roaring::internal::array_run_container_lazy_xor
    - roaring::internal::array_container_from_run
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::bitset_container_from_run
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::run_container_create
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_run_container_xor(const array_container_t *src_1,\n                            const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18093,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18100,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18104,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18110,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18118
      start: 18090
    functionDepth: 0
    functionLinenumber: 18090
    functionLinenumberEnd: 18118
    functionName: roaring::internal::array_run_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_run_container_lazy_xor(const array_container_t *src_1,\n
      \                                 const run_container_t *src_2,\n                                  run_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18126,1
    - Dst: roaring::internal::run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18127,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18131
      start: 18124
    functionDepth: 0
    functionLinenumber: 18124
    functionLinenumberEnd: 18131
    functionName: roaring::internal::run_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 22
    functionsReached:
    - roaring::internal::run_container_xor
    - roaring::internal::run_container_create
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_xor(const run_container_t *src_1,\n                          const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18147,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18148,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18148,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18151,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18153,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18154,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18158,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18164
      start: 18141
    functionDepth: 1
    functionLinenumber: 18141
    functionLinenumberEnd: 18164
    functionName: roaring::internal::array_array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 21
    functionsReached:
    - roaring::internal::bitset_container_free
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_xor(const array_container_t *src_1,\n                               const
      array_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18186,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18187,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18187,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18190,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18193,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18198
      start: 18166
    functionDepth: 1
    functionLinenumber: 18166
    functionLinenumberEnd: 18198
    functionName: roaring::internal::array_array_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_xor(const array_container_t *src_1,\n
      \                                   const array_container_t *src_2,\n                                    container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18208,1
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18209,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18211,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18218
      start: 18205
    functionDepth: 0
    functionLinenumber: 18205
    functionLinenumberEnd: 18218
    functionName: roaring::internal::bitset_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_xor(const bitset_container_t *src_1,\n
      \                                const bitset_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18231,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18235,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18240
      start: 18227
    functionDepth: 1
    functionLinenumber: 18227
    functionLinenumberEnd: 18240
    functionName: roaring::internal::bitset_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_ixor(bitset_container_t *src_1,\n                                 const
      array_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18250,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18252,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18259
      start: 18247
    functionDepth: 0
    functionLinenumber: 18247
    functionLinenumberEnd: 18259
    functionName: roaring::internal::bitset_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_ixor(bitset_container_t *src_1,\n                                  const
      bitset_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18264,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18267
      start: 18261
    functionDepth: 0
    functionLinenumber: 18261
    functionLinenumberEnd: 18267
    functionName: roaring::internal::array_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_bitset_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_ixor(array_container_t *src_1,\n                                 const
      bitset_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18279,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18282
      start: 18276
    functionDepth: 0
    functionLinenumber: 18276
    functionLinenumberEnd: 18282
    functionName: roaring::internal::run_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_ixor(run_container_t *src_1,\n                               const
      bitset_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18287,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18290
      start: 18284
    functionDepth: 0
    functionLinenumber: 18284
    functionLinenumberEnd: 18290
    functionName: roaring::internal::bitset_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_ixor(bitset_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18298,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18301
      start: 18296
    functionDepth: 0
    functionLinenumber: 18296
    functionLinenumberEnd: 18301
    functionName: roaring::internal::array_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: int
    signature: "int array_run_container_ixor(array_container_t *src_1,\n                             const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18306,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18309
      start: 18303
    functionDepth: 0
    functionLinenumber: 18303
    functionLinenumberEnd: 18309
    functionName: roaring::internal::run_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_ixor(run_container_t *src_1,\n                             const
      array_container_t *src_2,\n                             container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18314,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18317
      start: 18311
    functionDepth: 0
    functionLinenumber: 18311
    functionLinenumberEnd: 18317
    functionName: roaring::internal::array_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_ixor(array_container_t *src_1,\n                                const
      array_container_t *src_2,\n                                container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18321,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18324
      start: 18319
    functionDepth: 0
    functionLinenumber: 18319
    functionLinenumberEnd: 18324
    functionName: roaring::internal::run_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_ixor(run_container_t *src_1, const run_container_t
      *src_2,\n                           container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17971,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17972,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17973,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17978,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17984
      start: 17968
    functionDepth: 1
    functionLinenumber: 17968
    functionLinenumberEnd: 17984
    functionName: roaring::internal::array_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_xor(const array_container_t *src_1,\n
      \                               const bitset_container_t *src_2,\n                                container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17994,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:17995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17997
      start: 17991
    functionDepth: 1
    functionLinenumber: 17991
    functionLinenumberEnd: 17997
    functionName: roaring::internal::array_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_copy
    linkageType: ''
    returnType: void
    signature: "void array_bitset_container_lazy_xor(const array_container_t *src_1,\n
      \                                    const bitset_container_t *src_2,\n                                     bitset_container_t
      *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18009,1
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18011,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18014,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18015,1
    - Dst: roaring::internal::bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18017,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18020,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18026
      start: 18006
    functionDepth: 0
    functionLinenumber: 18006
    functionLinenumberEnd: 18026
    functionName: roaring::internal::run_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 22
    functionsReached:
    - roaring::internal::bitset_container_compute_cardinality
    - roaring::internal::bitset_container_free
    - roaring::internal::bitset_flip_range
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_copy
    - roaring::internal::bitset_container_create
    - UINT32_C
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_xor(const run_container_t *src_1,\n                              const
      bitset_container_t *src_2,\n                              container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18036,1
    - Dst: roaring::internal::bitset_flip_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18039,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - bitset_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18043
      start: 18033
    functionDepth: 0
    functionLinenumber: 18033
    functionLinenumberEnd: 18043
    functionName: roaring::internal::run_bitset_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::bitset_flip_range
    - roaring::internal::bitset_container_copy
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: "void run_bitset_container_lazy_xor(const run_container_t *src_1,\n
      \                                  const bitset_container_t *src_2,\n                                   bitset_container_t
      *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18059,1
    - Dst: roaring::internal::array_run_container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18060,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18063,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18067,1
    - Dst: roaring::internal::array_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18071,1
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18072,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18073,1
    - Dst: roaring::internal::bitset_container_from_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18077,1
    - Dst: roaring::internal::bitset_array_container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18083
      start: 18049
    functionDepth: 0
    functionLinenumber: 18049
    functionLinenumberEnd: 18083
    functionName: roaring::internal::array_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 22
    functionsReached:
    - roaring::internal::array_run_container_lazy_xor
    - roaring::internal::array_container_from_run
    - roaring::internal::convert_run_to_efficient_container_and_free
    - roaring::internal::bitset_container_from_run
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    - roaring::internal::bitset_array_container_ixor
    - roaring::internal::run_container_create
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int array_run_container_xor(const array_container_t *src_1,\n                            const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18093,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18100,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18104,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18110,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18118
      start: 18090
    functionDepth: 0
    functionLinenumber: 18090
    functionLinenumberEnd: 18118
    functionName: roaring::internal::array_run_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void array_run_container_lazy_xor(const array_container_t *src_1,\n
      \                                 const run_container_t *src_2,\n                                  run_container_t
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18126,1
    - Dst: roaring::internal::run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18127,1
    - Dst: roaring::internal::convert_run_to_efficient_container_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18131
      start: 18124
    functionDepth: 0
    functionLinenumber: 18124
    functionLinenumberEnd: 18131
    functionName: roaring::internal::run_run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 23
    functionsReached:
    - roaring::internal::run_container_xor
    - roaring::internal::run_container_create
    - roaring::internal::convert_run_to_efficient_container_and_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_xor(const run_container_t *src_1,\n                          const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18147,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18148,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18148,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18151,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18153,1
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18154,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18158,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18164
      start: 18141
    functionDepth: 1
    functionLinenumber: 18141
    functionLinenumberEnd: 18164
    functionName: roaring::internal::array_array_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 23
    functionsReached:
    - roaring::internal::bitset_container_free
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_xor(const array_container_t *src_1,\n                               const
      array_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18186,1
    - Dst: roaring::internal::array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18187,1
    - Dst: CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18187,1
    - Dst: roaring::internal::bitset_container_from_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18190,1
    - Dst: CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18193,1
    - Dst: roaring::internal::bitset_flip_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18198
      start: 18166
    functionDepth: 1
    functionLinenumber: 18166
    functionLinenumberEnd: 18198
    functionName: roaring::internal::array_array_container_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CAST_array
    - roaring::internal::array_container_xor
    - CAST_bitset
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_flip_list
    - roaring::internal::bitset_container_from_array
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_lazy_xor(const array_container_t *src_1,\n
      \                                   const array_container_t *src_2,\n                                    container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18208,1
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18209,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18211,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18218
      start: 18205
    functionDepth: 0
    functionLinenumber: 18205
    functionLinenumberEnd: 18218
    functionName: roaring::internal::bitset_bitset_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_create
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_xor(const bitset_container_t *src_1,\n
      \                                const bitset_container_t *src_2,\n                                 container_t
      **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::bitset_flip_list_withcard
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18231,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18235,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18240
      start: 18227
    functionDepth: 1
    functionLinenumber: 18227
    functionLinenumberEnd: 18240
    functionName: roaring::internal::bitset_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_flip_list_withcard
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_array_container_ixor(bitset_container_t *src_1,\n                                 const
      array_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18250,1
    - Dst: roaring::internal::array_container_from_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18252,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18259
      start: 18247
    functionDepth: 0
    functionLinenumber: 18247
    functionLinenumberEnd: 18259
    functionName: roaring::internal::bitset_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - bitset_container_xor
    - roaring::internal::array_container_from_bitset
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_bitset_container_ixor(bitset_container_t *src_1,\n                                  const
      bitset_container_t *src_2,\n                                  container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18264,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18267
      start: 18261
    functionDepth: 0
    functionLinenumber: 18261
    functionLinenumberEnd: 18267
    functionName: roaring::internal::array_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_bitset_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_bitset_container_ixor(array_container_t *src_1,\n                                 const
      bitset_container_t *src_2,\n                                 container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18279,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - bitset_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18282
      start: 18276
    functionDepth: 0
    functionLinenumber: 18276
    functionLinenumberEnd: 18282
    functionName: roaring::internal::run_bitset_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: bool
    signature: "bool run_bitset_container_ixor(run_container_t *src_1,\n                               const
      bitset_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_bitset_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18287,1
    - Dst: roaring::internal::bitset_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - bitset_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18290
      start: 18284
    functionDepth: 0
    functionLinenumber: 18284
    functionLinenumberEnd: 18290
    functionName: roaring::internal::bitset_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_bitset_container_xor
    - roaring::internal::bitset_container_free
    linkageType: ''
    returnType: bool
    signature: "bool bitset_run_container_ixor(bitset_container_t *src_1,\n                               const
      run_container_t *src_2,\n                               container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18298,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18301
      start: 18296
    functionDepth: 0
    functionLinenumber: 18296
    functionLinenumberEnd: 18301
    functionName: roaring::internal::array_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::array_container_free
    linkageType: ''
    returnType: int
    signature: "int array_run_container_ixor(array_container_t *src_1,\n                             const
      run_container_t *src_2, container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18306,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18309
      start: 18303
    functionDepth: 0
    functionLinenumber: 18303
    functionLinenumberEnd: 18309
    functionName: roaring::internal::run_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_array_container_ixor(run_container_t *src_1,\n                             const
      array_container_t *src_2,\n                             container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::array_array_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18314,1
    - Dst: roaring::internal::array_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - array_container_t*
    - array_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18317
      start: 18311
    functionDepth: 0
    functionLinenumber: 18311
    functionLinenumberEnd: 18317
    functionName: roaring::internal::array_array_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::array_container_free
    - roaring::internal::array_array_container_xor
    linkageType: ''
    returnType: bool
    signature: "bool array_array_container_ixor(array_container_t *src_1,\n                                const
      array_container_t *src_2,\n                                container_t **dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_run_container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18321,1
    - Dst: roaring::internal::run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - container_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18324
      start: 18319
    functionDepth: 0
    functionLinenumber: 18319
    functionLinenumberEnd: 18324
    functionName: roaring::internal::run_run_container_ixor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_run_container_xor
    - roaring::internal::run_container_free
    linkageType: ''
    returnType: int
    signature: "int run_run_container_ixor(run_container_t *src_1, const run_container_t
      *src_2,\n                           container_t **dst)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18369,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18384,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18411,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18415
      start: 18368
    functionDepth: 0
    functionLinenumber: 18368
    functionLinenumberEnd: 18415
    functionName: roaring::internal::run_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_add(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18421,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18427,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18435
      start: 18418
    functionDepth: 0
    functionLinenumber: 18418
    functionLinenumberEnd: 18435
    functionName: roaring::internal::run_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 52
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create_given_capacity(int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18443,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18446
      start: 18437
    functionDepth: 0
    functionLinenumber: 18437
    functionLinenumberEnd: 18446
    functionName: roaring::internal::run_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: int
    signature: int run_container_shrink_to_fit(run_container_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18450
      start: 18448
    functionDepth: 0
    functionLinenumber: 18448
    functionLinenumberEnd: 18450
    functionName: roaring::internal::run_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 84
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18454,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18460
      start: 18452
    functionDepth: 0
    functionLinenumber: 18452
    functionLinenumberEnd: 18460
    functionName: run_container_t *run_container_clone(const run_container_t *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED run_container_t *run_container_clone(const run_container_t
      *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18471,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18486,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18487,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18496,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18497,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - run_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18519
      start: 18462
    functionDepth: 0
    functionLinenumber: 18462
    functionLinenumberEnd: 18519
    functionName: roaring::internal::run_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void run_container_offset(const run_container_t *c, container_t **loc,\n
      \                         container_t **hic, uint16_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18524,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18526
      start: 18522
    functionDepth: 0
    functionLinenumber: 18522
    functionLinenumberEnd: 18526
    functionName: roaring::internal::run_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 88
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void run_container_free(run_container_t *run)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18535,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18538,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18540,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18542,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - run
    - min
    - copy
    argTypes:
    - run_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (run->capacity >= min)
      pos:
        line_end: 18534
        line_start: 18534
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 18546
      start: 18528
    functionDepth: 0
    functionLinenumber: 18528
    functionLinenumberEnd: 18546
    functionName: roaring::internal::run_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 68
    functionsReached:
    - roaring_malloc
    - assert
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void run_container_grow(run_container_t *run, int32_t min, bool copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18552,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18556
      start: 18549
    functionDepth: 0
    functionLinenumber: 18549
    functionLinenumberEnd: 18556
    functionName: roaring::internal::run_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 52
    functionsReached:
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void run_container_copy(const run_container_t *src, run_container_t
      *dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18565,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18566,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18569,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18573,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18579,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18586,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18589,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18602,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18605,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18609,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18612
      start: 18560
    functionDepth: 0
    functionLinenumber: 18560
    functionLinenumberEnd: 18612
    functionName: roaring::internal::run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_append
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union(const run_container_t *src_1,\n                         const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18621,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18622,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18628,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18636,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18637,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18647,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18650,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18662,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18665,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18669,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18672
      start: 18616
    functionDepth: 0
    functionLinenumber: 18616
    functionLinenumberEnd: 18672
    functionName: roaring::internal::run_container_union_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union_inplace(run_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18684,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18692,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18696,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18702,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18712
      start: 18677
    functionDepth: 0
    functionLinenumber: 18677
    functionLinenumberEnd: 18712
    functionName: roaring::internal::run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_xor(const run_container_t *src_1,\n                       const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18719,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18720,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18723,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18727,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18734,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18792
      start: 18716
    functionDepth: 0
    functionLinenumber: 18716
    functionLinenumberEnd: 18792
    functionName: roaring::internal::run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_container_intersection(const run_container_t *src_1,\n                                const
      run_container_t *src_2,\n                                run_container_t *dst)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18797,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18798,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18801,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18804,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18862
      start: 18795
    functionDepth: 0
    functionLinenumber: 18795
    functionLinenumberEnd: 18862
    functionName: roaring::internal::run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_container_intersection_cardinality(const run_container_t *src_1,\n
      \                                          const run_container_t *src_2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18866,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18867,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18870,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18873,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18900
      start: 18864
    functionDepth: 0
    functionLinenumber: 18864
    functionLinenumberEnd: 18900
    functionName: roaring::internal::run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_empty
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: "bool run_container_intersect(const run_container_t *src_1,\n                             const
      run_container_t *src_2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18909,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18924,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18940,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18954,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18957,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18962
      start: 18904
    functionDepth: 1
    functionLinenumber: 18904
    functionLinenumberEnd: 18962
    functionName: roaring::internal::run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_andnot(const run_container_t *src_1,\n                          const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cont
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18973
      start: 18967
    functionDepth: 1
    functionLinenumber: 18967
    functionLinenumberEnd: 18973
    functionName: roaring::internal::run_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void run_container_printf(const run_container_t *cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18985,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18986,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cont
    - base
    argTypes:
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18993
      start: 18979
    functionDepth: 1
    functionLinenumber: 18979
    functionLinenumberEnd: 18993
    functionName: roaring::internal::run_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void run_container_printf_as_uint32_array(const run_container_t *cont,\n
      \                                         uint32_t base)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - run
    - reason
    argTypes:
    - run_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19045
      start: 18998
    functionDepth: 0
    functionLinenumber: 18998
    functionLinenumberEnd: 19045
    functionName: roaring::internal::run_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_validate(const run_container_t *run, const char
      **reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19049,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19050,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19053
      start: 19047
    functionDepth: 0
    functionLinenumber: 19047
    functionLinenumberEnd: 19053
    functionName: roaring::internal::run_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_write(const run_container_t *container, char
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19059,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19062,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19064,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19068
      start: 19055
    functionDepth: 0
    functionLinenumber: 19055
    functionLinenumberEnd: 19068
    functionName: roaring::internal::run_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_read(int32_t cardinality, run_container_t *container,\n
      \                          const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19080
      start: 19070
    functionDepth: 0
    functionLinenumber: 19070
    functionLinenumberEnd: 19080
    functionName: roaring::internal::run_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate(const run_container_t *cont, uint32_t base,\n
      \                          roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19094
      start: 19082
    functionDepth: 0
    functionLinenumber: 19082
    functionLinenumberEnd: 19094
    functionName: roaring::internal::run_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate64(const run_container_t *cont, uint32_t
      base,\n                             roaring_iterator64 iterator, uint64_t high_bits,\n
      \                            void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19122
      start: 19096
    functionDepth: 0
    functionLinenumber: 19096
    functionLinenumberEnd: 19122
    functionName: roaring::internal::run_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset(const run_container_t *container1,\n
      \                            const run_container_t *container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19138,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19152,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19155,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19165,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - src
    - start
    - length
    argTypes:
    - run_container_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19172
      start: 19129
    functionDepth: 1
    functionLinenumber: 19129
    functionLinenumberEnd: 19172
    functionName: roaring::internal::run_container_smart_append_exclusive
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 29
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_smart_append_exclusive(run_container_t *src,\n
      \                                         const uint16_t start,\n                                          const
      uint16_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - run_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19187
      start: 19174
    functionDepth: 0
    functionLinenumber: 19174
    functionLinenumberEnd: 19187
    functionName: roaring::internal::run_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_select(const run_container_t *container,\n                          uint32_t
      *start_rank, uint32_t rank,\n                          uint32_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19204
      start: 19189
    functionDepth: 0
    functionLinenumber: 19189
    functionLinenumberEnd: 19204
    functionName: roaring::internal::run_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_rank(const run_container_t *container, uint16_t x)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - container
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - run_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19238
      start: 19205
    functionDepth: 0
    functionLinenumber: 19205
    functionLinenumberEnd: 19238
    functionName: roaring::internal::run_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t run_container_rank_many(const run_container_t *container,\n
      \                                uint64_t start_rank, const uint32_t *begin,\n
      \                                const uint32_t *end, uint64_t *ans)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19259
      start: 19240
    functionDepth: 0
    functionLinenumber: 19240
    functionLinenumberEnd: 19259
    functionName: roaring::internal::run_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_contains
    linkageType: ''
    returnType: int
    signature: int run_container_get_index(const run_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19276,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19278,1
    - Dst: _mm512_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19279,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19280,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19283,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19284,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19288,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19301
      start: 19266
    functionDepth: 0
    functionLinenumber: 19266
    functionLinenumberEnd: 19301
    functionName: roaring::internal::_avx512_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm512_extracti32x8_epi32
    - _mm256_storeu_si256
    - _mm512_setzero_si512
    - _mm512_loadu_si512
    - _mm512_srli_epi32
    - _mm512_add_epi32
    linkageType: ''
    returnType: int
    signature: "int _avx512_run_container_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19317,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19319,1
    - Dst: _mm256_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19320,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19321,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19334
      start: 19303
    functionDepth: 0
    functionLinenumber: 19303
    functionLinenumberEnd: 19334
    functionName: roaring::internal::CROARING_TARGET_AVX2::_avx2_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_srli_epi32
    - _mm256_storeu_si256
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - _mm256_add_epi32
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX512
    signature: 'CROARING_UNTARGET_AVX512 CROARING_TARGET_AVX2

      ALLOW_UNALIGNED

      /* Get the cardinality of `run''. Requires an actual computation. */

      static inline int _avx2_run_container_cardinality(const run_container_t *run)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19348,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19354,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19356,1
    - Dst: _mm256_setr_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19359,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19361,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19362,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19363,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19375
      start: 19336
    functionDepth: 0
    functionLinenumber: 19336
    functionLinenumberEnd: 19375
    functionName: roaring::internal::_avx2_run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm256_setr_epi32
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED _avx2_run_container_to_uint32_array(void *vout, const
      run_container_t *cont,\n                                        uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19392
      start: 19377
    functionDepth: 0
    functionLinenumber: 19377
    functionLinenumberEnd: 19392
    functionName: roaring::internal::_scalar_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 _scalar_run_container_cardinality(\n    const
      run_container_t *run)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19396,1
    - Dst: roaring::internal::_avx512_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19397,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19400,1
    - Dst: roaring::internal::_avx2_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19401,1
    - Dst: roaring::internal::_scalar_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19405
      start: 19394
    functionDepth: 1
    functionLinenumber: 19394
    functionLinenumberEnd: 19405
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 121
    functionsReached:
    - roaring::internal::_scalar_run_container_cardinality
    - roaring::internal::croaring_hardware_support
    - roaring::internal::_avx2_run_container_cardinality
    - roaring::internal::_avx512_run_container_cardinality
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19423
      start: 19407
    functionDepth: 0
    functionLinenumber: 19407
    functionLinenumberEnd: 19423
    functionName: roaring::internal::_scalar_run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int _scalar_run_container_to_uint32_array(void *vout,\n                                          const
      run_container_t *cont,\n                                          uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19427,1
    - Dst: roaring::internal::_avx2_run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19428,1
    - Dst: roaring::internal::_scalar_run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19432
      start: 19425
    functionDepth: 1
    functionLinenumber: 19425
    functionLinenumberEnd: 19432
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::_avx2_run_container_to_uint32_array
    - roaring::internal::croaring_hardware_support
    - roaring::internal::_scalar_run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19449
      start: 19437
    functionDepth: 0
    functionLinenumber: 19437
    functionLinenumberEnd: 19449
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 121
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19467
      start: 19451
    functionDepth: 0
    functionLinenumber: 19451
    functionLinenumberEnd: 19467
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18369,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18384,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18411,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18415
      start: 18368
    functionDepth: 0
    functionLinenumber: 18368
    functionLinenumberEnd: 18415
    functionName: roaring::internal::run_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_add(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18421,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18427,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18435
      start: 18418
    functionDepth: 0
    functionLinenumber: 18418
    functionLinenumberEnd: 18435
    functionName: roaring::internal::run_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 55
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create_given_capacity(int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18443,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18446
      start: 18437
    functionDepth: 0
    functionLinenumber: 18437
    functionLinenumberEnd: 18446
    functionName: roaring::internal::run_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: int
    signature: int run_container_shrink_to_fit(run_container_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18450
      start: 18448
    functionDepth: 0
    functionLinenumber: 18448
    functionLinenumberEnd: 18450
    functionName: roaring::internal::run_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 84
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18454,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18460
      start: 18452
    functionDepth: 0
    functionLinenumber: 18452
    functionLinenumberEnd: 18460
    functionName: run_container_t *run_container_clone(const run_container_t *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED run_container_t *run_container_clone(const run_container_t
      *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18471,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18486,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18487,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18496,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18497,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - run_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18519
      start: 18462
    functionDepth: 0
    functionLinenumber: 18462
    functionLinenumberEnd: 18519
    functionName: roaring::internal::run_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void run_container_offset(const run_container_t *c, container_t **loc,\n
      \                         container_t **hic, uint16_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18524,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18526
      start: 18522
    functionDepth: 0
    functionLinenumber: 18522
    functionLinenumberEnd: 18526
    functionName: roaring::internal::run_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 88
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void run_container_free(run_container_t *run)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18535,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18538,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18540,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18542,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - run
    - min
    - copy
    argTypes:
    - run_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (run->capacity >= min)
      pos:
        line_end: 18534
        line_start: 18534
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 18546
      start: 18528
    functionDepth: 0
    functionLinenumber: 18528
    functionLinenumberEnd: 18546
    functionName: roaring::internal::run_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 75
    functionsReached:
    - roaring_malloc
    - assert
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void run_container_grow(run_container_t *run, int32_t min, bool copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18552,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18556
      start: 18549
    functionDepth: 0
    functionLinenumber: 18549
    functionLinenumberEnd: 18556
    functionName: roaring::internal::run_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 55
    functionsReached:
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void run_container_copy(const run_container_t *src, run_container_t
      *dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18565,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18566,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18569,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18573,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18579,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18586,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18589,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18602,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18605,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18609,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18612
      start: 18560
    functionDepth: 0
    functionLinenumber: 18560
    functionLinenumberEnd: 18612
    functionName: roaring::internal::run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_append
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union(const run_container_t *src_1,\n                         const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18621,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18622,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18628,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18636,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18637,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18647,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18650,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18662,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18665,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18669,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18672
      start: 18616
    functionDepth: 0
    functionLinenumber: 18616
    functionLinenumberEnd: 18672
    functionName: roaring::internal::run_container_union_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union_inplace(run_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18684,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18692,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18696,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18702,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18712
      start: 18677
    functionDepth: 0
    functionLinenumber: 18677
    functionLinenumberEnd: 18712
    functionName: roaring::internal::run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_xor(const run_container_t *src_1,\n                       const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18719,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18720,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18723,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18727,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18734,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18792
      start: 18716
    functionDepth: 0
    functionLinenumber: 18716
    functionLinenumberEnd: 18792
    functionName: roaring::internal::run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_container_intersection(const run_container_t *src_1,\n                                const
      run_container_t *src_2,\n                                run_container_t *dst)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18797,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18798,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18801,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18804,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18862
      start: 18795
    functionDepth: 0
    functionLinenumber: 18795
    functionLinenumberEnd: 18862
    functionName: roaring::internal::run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_container_intersection_cardinality(const run_container_t *src_1,\n
      \                                          const run_container_t *src_2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18866,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18867,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18870,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18873,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18900
      start: 18864
    functionDepth: 0
    functionLinenumber: 18864
    functionLinenumberEnd: 18900
    functionName: roaring::internal::run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_empty
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: "bool run_container_intersect(const run_container_t *src_1,\n                             const
      run_container_t *src_2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18909,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18924,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18940,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18954,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18957,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18962
      start: 18904
    functionDepth: 1
    functionLinenumber: 18904
    functionLinenumberEnd: 18962
    functionName: roaring::internal::run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_andnot(const run_container_t *src_1,\n                          const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cont
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18973
      start: 18967
    functionDepth: 1
    functionLinenumber: 18967
    functionLinenumberEnd: 18973
    functionName: roaring::internal::run_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void run_container_printf(const run_container_t *cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18985,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18986,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cont
    - base
    argTypes:
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18993
      start: 18979
    functionDepth: 1
    functionLinenumber: 18979
    functionLinenumberEnd: 18993
    functionName: roaring::internal::run_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void run_container_printf_as_uint32_array(const run_container_t *cont,\n
      \                                         uint32_t base)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - run
    - reason
    argTypes:
    - run_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19045
      start: 18998
    functionDepth: 0
    functionLinenumber: 18998
    functionLinenumberEnd: 19045
    functionName: roaring::internal::run_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_validate(const run_container_t *run, const char
      **reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19049,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19050,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19053
      start: 19047
    functionDepth: 0
    functionLinenumber: 19047
    functionLinenumberEnd: 19053
    functionName: roaring::internal::run_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_write(const run_container_t *container, char
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19059,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19062,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19064,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19068
      start: 19055
    functionDepth: 0
    functionLinenumber: 19055
    functionLinenumberEnd: 19068
    functionName: roaring::internal::run_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_read(int32_t cardinality, run_container_t *container,\n
      \                          const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19080
      start: 19070
    functionDepth: 0
    functionLinenumber: 19070
    functionLinenumberEnd: 19080
    functionName: roaring::internal::run_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate(const run_container_t *cont, uint32_t base,\n
      \                          roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19094
      start: 19082
    functionDepth: 0
    functionLinenumber: 19082
    functionLinenumberEnd: 19094
    functionName: roaring::internal::run_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate64(const run_container_t *cont, uint32_t
      base,\n                             roaring_iterator64 iterator, uint64_t high_bits,\n
      \                            void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19122
      start: 19096
    functionDepth: 0
    functionLinenumber: 19096
    functionLinenumberEnd: 19122
    functionName: roaring::internal::run_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset(const run_container_t *container1,\n
      \                            const run_container_t *container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19138,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19152,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19155,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19165,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - src
    - start
    - length
    argTypes:
    - run_container_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19172
      start: 19129
    functionDepth: 1
    functionLinenumber: 19129
    functionLinenumberEnd: 19172
    functionName: roaring::internal::run_container_smart_append_exclusive
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 30
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_smart_append_exclusive(run_container_t *src,\n
      \                                         const uint16_t start,\n                                          const
      uint16_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - run_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19187
      start: 19174
    functionDepth: 0
    functionLinenumber: 19174
    functionLinenumberEnd: 19187
    functionName: roaring::internal::run_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_select(const run_container_t *container,\n                          uint32_t
      *start_rank, uint32_t rank,\n                          uint32_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19204
      start: 19189
    functionDepth: 0
    functionLinenumber: 19189
    functionLinenumberEnd: 19204
    functionName: roaring::internal::run_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_rank(const run_container_t *container, uint16_t x)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - container
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - run_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19238
      start: 19205
    functionDepth: 0
    functionLinenumber: 19205
    functionLinenumberEnd: 19238
    functionName: roaring::internal::run_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t run_container_rank_many(const run_container_t *container,\n
      \                                uint64_t start_rank, const uint32_t *begin,\n
      \                                const uint32_t *end, uint64_t *ans)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19259
      start: 19240
    functionDepth: 0
    functionLinenumber: 19240
    functionLinenumberEnd: 19259
    functionName: roaring::internal::run_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_contains
    linkageType: ''
    returnType: int
    signature: int run_container_get_index(const run_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19276,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19278,1
    - Dst: _mm512_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19279,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19280,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19283,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19284,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19288,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19301
      start: 19266
    functionDepth: 0
    functionLinenumber: 19266
    functionLinenumberEnd: 19301
    functionName: roaring::internal::_avx512_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - _mm512_extracti32x8_epi32
    - _mm256_storeu_si256
    - _mm512_setzero_si512
    - _mm512_loadu_si512
    - _mm512_srli_epi32
    - _mm512_add_epi32
    linkageType: ''
    returnType: int
    signature: "int _avx512_run_container_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19317,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19319,1
    - Dst: _mm256_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19320,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19321,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19334
      start: 19303
    functionDepth: 0
    functionLinenumber: 19303
    functionLinenumberEnd: 19334
    functionName: roaring::internal::CROARING_TARGET_AVX2::_avx2_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_srli_epi32
    - _mm256_storeu_si256
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - _mm256_add_epi32
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX512
    signature: 'CROARING_UNTARGET_AVX512 CROARING_TARGET_AVX2

      ALLOW_UNALIGNED

      /* Get the cardinality of `run''. Requires an actual computation. */

      static inline int _avx2_run_container_cardinality(const run_container_t *run)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19348,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19354,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19356,1
    - Dst: _mm256_setr_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19359,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19361,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19362,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19363,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19375
      start: 19336
    functionDepth: 0
    functionLinenumber: 19336
    functionLinenumberEnd: 19375
    functionName: roaring::internal::_avx2_run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm256_setr_epi32
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED _avx2_run_container_to_uint32_array(void *vout, const
      run_container_t *cont,\n                                        uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19392
      start: 19377
    functionDepth: 0
    functionLinenumber: 19377
    functionLinenumberEnd: 19392
    functionName: roaring::internal::_scalar_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 _scalar_run_container_cardinality(\n    const
      run_container_t *run)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19396,1
    - Dst: roaring::internal::_avx512_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19397,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19400,1
    - Dst: roaring::internal::_avx2_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19401,1
    - Dst: roaring::internal::_scalar_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19405
      start: 19394
    functionDepth: 1
    functionLinenumber: 19394
    functionLinenumberEnd: 19405
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 122
    functionsReached:
    - roaring::internal::_scalar_run_container_cardinality
    - roaring::internal::croaring_hardware_support
    - roaring::internal::_avx2_run_container_cardinality
    - roaring::internal::_avx512_run_container_cardinality
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19423
      start: 19407
    functionDepth: 0
    functionLinenumber: 19407
    functionLinenumberEnd: 19423
    functionName: roaring::internal::_scalar_run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int _scalar_run_container_to_uint32_array(void *vout,\n                                          const
      run_container_t *cont,\n                                          uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19427,1
    - Dst: roaring::internal::_avx2_run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19428,1
    - Dst: roaring::internal::_scalar_run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19432
      start: 19425
    functionDepth: 1
    functionLinenumber: 19425
    functionLinenumberEnd: 19432
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::_avx2_run_container_to_uint32_array
    - roaring::internal::croaring_hardware_support
    - roaring::internal::_scalar_run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19449
      start: 19437
    functionDepth: 0
    functionLinenumber: 19437
    functionLinenumberEnd: 19449
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 122
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19467
      start: 19451
    functionDepth: 0
    functionLinenumber: 19451
    functionLinenumberEnd: 19467
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18369,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18384,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18411,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18415
      start: 18368
    functionDepth: 0
    functionLinenumber: 18368
    functionLinenumberEnd: 18415
    functionName: roaring::internal::run_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_add(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18421,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18427,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18435
      start: 18418
    functionDepth: 0
    functionLinenumber: 18418
    functionLinenumberEnd: 18435
    functionName: roaring::internal::run_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 57
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create_given_capacity(int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18443,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18446
      start: 18437
    functionDepth: 0
    functionLinenumber: 18437
    functionLinenumberEnd: 18446
    functionName: roaring::internal::run_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: int
    signature: int run_container_shrink_to_fit(run_container_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18450
      start: 18448
    functionDepth: 0
    functionLinenumber: 18448
    functionLinenumberEnd: 18450
    functionName: roaring::internal::run_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 84
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18454,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18460
      start: 18452
    functionDepth: 0
    functionLinenumber: 18452
    functionLinenumberEnd: 18460
    functionName: run_container_t *run_container_clone(const run_container_t *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED run_container_t *run_container_clone(const run_container_t
      *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18471,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18486,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18487,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18496,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18497,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - run_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18519
      start: 18462
    functionDepth: 0
    functionLinenumber: 18462
    functionLinenumberEnd: 18519
    functionName: roaring::internal::run_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void run_container_offset(const run_container_t *c, container_t **loc,\n
      \                         container_t **hic, uint16_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18524,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18526
      start: 18522
    functionDepth: 0
    functionLinenumber: 18522
    functionLinenumberEnd: 18526
    functionName: roaring::internal::run_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 88
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void run_container_free(run_container_t *run)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18535,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18538,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18540,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18542,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - run
    - min
    - copy
    argTypes:
    - run_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (run->capacity >= min)
      pos:
        line_end: 18534
        line_start: 18534
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 18546
      start: 18528
    functionDepth: 0
    functionLinenumber: 18528
    functionLinenumberEnd: 18546
    functionName: roaring::internal::run_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 82
    functionsReached:
    - roaring_malloc
    - assert
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void run_container_grow(run_container_t *run, int32_t min, bool copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18552,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18556
      start: 18549
    functionDepth: 0
    functionLinenumber: 18549
    functionLinenumberEnd: 18556
    functionName: roaring::internal::run_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 58
    functionsReached:
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void run_container_copy(const run_container_t *src, run_container_t
      *dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18565,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18566,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18569,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18573,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18579,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18586,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18589,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18602,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18605,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18609,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18612
      start: 18560
    functionDepth: 0
    functionLinenumber: 18560
    functionLinenumberEnd: 18612
    functionName: roaring::internal::run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_append
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union(const run_container_t *src_1,\n                         const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18621,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18622,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18628,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18636,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18637,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18647,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18650,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18662,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18665,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18669,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18672
      start: 18616
    functionDepth: 0
    functionLinenumber: 18616
    functionLinenumberEnd: 18672
    functionName: roaring::internal::run_container_union_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union_inplace(run_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18684,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18692,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18696,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18702,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18712
      start: 18677
    functionDepth: 0
    functionLinenumber: 18677
    functionLinenumberEnd: 18712
    functionName: roaring::internal::run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_xor(const run_container_t *src_1,\n                       const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18719,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18720,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18723,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18727,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18734,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18792
      start: 18716
    functionDepth: 0
    functionLinenumber: 18716
    functionLinenumberEnd: 18792
    functionName: roaring::internal::run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_container_intersection(const run_container_t *src_1,\n                                const
      run_container_t *src_2,\n                                run_container_t *dst)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18797,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18798,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18801,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18804,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18862
      start: 18795
    functionDepth: 0
    functionLinenumber: 18795
    functionLinenumberEnd: 18862
    functionName: roaring::internal::run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_container_intersection_cardinality(const run_container_t *src_1,\n
      \                                          const run_container_t *src_2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18866,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18867,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18870,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18873,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18900
      start: 18864
    functionDepth: 0
    functionLinenumber: 18864
    functionLinenumberEnd: 18900
    functionName: roaring::internal::run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_empty
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: "bool run_container_intersect(const run_container_t *src_1,\n                             const
      run_container_t *src_2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18909,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18924,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18940,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18954,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18957,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18962
      start: 18904
    functionDepth: 1
    functionLinenumber: 18904
    functionLinenumberEnd: 18962
    functionName: roaring::internal::run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_andnot(const run_container_t *src_1,\n                          const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cont
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18973
      start: 18967
    functionDepth: 1
    functionLinenumber: 18967
    functionLinenumberEnd: 18973
    functionName: roaring::internal::run_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void run_container_printf(const run_container_t *cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18985,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18986,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cont
    - base
    argTypes:
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18993
      start: 18979
    functionDepth: 1
    functionLinenumber: 18979
    functionLinenumberEnd: 18993
    functionName: roaring::internal::run_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void run_container_printf_as_uint32_array(const run_container_t *cont,\n
      \                                         uint32_t base)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - run
    - reason
    argTypes:
    - run_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19045
      start: 18998
    functionDepth: 0
    functionLinenumber: 18998
    functionLinenumberEnd: 19045
    functionName: roaring::internal::run_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_validate(const run_container_t *run, const char
      **reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19049,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19050,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19053
      start: 19047
    functionDepth: 0
    functionLinenumber: 19047
    functionLinenumberEnd: 19053
    functionName: roaring::internal::run_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_write(const run_container_t *container, char
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19059,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19062,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19064,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19068
      start: 19055
    functionDepth: 0
    functionLinenumber: 19055
    functionLinenumberEnd: 19068
    functionName: roaring::internal::run_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_read(int32_t cardinality, run_container_t *container,\n
      \                          const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19080
      start: 19070
    functionDepth: 0
    functionLinenumber: 19070
    functionLinenumberEnd: 19080
    functionName: roaring::internal::run_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate(const run_container_t *cont, uint32_t base,\n
      \                          roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19094
      start: 19082
    functionDepth: 0
    functionLinenumber: 19082
    functionLinenumberEnd: 19094
    functionName: roaring::internal::run_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate64(const run_container_t *cont, uint32_t
      base,\n                             roaring_iterator64 iterator, uint64_t high_bits,\n
      \                            void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19122
      start: 19096
    functionDepth: 0
    functionLinenumber: 19096
    functionLinenumberEnd: 19122
    functionName: roaring::internal::run_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset(const run_container_t *container1,\n
      \                            const run_container_t *container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19138,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19152,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19155,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19165,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - src
    - start
    - length
    argTypes:
    - run_container_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19172
      start: 19129
    functionDepth: 1
    functionLinenumber: 19129
    functionLinenumberEnd: 19172
    functionName: roaring::internal::run_container_smart_append_exclusive
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 31
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_smart_append_exclusive(run_container_t *src,\n
      \                                         const uint16_t start,\n                                          const
      uint16_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - run_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19187
      start: 19174
    functionDepth: 0
    functionLinenumber: 19174
    functionLinenumberEnd: 19187
    functionName: roaring::internal::run_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_select(const run_container_t *container,\n                          uint32_t
      *start_rank, uint32_t rank,\n                          uint32_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19204
      start: 19189
    functionDepth: 0
    functionLinenumber: 19189
    functionLinenumberEnd: 19204
    functionName: roaring::internal::run_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_rank(const run_container_t *container, uint16_t x)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - container
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - run_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19238
      start: 19205
    functionDepth: 0
    functionLinenumber: 19205
    functionLinenumberEnd: 19238
    functionName: roaring::internal::run_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t run_container_rank_many(const run_container_t *container,\n
      \                                uint64_t start_rank, const uint32_t *begin,\n
      \                                const uint32_t *end, uint64_t *ans)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19259
      start: 19240
    functionDepth: 0
    functionLinenumber: 19240
    functionLinenumberEnd: 19259
    functionName: roaring::internal::run_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_contains
    linkageType: ''
    returnType: int
    signature: int run_container_get_index(const run_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19276,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19278,1
    - Dst: _mm512_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19279,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19280,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19283,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19284,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19288,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19301
      start: 19266
    functionDepth: 0
    functionLinenumber: 19266
    functionLinenumberEnd: 19301
    functionName: roaring::internal::_avx512_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - _mm512_extracti32x8_epi32
    - _mm256_storeu_si256
    - _mm512_setzero_si512
    - _mm512_loadu_si512
    - _mm512_srli_epi32
    - _mm512_add_epi32
    linkageType: ''
    returnType: int
    signature: "int _avx512_run_container_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19317,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19319,1
    - Dst: _mm256_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19320,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19321,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19334
      start: 19303
    functionDepth: 0
    functionLinenumber: 19303
    functionLinenumberEnd: 19334
    functionName: roaring::internal::CROARING_TARGET_AVX2::_avx2_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_srli_epi32
    - _mm256_storeu_si256
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - _mm256_add_epi32
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX512
    signature: 'CROARING_UNTARGET_AVX512 CROARING_TARGET_AVX2

      ALLOW_UNALIGNED

      /* Get the cardinality of `run''. Requires an actual computation. */

      static inline int _avx2_run_container_cardinality(const run_container_t *run)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19348,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19354,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19356,1
    - Dst: _mm256_setr_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19359,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19361,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19362,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19363,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19375
      start: 19336
    functionDepth: 0
    functionLinenumber: 19336
    functionLinenumberEnd: 19375
    functionName: roaring::internal::_avx2_run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm256_setr_epi32
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED _avx2_run_container_to_uint32_array(void *vout, const
      run_container_t *cont,\n                                        uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19392
      start: 19377
    functionDepth: 0
    functionLinenumber: 19377
    functionLinenumberEnd: 19392
    functionName: roaring::internal::_scalar_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 _scalar_run_container_cardinality(\n    const
      run_container_t *run)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19396,1
    - Dst: roaring::internal::_avx512_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19397,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19400,1
    - Dst: roaring::internal::_avx2_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19401,1
    - Dst: roaring::internal::_scalar_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19405
      start: 19394
    functionDepth: 1
    functionLinenumber: 19394
    functionLinenumberEnd: 19405
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 123
    functionsReached:
    - roaring::internal::_scalar_run_container_cardinality
    - roaring::internal::croaring_hardware_support
    - roaring::internal::_avx2_run_container_cardinality
    - roaring::internal::_avx512_run_container_cardinality
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19423
      start: 19407
    functionDepth: 0
    functionLinenumber: 19407
    functionLinenumberEnd: 19423
    functionName: roaring::internal::_scalar_run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int _scalar_run_container_to_uint32_array(void *vout,\n                                          const
      run_container_t *cont,\n                                          uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19427,1
    - Dst: roaring::internal::_avx2_run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19428,1
    - Dst: roaring::internal::_scalar_run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19432
      start: 19425
    functionDepth: 1
    functionLinenumber: 19425
    functionLinenumberEnd: 19432
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::_avx2_run_container_to_uint32_array
    - roaring::internal::croaring_hardware_support
    - roaring::internal::_scalar_run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19449
      start: 19437
    functionDepth: 0
    functionLinenumber: 19437
    functionLinenumberEnd: 19449
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 123
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19467
      start: 19451
    functionDepth: 0
    functionLinenumber: 19451
    functionLinenumberEnd: 19467
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::interleavedBinarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18369,1
    - Dst: roaring::internal::recoverRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18384,1
    - Dst: roaring::internal::makeRoomAtIndex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18411,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - run
    - pos
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18415
      start: 18368
    functionDepth: 0
    functionLinenumber: 18368
    functionLinenumberEnd: 18415
    functionName: roaring::internal::run_container_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::interleavedBinarySearch
    - roaring::internal::makeRoomAtIndex
    - roaring::internal::recoverRoomAtIndex
    linkageType: ''
    returnType: bool
    signature: bool run_container_add(run_container_t *run, uint16_t pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18421,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18427,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18435
      start: 18418
    functionDepth: 0
    functionLinenumber: 18418
    functionLinenumberEnd: 18435
    functionName: roaring::internal::run_container_create_given_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 59
    functionsReached:
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create_given_capacity(int32_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18443,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - src
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18446
      start: 18437
    functionDepth: 0
    functionLinenumber: 18437
    functionLinenumberEnd: 18446
    functionName: roaring::internal::run_container_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: int
    signature: int run_container_shrink_to_fit(run_container_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18450
      start: 18448
    functionDepth: 0
    functionLinenumber: 18448
    functionLinenumberEnd: 18450
    functionName: roaring::internal::run_container_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 84
    functionsReached:
    - roaring::internal::run_container_create_given_capacity
    linkageType: ''
    returnType: run_container_t
    signature: run_container_t *run_container_create(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18454,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18460
      start: 18452
    functionDepth: 0
    functionLinenumber: 18452
    functionLinenumberEnd: 18460
    functionName: run_container_t *run_container_clone(const run_container_t *src)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED run_container_t *run_container_clone(const run_container_t
      *src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_index_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18471,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18486,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18487,1
    - Dst: roaring::internal::run_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18496,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18497,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - c
    - loc
    - hic
    - offset
    argTypes:
    - run_container_t*
    - container_t**
    - container_t**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18519
      start: 18462
    functionDepth: 0
    functionLinenumber: 18462
    functionLinenumberEnd: 18519
    functionName: roaring::internal::run_container_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_index_equalorlarger
    - roaring::internal::run_container_create_given_capacity
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void run_container_offset(const run_container_t *c, container_t **loc,\n
      \                         container_t **hic, uint16_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18524,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18526
      start: 18522
    functionDepth: 0
    functionLinenumber: 18522
    functionLinenumberEnd: 18526
    functionName: roaring::internal::run_container_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 88
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void run_container_free(run_container_t *run)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18535,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18538,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18540,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18542,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - run
    - min
    - copy
    argTypes:
    - run_container_t*
    - int32_t
    - bool
    assertStmts:
    - condition: (run->capacity >= min)
      pos:
        line_end: 18534
        line_start: 18534
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 18546
      start: 18528
    functionDepth: 0
    functionLinenumber: 18528
    functionLinenumberEnd: 18546
    functionName: roaring::internal::run_container_grow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 89
    functionsReached:
    - roaring_malloc
    - assert
    - roaring_free
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void run_container_grow(run_container_t *run, int32_t min, bool copy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18552,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18556
      start: 18549
    functionDepth: 0
    functionLinenumber: 18549
    functionLinenumberEnd: 18556
    functionName: roaring::internal::run_container_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached:
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: void run_container_copy(const run_container_t *src, run_container_t
      *dst)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18565,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18566,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18569,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18573,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18579,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18586,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18589,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18602,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18605,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18609,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18612
      start: 18560
    functionDepth: 0
    functionLinenumber: 18560
    functionLinenumberEnd: 18612
    functionName: roaring::internal::run_container_union
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_append
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union(const run_container_t *src_1,\n                         const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18621,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18622,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18628,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18636,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18637,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18647,1
    - Dst: roaring::internal::run_container_append_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18650,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18662,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18665,1
    - Dst: roaring::internal::run_container_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18669,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18672
      start: 18616
    functionDepth: 0
    functionLinenumber: 18616
    functionLinenumberEnd: 18672
    functionName: roaring::internal::run_container_union_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - memmove
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_append
    - roaring::internal::run_container_copy
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_append_first
    linkageType: ''
    returnType: void
    signature: "void run_container_union_inplace(run_container_t *src_1,\n                                 const
      run_container_t *src_2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18684,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18692,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18696,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18702,1
    - Dst: roaring::internal::run_container_smart_append_exclusive
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18712
      start: 18677
    functionDepth: 0
    functionLinenumber: 18677
    functionLinenumberEnd: 18712
    functionName: roaring::internal::run_container_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_smart_append_exclusive
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_xor(const run_container_t *src_1,\n                       const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18719,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18720,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18723,1
    - Dst: roaring::internal::run_container_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18727,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18734,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18792
      start: 18716
    functionDepth: 0
    functionLinenumber: 18716
    functionLinenumberEnd: 18792
    functionName: roaring::internal::run_container_intersection
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_grow
    - roaring::internal::run_container_copy
    linkageType: ''
    returnType: void
    signature: "void run_container_intersection(const run_container_t *src_1,\n                                const
      run_container_t *src_2,\n                                run_container_t *dst)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18797,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18798,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18801,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18804,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18862
      start: 18795
    functionDepth: 0
    functionLinenumber: 18795
    functionLinenumberEnd: 18862
    functionName: roaring::internal::run_container_intersection_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_is_full
    - roaring::internal::run_container_cardinality
    linkageType: ''
    returnType: int
    signature: "int run_container_intersection_cardinality(const run_container_t *src_1,\n
      \                                          const run_container_t *src_2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18866,1
    - Dst: roaring::internal::run_container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18867,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18870,1
    - Dst: roaring::internal::run_container_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18873,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - src_1
    - src_2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18900
      start: 18864
    functionDepth: 0
    functionLinenumber: 18864
    functionLinenumberEnd: 18900
    functionName: roaring::internal::run_container_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_empty
    - roaring::internal::run_container_is_full
    linkageType: ''
    returnType: bool
    signature: "bool run_container_intersect(const run_container_t *src_1,\n                             const
      run_container_t *src_2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18909,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18924,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18940,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18954,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18957,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - src_1
    - src_2
    - dst
    argTypes:
    - run_container_t*
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18962
      start: 18904
    functionDepth: 1
    functionLinenumber: 18904
    functionLinenumberEnd: 18962
    functionName: roaring::internal::run_container_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - CROARING_MAKE_RLE16
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: void
    signature: "void run_container_andnot(const run_container_t *src_1,\n                          const
      run_container_t *src_2, run_container_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cont
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18973
      start: 18967
    functionDepth: 1
    functionLinenumber: 18967
    functionLinenumberEnd: 18973
    functionName: roaring::internal::run_container_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void run_container_printf(const run_container_t *cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18985,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18986,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:18991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cont
    - base
    argTypes:
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18993
      start: 18979
    functionDepth: 1
    functionLinenumber: 18979
    functionLinenumberEnd: 18993
    functionName: roaring::internal::run_container_printf_as_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void run_container_printf_as_uint32_array(const run_container_t *cont,\n
      \                                         uint32_t base)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - run
    - reason
    argTypes:
    - run_container_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19045
      start: 18998
    functionDepth: 0
    functionLinenumber: 18998
    functionLinenumberEnd: 19045
    functionName: roaring::internal::run_container_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool run_container_validate(const run_container_t *run, const char
      **reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19049,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19050,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - container
    - buf
    argTypes:
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19053
      start: 19047
    functionDepth: 0
    functionLinenumber: 19047
    functionLinenumberEnd: 19053
    functionName: roaring::internal::run_container_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: int32_t run_container_write(const run_container_t *container, char
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19059,1
    - Dst: roaring::internal::run_container_grow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19062,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19064,1
    - Dst: roaring::internal::run_container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cardinality
    - container
    - buf
    argTypes:
    - int32_t
    - run_container_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19068
      start: 19055
    functionDepth: 0
    functionLinenumber: 19055
    functionLinenumberEnd: 19068
    functionName: roaring::internal::run_container_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_size_in_bytes
    - memcpy
    - roaring::internal::run_container_grow
    linkageType: ''
    returnType: int32_t
    signature: "int32_t run_container_read(int32_t cardinality, run_container_t *container,\n
      \                          const char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - cont
    - base
    - iterator
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19080
      start: 19070
    functionDepth: 0
    functionLinenumber: 19070
    functionLinenumberEnd: 19080
    functionName: roaring::internal::run_container_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate(const run_container_t *cont, uint32_t base,\n
      \                          roaring_iterator iterator, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - cont
    - base
    - iterator
    - high_bits
    - ptr
    argTypes:
    - run_container_t*
    - uint32_t
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19094
      start: 19082
    functionDepth: 0
    functionLinenumber: 19082
    functionLinenumberEnd: 19094
    functionName: roaring::internal::run_container_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool run_container_iterate64(const run_container_t *cont, uint32_t
      base,\n                             roaring_iterator64 iterator, uint64_t high_bits,\n
      \                            void *ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - container1
    - container2
    argTypes:
    - run_container_t*
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19122
      start: 19096
    functionDepth: 0
    functionLinenumber: 19096
    functionLinenumberEnd: 19122
    functionName: roaring::internal::run_container_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_is_subset(const run_container_t *container1,\n
      \                            const run_container_t *container2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19138,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19152,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19155,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19165,1
    - Dst: CROARING_MAKE_RLE16
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - src
    - start
    - length
    argTypes:
    - run_container_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19172
      start: 19129
    functionDepth: 1
    functionLinenumber: 19129
    functionLinenumberEnd: 19172
    functionName: roaring::internal::run_container_smart_append_exclusive
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - CROARING_MAKE_RLE16
    linkageType: ''
    returnType: void
    signature: "void run_container_smart_append_exclusive(run_container_t *src,\n
      \                                         const uint16_t start,\n                                          const
      uint16_t length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - container
    - start_rank
    - rank
    - element
    argTypes:
    - run_container_t*
    - uint32_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19187
      start: 19174
    functionDepth: 0
    functionLinenumber: 19174
    functionLinenumberEnd: 19187
    functionName: roaring::internal::run_container_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool run_container_select(const run_container_t *container,\n                          uint32_t
      *start_rank, uint32_t rank,\n                          uint32_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19204
      start: 19189
    functionDepth: 0
    functionLinenumber: 19189
    functionLinenumberEnd: 19204
    functionName: roaring::internal::run_container_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int run_container_rank(const run_container_t *container, uint16_t x)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - container
    - start_rank
    - begin
    - end
    - ans
    argTypes:
    - run_container_t*
    - uint64_t
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19238
      start: 19205
    functionDepth: 0
    functionLinenumber: 19205
    functionLinenumberEnd: 19238
    functionName: roaring::internal::run_container_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t run_container_rank_many(const run_container_t *container,\n
      \                                uint64_t start_rank, const uint32_t *begin,\n
      \                                const uint32_t *end, uint64_t *ans)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::run_container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - container
    - x
    argTypes:
    - run_container_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19259
      start: 19240
    functionDepth: 0
    functionLinenumber: 19240
    functionLinenumberEnd: 19259
    functionName: roaring::internal::run_container_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::run_container_contains
    linkageType: ''
    returnType: int
    signature: int run_container_get_index(const run_container_t *container, uint16_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm512_setzero_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19276,1
    - Dst: _mm512_loadu_si512
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19278,1
    - Dst: _mm512_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19279,1
    - Dst: _mm512_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19280,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19283,1
    - Dst: _mm512_extracti32x8_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19284,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19288,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19301
      start: 19266
    functionDepth: 0
    functionLinenumber: 19266
    functionLinenumberEnd: 19301
    functionName: roaring::internal::_avx512_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - _mm512_extracti32x8_epi32
    - _mm256_storeu_si256
    - _mm512_setzero_si512
    - _mm512_loadu_si512
    - _mm512_srli_epi32
    - _mm512_add_epi32
    linkageType: ''
    returnType: int
    signature: "int _avx512_run_container_cardinality(\n    const run_container_t
      *run)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm256_setzero_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19317,1
    - Dst: _mm256_lddqu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19319,1
    - Dst: _mm256_srli_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19320,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19321,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19334
      start: 19303
    functionDepth: 0
    functionLinenumber: 19303
    functionLinenumberEnd: 19334
    functionName: roaring::internal::CROARING_TARGET_AVX2::_avx2_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _mm256_srli_epi32
    - _mm256_storeu_si256
    - _mm256_setzero_si256
    - _mm256_lddqu_si256
    - _mm256_add_epi32
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX512
    signature: 'CROARING_UNTARGET_AVX512 CROARING_TARGET_AVX2

      ALLOW_UNALIGNED

      /* Get the cardinality of `run''. Requires an actual computation. */

      static inline int _avx2_run_container_cardinality(const run_container_t *run)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19348,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19354,1
    - Dst: _mm256_set1_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19356,1
    - Dst: _mm256_setr_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19359,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19361,1
    - Dst: _mm256_storeu_si256
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19362,1
    - Dst: _mm256_add_epi32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19363,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19375
      start: 19336
    functionDepth: 0
    functionLinenumber: 19336
    functionLinenumberEnd: 19375
    functionName: roaring::internal::_avx2_run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - _mm256_set1_epi32
    - _mm256_storeu_si256
    - _mm256_setr_epi32
    - _mm256_add_epi32
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED _avx2_run_container_to_uint32_array(void *vout, const
      run_container_t *cont,\n                                        uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19392
      start: 19377
    functionDepth: 0
    functionLinenumber: 19377
    functionLinenumberEnd: 19392
    functionName: roaring::internal::_scalar_run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: CROARING_UNTARGET_AVX2
    signature: "CROARING_UNTARGET_AVX2 _scalar_run_container_cardinality(\n    const
      run_container_t *run)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19396,1
    - Dst: roaring::internal::_avx512_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19397,1
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19400,1
    - Dst: roaring::internal::_avx2_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19401,1
    - Dst: roaring::internal::_scalar_run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19405
      start: 19394
    functionDepth: 1
    functionLinenumber: 19394
    functionLinenumberEnd: 19405
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 124
    functionsReached:
    - roaring::internal::_scalar_run_container_cardinality
    - roaring::internal::croaring_hardware_support
    - roaring::internal::_avx2_run_container_cardinality
    - roaring::internal::_avx512_run_container_cardinality
    linkageType: ''
    returnType: int
    signature: int run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19423
      start: 19407
    functionDepth: 0
    functionLinenumber: 19407
    functionLinenumberEnd: 19423
    functionName: roaring::internal::_scalar_run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int _scalar_run_container_to_uint32_array(void *vout,\n                                          const
      run_container_t *cont,\n                                          uint32_t base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_hardware_support
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19427,1
    - Dst: roaring::internal::_avx2_run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19428,1
    - Dst: roaring::internal::_scalar_run_container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19432
      start: 19425
    functionDepth: 1
    functionLinenumber: 19425
    functionLinenumberEnd: 19432
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::_avx2_run_container_to_uint32_array
    - roaring::internal::croaring_hardware_support
    - roaring::internal::_scalar_run_container_to_uint32_array
    linkageType: ''
    returnType: int
    signature: "int run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - run
    argTypes:
    - run_container_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19449
      start: 19437
    functionDepth: 0
    functionLinenumber: 19437
    functionLinenumberEnd: 19449
    functionName: roaring::internal::run_container_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 124
    functionsReached: []
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED run_container_cardinality(const run_container_t *run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vout
    - cont
    - base
    argTypes:
    - void*
    - run_container_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19467
      start: 19451
    functionDepth: 0
    functionLinenumber: 19451
    functionLinenumberEnd: 19467
    functionName: roaring::internal::run_container_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: "ALLOW_UNALIGNED run_container_to_uint32_array(void *vout, const run_container_t
      *cont,\n                                  uint32_t base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cpuidex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19590,1
    - Dst: __get_cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - eax
    - ebx
    - ecx
    - edx
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19606
      start: 19586
    functionDepth: 0
    functionLinenumber: 19586
    functionLinenumberEnd: 19606
    functionName: roaring::internal::cpuid
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - __get_cpuid
    - __cpuidex
    linkageType: ''
    returnType: void
    signature: "void cpuid(uint32_t *eax, uint32_t *ebx, uint32_t *ecx,\n                         uint32_t
      *edx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _xgetbv
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19616
      start: 19608
    functionDepth: 0
    functionLinenumber: 19608
    functionLinenumberEnd: 19616
    functionName: roaring::internal::xgetbv
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _xgetbv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t xgetbv(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19658,1
    - Dst: roaring::internal::xgetbv
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19675,1
    - Dst: roaring::internal::cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19684,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19725
      start: 19623
    functionDepth: 1
    functionLinenumber: 19623
    functionLinenumberEnd: 19725
    functionName: roaring::internal::dynamic_croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::cpuid
    - roaring::internal::xgetbv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dynamic_croaring_detect_supported_architectures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19736
      start: 19732
    functionDepth: 0
    functionLinenumber: 19732
    functionLinenumberEnd: 19736
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19746
      start: 19738
    functionDepth: 0
    functionLinenumber: 19738
    functionLinenumberEnd: 19746
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19755
      start: 19749
    functionDepth: 0
    functionLinenumber: 19749
    functionLinenumberEnd: 19755
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19760
      start: 19760
    functionDepth: 0
    functionLinenumber: 19760
    functionLinenumberEnd: 19760
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19767
      start: 19765
    functionDepth: 0
    functionLinenumber: 19765
    functionLinenumberEnd: 19767
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19787
      start: 19770
    functionDepth: 0
    functionLinenumber: 19770
    functionLinenumberEnd: 19787
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached:
    - roaring::internal::croaring_detect_supported_architectures
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19797,1
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19808
      start: 19790
    functionDepth: 0
    functionLinenumber: 19790
    functionLinenumberEnd: 19808
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached:
    - roaring::internal::croaring_detect_supported_architectures
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cpuidex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19590,1
    - Dst: __get_cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - eax
    - ebx
    - ecx
    - edx
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19606
      start: 19586
    functionDepth: 0
    functionLinenumber: 19586
    functionLinenumberEnd: 19606
    functionName: roaring::internal::cpuid
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - __get_cpuid
    - __cpuidex
    linkageType: ''
    returnType: void
    signature: "void cpuid(uint32_t *eax, uint32_t *ebx, uint32_t *ecx,\n                         uint32_t
      *edx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _xgetbv
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19616
      start: 19608
    functionDepth: 0
    functionLinenumber: 19608
    functionLinenumberEnd: 19616
    functionName: roaring::internal::xgetbv
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - _xgetbv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t xgetbv(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19658,1
    - Dst: roaring::internal::xgetbv
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19675,1
    - Dst: roaring::internal::cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19684,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19725
      start: 19623
    functionDepth: 1
    functionLinenumber: 19623
    functionLinenumberEnd: 19725
    functionName: roaring::internal::dynamic_croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::internal::cpuid
    - roaring::internal::xgetbv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dynamic_croaring_detect_supported_architectures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19736
      start: 19732
    functionDepth: 0
    functionLinenumber: 19732
    functionLinenumberEnd: 19736
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19746
      start: 19738
    functionDepth: 0
    functionLinenumber: 19738
    functionLinenumberEnd: 19746
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19755
      start: 19749
    functionDepth: 0
    functionLinenumber: 19749
    functionLinenumberEnd: 19755
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19760
      start: 19760
    functionDepth: 0
    functionLinenumber: 19760
    functionLinenumberEnd: 19760
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19767
      start: 19765
    functionDepth: 0
    functionLinenumber: 19765
    functionLinenumberEnd: 19767
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19787
      start: 19770
    functionDepth: 0
    functionLinenumber: 19770
    functionLinenumberEnd: 19787
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached:
    - roaring::internal::croaring_detect_supported_architectures
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19797,1
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19808
      start: 19790
    functionDepth: 0
    functionLinenumber: 19790
    functionLinenumberEnd: 19808
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached:
    - roaring::internal::croaring_detect_supported_architectures
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cpuidex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19590,1
    - Dst: __get_cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - eax
    - ebx
    - ecx
    - edx
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19606
      start: 19586
    functionDepth: 0
    functionLinenumber: 19586
    functionLinenumberEnd: 19606
    functionName: roaring::internal::cpuid
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - __get_cpuid
    - __cpuidex
    linkageType: ''
    returnType: void
    signature: "void cpuid(uint32_t *eax, uint32_t *ebx, uint32_t *ecx,\n                         uint32_t
      *edx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _xgetbv
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19616
      start: 19608
    functionDepth: 0
    functionLinenumber: 19608
    functionLinenumberEnd: 19616
    functionName: roaring::internal::xgetbv
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - _xgetbv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t xgetbv(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19658,1
    - Dst: roaring::internal::xgetbv
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19675,1
    - Dst: roaring::internal::cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19684,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19725
      start: 19623
    functionDepth: 1
    functionLinenumber: 19623
    functionLinenumberEnd: 19725
    functionName: roaring::internal::dynamic_croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::cpuid
    - roaring::internal::xgetbv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dynamic_croaring_detect_supported_architectures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19736
      start: 19732
    functionDepth: 0
    functionLinenumber: 19732
    functionLinenumberEnd: 19736
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19746
      start: 19738
    functionDepth: 0
    functionLinenumber: 19738
    functionLinenumberEnd: 19746
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19755
      start: 19749
    functionDepth: 0
    functionLinenumber: 19749
    functionLinenumberEnd: 19755
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19760
      start: 19760
    functionDepth: 0
    functionLinenumber: 19760
    functionLinenumberEnd: 19760
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19767
      start: 19765
    functionDepth: 0
    functionLinenumber: 19765
    functionLinenumberEnd: 19767
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19787
      start: 19770
    functionDepth: 0
    functionLinenumber: 19770
    functionLinenumberEnd: 19787
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached:
    - roaring::internal::croaring_detect_supported_architectures
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19797,1
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19808
      start: 19790
    functionDepth: 0
    functionLinenumber: 19790
    functionLinenumberEnd: 19808
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached:
    - roaring::internal::croaring_detect_supported_architectures
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cpuidex
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19590,1
    - Dst: __get_cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - eax
    - ebx
    - ecx
    - edx
    argTypes:
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19606
      start: 19586
    functionDepth: 0
    functionLinenumber: 19586
    functionLinenumberEnd: 19606
    functionName: roaring::internal::cpuid
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - __get_cpuid
    - __cpuidex
    linkageType: ''
    returnType: void
    signature: "void cpuid(uint32_t *eax, uint32_t *ebx, uint32_t *ecx,\n                         uint32_t
      *edx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _xgetbv
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19616
      start: 19608
    functionDepth: 0
    functionLinenumber: 19608
    functionLinenumberEnd: 19616
    functionName: roaring::internal::xgetbv
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - _xgetbv
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t xgetbv(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19658,1
    - Dst: roaring::internal::xgetbv
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19675,1
    - Dst: roaring::internal::cpuid
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19684,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19725
      start: 19623
    functionDepth: 1
    functionLinenumber: 19623
    functionLinenumberEnd: 19725
    functionName: roaring::internal::dynamic_croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - roaring::internal::cpuid
    - roaring::internal::xgetbv
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dynamic_croaring_detect_supported_architectures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19736
      start: 19732
    functionDepth: 0
    functionLinenumber: 19732
    functionLinenumberEnd: 19736
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19746
      start: 19738
    functionDepth: 0
    functionLinenumber: 19738
    functionLinenumberEnd: 19746
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::dynamic_croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19755
      start: 19749
    functionDepth: 0
    functionLinenumber: 19749
    functionLinenumberEnd: 19755
    functionName: roaring::internal::croaring_detect_supported_architectures
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::dynamic_croaring_detect_supported_architectures
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_detect_supported_architectures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19760
      start: 19760
    functionDepth: 0
    functionLinenumber: 19760
    functionLinenumberEnd: 19760
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19767
      start: 19765
    functionDepth: 0
    functionLinenumber: 19765
    functionLinenumberEnd: 19767
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19787
      start: 19770
    functionDepth: 0
    functionLinenumber: 19770
    functionLinenumberEnd: 19787
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached:
    - roaring::internal::croaring_detect_supported_architectures
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19797,1
    - Dst: roaring::internal::croaring_detect_supported_architectures
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19808
      start: 19790
    functionDepth: 0
    functionLinenumber: 19790
    functionLinenumberEnd: 19808
    functionName: roaring::internal::croaring_hardware_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 61
    functionsReached:
    - roaring::internal::croaring_detect_supported_architectures
    linkageType: ''
    returnType: int
    signature: int croaring_hardware_support(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19831,1
    - Dst: __mingw_aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19833,1
    - Dst: posix_memalign
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - alignment
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19840
      start: 19828
    functionDepth: 0
    functionLinenumber: 19828
    functionLinenumberEnd: 19840
    functionName: roaring_bitmap_aligned_malloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _aligned_malloc
    - posix_memalign
    - __mingw_aligned_malloc
    linkageType: ''
    returnType: void
    signature: void * roaring_bitmap_aligned_malloc(size_t alignment, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19844,1
    - Dst: __mingw_aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19846,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - memblock
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19850
      start: 19842
    functionDepth: 0
    functionLinenumber: 19842
    functionLinenumberEnd: 19850
    functionName: roaring_bitmap_aligned_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - _aligned_free
    - free
    - __mingw_aligned_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_aligned_free(void* memblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memory_hook
    argTypes:
    - roaring_memory_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19863
      start: 19861
    functionDepth: 0
    functionLinenumber: 19861
    functionLinenumberEnd: 19863
    functionName: roaring_init_memory_hook
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void roaring_init_memory_hook(roaring_memory_t memory_hook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19865
      start: 19865
    functionDepth: 0
    functionLinenumber: 19865
    functionLinenumberEnd: 19865
    functionName: roaring_malloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 116
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void * roaring_malloc(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - new_sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19869
      start: 19867
    functionDepth: 0
    functionLinenumber: 19867
    functionLinenumberEnd: 19869
    functionName: roaring_realloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 52
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void * roaring_realloc(void* p, size_t new_sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n_elements
    - element_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19873
      start: 19871
    functionDepth: 0
    functionLinenumber: 19871
    functionLinenumberEnd: 19873
    functionName: roaring_calloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void * roaring_calloc(size_t n_elements, size_t element_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19875
      start: 19875
    functionDepth: 0
    functionLinenumber: 19875
    functionLinenumberEnd: 19875
    functionName: roaring_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 176
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void roaring_free(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aligned_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alignment
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19879
      start: 19877
    functionDepth: 0
    functionLinenumber: 19877
    functionLinenumberEnd: 19879
    functionName: roaring_aligned_malloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - aligned_malloc
    linkageType: ''
    returnType: void
    signature: void * roaring_aligned_malloc(size_t alignment, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aligned_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19881
      start: 19881
    functionDepth: 0
    functionLinenumber: 19881
    functionLinenumberEnd: 19881
    functionName: roaring_aligned_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - aligned_free
    linkageType: ''
    returnType: void
    signature: void roaring_aligned_free(void* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19928,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19938,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19944,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19947,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19948,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19949,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ra
    - new_capacity
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: "((char *)(newtypecodes + new_capacity) ==\n           (char *)bigalloc
        + memoryneeded)"
      pos:
        line_end: 19944
        line_start: 19943
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 19957
      start: 19921
    functionDepth: 0
    functionLinenumber: 19921
    functionLinenumberEnd: 19957
    functionName: roaring::internal::realloc_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring_malloc
    - assert
    - memcpy
    - roaring_free
    linkageType: ''
    returnType: bool
    signature: bool realloc_array(roaring_array_t *ra, int32_t new_capacity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19961,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - new_ra
    - cap
    argTypes:
    - roaring_array_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19980
      start: 19959
    functionDepth: 0
    functionLinenumber: 19959
    functionLinenumberEnd: 19980
    functionName: roaring::internal::ra_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::ra_init
    - roaring_malloc
    linkageType: ''
    returnType: bool
    signature: bool ra_init_with_capacity(roaring_array_t *new_ra, uint32_t cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19990
      start: 19982
    functionDepth: 0
    functionLinenumber: 19982
    functionLinenumberEnd: 19990
    functionName: roaring::internal::ra_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: int
    signature: int ra_shrink_to_fit(roaring_array_t *ra)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - new_ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20003
      start: 19992
    functionDepth: 0
    functionLinenumber: 19992
    functionLinenumberEnd: 20003
    functionName: roaring::internal::ra_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ra_init(roaring_array_t *new_ra)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20007,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20013,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20018,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20022,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20026,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20028,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20031,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20035,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20038,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20040,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - source
    - dest
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20046
      start: 20005
    functionDepth: 0
    functionLinenumber: 20005
    functionLinenumberEnd: 20046
    functionName: roaring::internal::ra_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::realloc_array
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_free
    - roaring::internal::ra_clear_containers
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_overwrite(const roaring_array_t *source, roaring_array_t *dest,\n
      \                 bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20052
      start: 20048
    functionDepth: 0
    functionLinenumber: 20048
    functionLinenumberEnd: 20052
    functionName: roaring::internal::ra_clear_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20055,1
    - Dst: roaring::internal::ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20058
      start: 20054
    functionDepth: 0
    functionLinenumber: 20054
    functionLinenumberEnd: 20058
    functionName: roaring::internal::ra_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_shrink_to_fit
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_reset(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20068
      start: 20060
    functionDepth: 0
    functionLinenumber: 20060
    functionLinenumberEnd: 20068
    functionName: roaring::internal::ra_clear_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_without_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20071,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20073
      start: 20070
    functionDepth: 0
    functionLinenumber: 20070
    functionLinenumberEnd: 20073
    functionName: roaring::internal::ra_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_clear(roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20078,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - k
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (desired_size <= max_containers)
      pos:
        line_end: 20077
        line_start: 20077
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20089
      start: 20075
    functionDepth: 0
    functionLinenumber: 20075
    functionLinenumberEnd: 20089
    functionName: roaring::internal::extend_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 28
    functionsReached:
    - assert
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: bool
    signature: bool extend_array(roaring_array_t *ra, int32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20100
      start: 20091
    functionDepth: 0
    functionLinenumber: 20091
    functionLinenumberEnd: 20100
    functionName: roaring::internal::ra_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append(roaring_array_t *ra, uint16_t key, container_t *c,\n
      \              uint8_t typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20104,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20111,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - sa
    - index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20121
      start: 20102
    functionDepth: 0
    functionLinenumber: 20102
    functionLinenumberEnd: 20121
    functionName: roaring::internal::ra_append_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy(roaring_array_t *ra, const roaring_array_t *sa,\n
      \                   uint16_t index, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - sa
    - stopping_key
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20129
      start: 20123
    functionDepth: 0
    functionLinenumber: 20123
    functionLinenumberEnd: 20129
    functionName: roaring::internal::ra_append_copies_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_append_copy
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_until(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t stopping_key, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20134,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20139,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20150
      start: 20131
    functionDepth: 0
    functionLinenumber: 20131
    functionLinenumberEnd: 20150
    functionName: roaring::internal::ra_append_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy_range(roaring_array_t *ra, const roaring_array_t
      *sa,\n                          int32_t start_index, int32_t end_index,\n                          bool
      copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20154,1
    - Dst: roaring::internal::ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ra
    - sa
    - before_start
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20160
      start: 20152
    functionDepth: 0
    functionLinenumber: 20152
    functionLinenumberEnd: 20160
    functionName: roaring::internal::ra_append_copies_after
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_get_index
    - roaring::internal::ra_append_copy_range
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_after(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t before_start, bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20174
      start: 20162
    functionDepth: 0
    functionLinenumber: 20162
    functionLinenumberEnd: 20174
    functionName: roaring::internal::ra_append_move_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_move_range(roaring_array_t *ra, roaring_array_t *sa,\n
      \                         int32_t start_index, int32_t end_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20179,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20185,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20196
      start: 20176
    functionDepth: 0
    functionLinenumber: 20176
    functionLinenumberEnd: 20196
    functionName: roaring::internal::ra_append_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_range(roaring_array_t *ra, roaring_array_t *sa,\n                     int32_t
      start_index, int32_t end_index,\n                     bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ra
    - x
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20204
      start: 20198
    functionDepth: 0
    functionLinenumber: 20198
    functionLinenumberEnd: 20204
    functionName: roaring::internal::ra_get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container(roaring_array_t *ra, uint16_t x,\n                              uint8_t
      *typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20225
      start: 20219
    functionDepth: 0
    functionLinenumber: 20219
    functionLinenumberEnd: 20225
    functionName: roaring::internal::ra_advance_until_freeing
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_advance_until_freeing(roaring_array_t *ra, uint16_t x, int32_t
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20229,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20231,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20233,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20241
      start: 20227
    functionDepth: 0
    functionLinenumber: 20227
    functionLinenumberEnd: 20241
    functionName: roaring::internal::ra_insert_new_key_value_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_insert_new_key_value_at(roaring_array_t *ra, int32_t i, uint16_t
      key,\n                                container_t *c, uint8_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - new_length
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (new_length <= ra->size)
      pos:
        line_end: 20248
        line_start: 20248
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20251
      start: 20248
    functionDepth: 0
    functionLinenumber: 20248
    functionLinenumberEnd: 20251
    functionName: roaring::internal::ra_downsize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ra_downsize(roaring_array_t *ra, int32_t new_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20254,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20256,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20261
      start: 20253
    functionDepth: 0
    functionLinenumber: 20253
    functionLinenumberEnd: 20261
    functionName: roaring::internal::ra_remove_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20264,1
    - Dst: roaring::internal::ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20266
      start: 20263
    functionDepth: 0
    functionLinenumber: 20263
    functionLinenumberEnd: 20266
    functionName: roaring::internal::ra_remove_at_index_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    - roaring::internal::ra_remove_at_index
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index_and_free(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20275,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20276,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20283,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20285,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - begin
    - end
    - new_begin
    argTypes:
    - roaring_array_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (begin <= end)
      pos:
        line_end: 20274
        line_start: 20274
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (new_begin < begin)
      pos:
        line_end: 20275
        line_start: 20275
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20289
      start: 20273
    functionDepth: 0
    functionLinenumber: 20273
    functionLinenumberEnd: 20289
    functionName: roaring::internal::ra_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    linkageType: ''
    returnType: void
    signature: "void ra_copy_range(roaring_array_t *ra, uint32_t begin, uint32_t end,\n
      \                  uint32_t new_begin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20293,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20297,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20298,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ra
    - count
    - distance
    argTypes:
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20303
      start: 20291
    functionDepth: 0
    functionLinenumber: 20291
    functionLinenumberEnd: 20303
    functionName: roaring::internal::ra_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: void ra_shift_tail(roaring_array_t *ra, int32_t count, int32_t distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - ans
    argTypes:
    - roaring_array_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20313
      start: 20305
    functionDepth: 0
    functionLinenumber: 20305
    functionLinenumberEnd: 20313
    functionName: roaring::internal::ra_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void ra_to_uint32_array(const roaring_array_t *ra, uint32_t *ans)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20330,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20333,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20336,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20339,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20339,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20347,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20352,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20356,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20359,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20362,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20365,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20366,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20371,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20371,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20376,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20376,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20381,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20381,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20392,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20393,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 4
    argNames:
    - ra
    - offset
    - limit
    - ans
    argTypes:
    - roaring_array_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20396
      start: 20315
    functionDepth: 0
    functionLinenumber: 20315
    functionLinenumberEnd: 20396
    functionName: roaring::internal::ra_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring_malloc
    - roaring_free
    - free
    - memset
    - roaring::internal::run_container_cardinality
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_range_uint32_array(const roaring_array_t *ra, size_t offset,\n
      \                          size_t limit, uint32_t *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20405
      start: 20398
    functionDepth: 0
    functionLinenumber: 20398
    functionLinenumberEnd: 20405
    functionName: roaring::internal::ra_has_run_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::internal::get_container_type
    linkageType: ''
    returnType: bool
    signature: bool ra_has_run_container(const roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20418
      start: 20407
    functionDepth: 0
    functionLinenumber: 20407
    functionLinenumberEnd: 20418
    functionName: roaring::internal::ra_portable_header_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::internal::ra_has_run_container
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ra_portable_header_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_portable_header_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20421,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20427
      start: 20420
    functionDepth: 0
    functionLinenumber: 20420
    functionLinenumberEnd: 20427
    functionName: roaring::internal::ra_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_size_in_bytes
    - roaring::internal::ra_portable_header_size
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_size_in_bytes(const roaring_array_t *ra)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20433,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20436,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20439,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20440,1
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20442,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20447,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20449,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20458,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20460,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20466,1
    - Dst: roaring::internal::container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20470,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20473,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20479,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20483,1
    - Dst: roaring::internal::container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20487,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - ra
    - buf
    argTypes:
    - roaring_array_t*
    - char*
    assertStmts:
    - condition: (bitmapOfRunContainers != NULL)
      pos:
        line_end: 20439
        line_start: 20439
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20490
      start: 20430
    functionDepth: 0
    functionLinenumber: 20430
    functionLinenumberEnd: 20490
    functionName: roaring::internal::ra_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring::internal::get_container_type
    - assert
    - roaring::internal::ra_has_run_container
    - roaring::internal::container_get_cardinality
    - roaring_free
    - roaring::internal::container_size_in_bytes
    - memcpy
    - roaring::internal::container_write
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_serialize(const roaring_array_t *ra, char *buf)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20503,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20516,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20544,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20564,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20578
      start: 20499
    functionDepth: 0
    functionLinenumber: 20499
    functionLinenumberEnd: 20578
    functionName: roaring::internal::ra_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_deserialize_size(const char *buf, const size_t maxbytes)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20594,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20611,1
    - Dst: roaring::internal::ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20644,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20652,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20659,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20670,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20687,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20692,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20695,1
    - Dst: roaring::internal::bitset_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20700,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20708,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20713,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20718,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20724,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20727,1
    - Dst: roaring::internal::run_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20732,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20741,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20747,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20750,1
    - Dst: roaring::internal::array_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20755,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 113
    argCount: 4
    argNames:
    - answer
    - buf
    - maxbytes
    - readbytes
    argTypes:
    - roaring_array_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20761
      start: 20586
    functionDepth: 0
    functionLinenumber: 20586
    functionLinenumberEnd: 20761
    functionName: roaring::internal::ra_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::array_container_read
    - roaring::internal::ra_clear
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_read
    - roaring::internal::run_container_create
    - roaring::internal::ra_init_with_capacity
    - roaring::internal::run_container_read
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool ra_portable_deserialize(roaring_array_t *answer, const char *buf,\n
      \                            const size_t maxbytes, size_t *readbytes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19928,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19938,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19944,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19947,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19948,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19949,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ra
    - new_capacity
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: "((char *)(newtypecodes + new_capacity) ==\n           (char *)bigalloc
        + memoryneeded)"
      pos:
        line_end: 19944
        line_start: 19943
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 19957
      start: 19921
    functionDepth: 0
    functionLinenumber: 19921
    functionLinenumberEnd: 19957
    functionName: roaring::internal::realloc_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring_malloc
    - assert
    - memcpy
    - roaring_free
    linkageType: ''
    returnType: bool
    signature: bool realloc_array(roaring_array_t *ra, int32_t new_capacity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19961,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - new_ra
    - cap
    argTypes:
    - roaring_array_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19980
      start: 19959
    functionDepth: 0
    functionLinenumber: 19959
    functionLinenumberEnd: 19980
    functionName: roaring::internal::ra_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::ra_init
    - roaring_malloc
    linkageType: ''
    returnType: bool
    signature: bool ra_init_with_capacity(roaring_array_t *new_ra, uint32_t cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19990
      start: 19982
    functionDepth: 0
    functionLinenumber: 19982
    functionLinenumberEnd: 19990
    functionName: roaring::internal::ra_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: int
    signature: int ra_shrink_to_fit(roaring_array_t *ra)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - new_ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20003
      start: 19992
    functionDepth: 0
    functionLinenumber: 19992
    functionLinenumberEnd: 20003
    functionName: roaring::internal::ra_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ra_init(roaring_array_t *new_ra)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20007,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20013,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20018,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20022,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20026,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20028,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20031,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20035,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20038,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20040,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - source
    - dest
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20046
      start: 20005
    functionDepth: 0
    functionLinenumber: 20005
    functionLinenumberEnd: 20046
    functionName: roaring::internal::ra_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::realloc_array
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_free
    - roaring::internal::ra_clear_containers
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_overwrite(const roaring_array_t *source, roaring_array_t *dest,\n
      \                 bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20052
      start: 20048
    functionDepth: 0
    functionLinenumber: 20048
    functionLinenumberEnd: 20052
    functionName: roaring::internal::ra_clear_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20055,1
    - Dst: roaring::internal::ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20058
      start: 20054
    functionDepth: 0
    functionLinenumber: 20054
    functionLinenumberEnd: 20058
    functionName: roaring::internal::ra_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_shrink_to_fit
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_reset(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20068
      start: 20060
    functionDepth: 0
    functionLinenumber: 20060
    functionLinenumberEnd: 20068
    functionName: roaring::internal::ra_clear_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 11
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_without_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20071,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20073
      start: 20070
    functionDepth: 0
    functionLinenumber: 20070
    functionLinenumberEnd: 20073
    functionName: roaring::internal::ra_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_clear(roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20078,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - k
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (desired_size <= max_containers)
      pos:
        line_end: 20077
        line_start: 20077
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20089
      start: 20075
    functionDepth: 0
    functionLinenumber: 20075
    functionLinenumberEnd: 20089
    functionName: roaring::internal::extend_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 35
    functionsReached:
    - assert
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: bool
    signature: bool extend_array(roaring_array_t *ra, int32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20100
      start: 20091
    functionDepth: 0
    functionLinenumber: 20091
    functionLinenumberEnd: 20100
    functionName: roaring::internal::ra_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append(roaring_array_t *ra, uint16_t key, container_t *c,\n
      \              uint8_t typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20104,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20111,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - sa
    - index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20121
      start: 20102
    functionDepth: 0
    functionLinenumber: 20102
    functionLinenumberEnd: 20121
    functionName: roaring::internal::ra_append_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy(roaring_array_t *ra, const roaring_array_t *sa,\n
      \                   uint16_t index, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - sa
    - stopping_key
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20129
      start: 20123
    functionDepth: 0
    functionLinenumber: 20123
    functionLinenumberEnd: 20129
    functionName: roaring::internal::ra_append_copies_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_append_copy
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_until(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t stopping_key, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20134,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20139,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20150
      start: 20131
    functionDepth: 0
    functionLinenumber: 20131
    functionLinenumberEnd: 20150
    functionName: roaring::internal::ra_append_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy_range(roaring_array_t *ra, const roaring_array_t
      *sa,\n                          int32_t start_index, int32_t end_index,\n                          bool
      copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20154,1
    - Dst: roaring::internal::ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ra
    - sa
    - before_start
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20160
      start: 20152
    functionDepth: 0
    functionLinenumber: 20152
    functionLinenumberEnd: 20160
    functionName: roaring::internal::ra_append_copies_after
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_get_index
    - roaring::internal::ra_append_copy_range
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_after(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t before_start, bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20174
      start: 20162
    functionDepth: 0
    functionLinenumber: 20162
    functionLinenumberEnd: 20174
    functionName: roaring::internal::ra_append_move_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_move_range(roaring_array_t *ra, roaring_array_t *sa,\n
      \                         int32_t start_index, int32_t end_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20179,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20185,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20196
      start: 20176
    functionDepth: 0
    functionLinenumber: 20176
    functionLinenumberEnd: 20196
    functionName: roaring::internal::ra_append_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_range(roaring_array_t *ra, roaring_array_t *sa,\n                     int32_t
      start_index, int32_t end_index,\n                     bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ra
    - x
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20204
      start: 20198
    functionDepth: 0
    functionLinenumber: 20198
    functionLinenumberEnd: 20204
    functionName: roaring::internal::ra_get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container(roaring_array_t *ra, uint16_t x,\n                              uint8_t
      *typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20225
      start: 20219
    functionDepth: 0
    functionLinenumber: 20219
    functionLinenumberEnd: 20225
    functionName: roaring::internal::ra_advance_until_freeing
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_advance_until_freeing(roaring_array_t *ra, uint16_t x, int32_t
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20229,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20231,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20233,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20241
      start: 20227
    functionDepth: 0
    functionLinenumber: 20227
    functionLinenumberEnd: 20241
    functionName: roaring::internal::ra_insert_new_key_value_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_insert_new_key_value_at(roaring_array_t *ra, int32_t i, uint16_t
      key,\n                                container_t *c, uint8_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - new_length
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (new_length <= ra->size)
      pos:
        line_end: 20248
        line_start: 20248
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20251
      start: 20248
    functionDepth: 0
    functionLinenumber: 20248
    functionLinenumberEnd: 20251
    functionName: roaring::internal::ra_downsize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ra_downsize(roaring_array_t *ra, int32_t new_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20254,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20256,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20261
      start: 20253
    functionDepth: 0
    functionLinenumber: 20253
    functionLinenumberEnd: 20261
    functionName: roaring::internal::ra_remove_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20264,1
    - Dst: roaring::internal::ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20266
      start: 20263
    functionDepth: 0
    functionLinenumber: 20263
    functionLinenumberEnd: 20266
    functionName: roaring::internal::ra_remove_at_index_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    - roaring::internal::ra_remove_at_index
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index_and_free(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20275,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20276,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20283,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20285,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - begin
    - end
    - new_begin
    argTypes:
    - roaring_array_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (begin <= end)
      pos:
        line_end: 20274
        line_start: 20274
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (new_begin < begin)
      pos:
        line_end: 20275
        line_start: 20275
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20289
      start: 20273
    functionDepth: 0
    functionLinenumber: 20273
    functionLinenumberEnd: 20289
    functionName: roaring::internal::ra_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    linkageType: ''
    returnType: void
    signature: "void ra_copy_range(roaring_array_t *ra, uint32_t begin, uint32_t end,\n
      \                  uint32_t new_begin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20293,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20297,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20298,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ra
    - count
    - distance
    argTypes:
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20303
      start: 20291
    functionDepth: 0
    functionLinenumber: 20291
    functionLinenumberEnd: 20303
    functionName: roaring::internal::ra_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: void ra_shift_tail(roaring_array_t *ra, int32_t count, int32_t distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - ans
    argTypes:
    - roaring_array_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20313
      start: 20305
    functionDepth: 0
    functionLinenumber: 20305
    functionLinenumberEnd: 20313
    functionName: roaring::internal::ra_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void ra_to_uint32_array(const roaring_array_t *ra, uint32_t *ans)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20330,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20333,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20336,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20339,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20339,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20347,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20352,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20356,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20359,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20362,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20365,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20366,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20371,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20371,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20376,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20376,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20381,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20381,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20392,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20393,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 4
    argNames:
    - ra
    - offset
    - limit
    - ans
    argTypes:
    - roaring_array_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20396
      start: 20315
    functionDepth: 0
    functionLinenumber: 20315
    functionLinenumberEnd: 20396
    functionName: roaring::internal::ra_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring_malloc
    - roaring_free
    - free
    - memset
    - roaring::internal::run_container_cardinality
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_range_uint32_array(const roaring_array_t *ra, size_t offset,\n
      \                          size_t limit, uint32_t *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20405
      start: 20398
    functionDepth: 0
    functionLinenumber: 20398
    functionLinenumberEnd: 20405
    functionName: roaring::internal::ra_has_run_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring::internal::get_container_type
    linkageType: ''
    returnType: bool
    signature: bool ra_has_run_container(const roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20418
      start: 20407
    functionDepth: 0
    functionLinenumber: 20407
    functionLinenumberEnd: 20418
    functionName: roaring::internal::ra_portable_header_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::internal::ra_has_run_container
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ra_portable_header_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_portable_header_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20421,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20427
      start: 20420
    functionDepth: 0
    functionLinenumber: 20420
    functionLinenumberEnd: 20427
    functionName: roaring::internal::ra_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_size_in_bytes
    - roaring::internal::ra_portable_header_size
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_size_in_bytes(const roaring_array_t *ra)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20433,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20436,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20439,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20440,1
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20442,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20447,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20449,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20458,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20460,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20466,1
    - Dst: roaring::internal::container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20470,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20473,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20479,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20483,1
    - Dst: roaring::internal::container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20487,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - ra
    - buf
    argTypes:
    - roaring_array_t*
    - char*
    assertStmts:
    - condition: (bitmapOfRunContainers != NULL)
      pos:
        line_end: 20439
        line_start: 20439
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20490
      start: 20430
    functionDepth: 0
    functionLinenumber: 20430
    functionLinenumberEnd: 20490
    functionName: roaring::internal::ra_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring::internal::get_container_type
    - assert
    - roaring::internal::ra_has_run_container
    - roaring::internal::container_get_cardinality
    - roaring_free
    - roaring::internal::container_size_in_bytes
    - memcpy
    - roaring::internal::container_write
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_serialize(const roaring_array_t *ra, char *buf)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20503,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20516,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20544,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20564,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20578
      start: 20499
    functionDepth: 0
    functionLinenumber: 20499
    functionLinenumberEnd: 20578
    functionName: roaring::internal::ra_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_deserialize_size(const char *buf, const size_t maxbytes)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20594,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20611,1
    - Dst: roaring::internal::ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20644,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20652,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20659,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20670,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20687,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20692,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20695,1
    - Dst: roaring::internal::bitset_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20700,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20708,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20713,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20718,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20724,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20727,1
    - Dst: roaring::internal::run_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20732,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20741,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20747,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20750,1
    - Dst: roaring::internal::array_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20755,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 113
    argCount: 4
    argNames:
    - answer
    - buf
    - maxbytes
    - readbytes
    argTypes:
    - roaring_array_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20761
      start: 20586
    functionDepth: 0
    functionLinenumber: 20586
    functionLinenumberEnd: 20761
    functionName: roaring::internal::ra_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::array_container_read
    - roaring::internal::ra_clear
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_read
    - roaring::internal::run_container_create
    - roaring::internal::ra_init_with_capacity
    - roaring::internal::run_container_read
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool ra_portable_deserialize(roaring_array_t *answer, const char *buf,\n
      \                            const size_t maxbytes, size_t *readbytes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19928,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19938,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19944,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19947,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19948,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19949,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ra
    - new_capacity
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: "((char *)(newtypecodes + new_capacity) ==\n           (char *)bigalloc
        + memoryneeded)"
      pos:
        line_end: 19944
        line_start: 19943
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 19957
      start: 19921
    functionDepth: 0
    functionLinenumber: 19921
    functionLinenumberEnd: 19957
    functionName: roaring::internal::realloc_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 18
    functionsReached:
    - roaring_malloc
    - assert
    - memcpy
    - roaring_free
    linkageType: ''
    returnType: bool
    signature: bool realloc_array(roaring_array_t *ra, int32_t new_capacity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19961,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - new_ra
    - cap
    argTypes:
    - roaring_array_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19980
      start: 19959
    functionDepth: 0
    functionLinenumber: 19959
    functionLinenumberEnd: 19980
    functionName: roaring::internal::ra_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::ra_init
    - roaring_malloc
    linkageType: ''
    returnType: bool
    signature: bool ra_init_with_capacity(roaring_array_t *new_ra, uint32_t cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19990
      start: 19982
    functionDepth: 0
    functionLinenumber: 19982
    functionLinenumberEnd: 19990
    functionName: roaring::internal::ra_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: int
    signature: int ra_shrink_to_fit(roaring_array_t *ra)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - new_ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20003
      start: 19992
    functionDepth: 0
    functionLinenumber: 19992
    functionLinenumberEnd: 20003
    functionName: roaring::internal::ra_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ra_init(roaring_array_t *new_ra)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20007,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20013,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20018,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20022,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20026,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20028,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20031,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20035,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20038,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20040,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - source
    - dest
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20046
      start: 20005
    functionDepth: 0
    functionLinenumber: 20005
    functionLinenumberEnd: 20046
    functionName: roaring::internal::ra_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::realloc_array
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_free
    - roaring::internal::ra_clear_containers
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_overwrite(const roaring_array_t *source, roaring_array_t *dest,\n
      \                 bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20052
      start: 20048
    functionDepth: 0
    functionLinenumber: 20048
    functionLinenumberEnd: 20052
    functionName: roaring::internal::ra_clear_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 19
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20055,1
    - Dst: roaring::internal::ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20058
      start: 20054
    functionDepth: 0
    functionLinenumber: 20054
    functionLinenumberEnd: 20058
    functionName: roaring::internal::ra_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_shrink_to_fit
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_reset(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20068
      start: 20060
    functionDepth: 0
    functionLinenumber: 20060
    functionLinenumberEnd: 20068
    functionName: roaring::internal::ra_clear_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_without_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20071,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20073
      start: 20070
    functionDepth: 0
    functionLinenumber: 20070
    functionLinenumberEnd: 20073
    functionName: roaring::internal::ra_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_clear(roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20078,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - k
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (desired_size <= max_containers)
      pos:
        line_end: 20077
        line_start: 20077
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20089
      start: 20075
    functionDepth: 0
    functionLinenumber: 20075
    functionLinenumberEnd: 20089
    functionName: roaring::internal::extend_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 42
    functionsReached:
    - assert
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: bool
    signature: bool extend_array(roaring_array_t *ra, int32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20100
      start: 20091
    functionDepth: 0
    functionLinenumber: 20091
    functionLinenumberEnd: 20100
    functionName: roaring::internal::ra_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append(roaring_array_t *ra, uint16_t key, container_t *c,\n
      \              uint8_t typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20104,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20111,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - sa
    - index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20121
      start: 20102
    functionDepth: 0
    functionLinenumber: 20102
    functionLinenumberEnd: 20121
    functionName: roaring::internal::ra_append_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy(roaring_array_t *ra, const roaring_array_t *sa,\n
      \                   uint16_t index, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - sa
    - stopping_key
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20129
      start: 20123
    functionDepth: 0
    functionLinenumber: 20123
    functionLinenumberEnd: 20129
    functionName: roaring::internal::ra_append_copies_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_append_copy
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_until(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t stopping_key, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20134,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20139,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20150
      start: 20131
    functionDepth: 0
    functionLinenumber: 20131
    functionLinenumberEnd: 20150
    functionName: roaring::internal::ra_append_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy_range(roaring_array_t *ra, const roaring_array_t
      *sa,\n                          int32_t start_index, int32_t end_index,\n                          bool
      copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20154,1
    - Dst: roaring::internal::ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ra
    - sa
    - before_start
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20160
      start: 20152
    functionDepth: 0
    functionLinenumber: 20152
    functionLinenumberEnd: 20160
    functionName: roaring::internal::ra_append_copies_after
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_get_index
    - roaring::internal::ra_append_copy_range
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_after(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t before_start, bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20174
      start: 20162
    functionDepth: 0
    functionLinenumber: 20162
    functionLinenumberEnd: 20174
    functionName: roaring::internal::ra_append_move_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_move_range(roaring_array_t *ra, roaring_array_t *sa,\n
      \                         int32_t start_index, int32_t end_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20179,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20185,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20196
      start: 20176
    functionDepth: 0
    functionLinenumber: 20176
    functionLinenumberEnd: 20196
    functionName: roaring::internal::ra_append_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_range(roaring_array_t *ra, roaring_array_t *sa,\n                     int32_t
      start_index, int32_t end_index,\n                     bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ra
    - x
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20204
      start: 20198
    functionDepth: 0
    functionLinenumber: 20198
    functionLinenumberEnd: 20204
    functionName: roaring::internal::ra_get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container(roaring_array_t *ra, uint16_t x,\n                              uint8_t
      *typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20225
      start: 20219
    functionDepth: 0
    functionLinenumber: 20219
    functionLinenumberEnd: 20225
    functionName: roaring::internal::ra_advance_until_freeing
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_advance_until_freeing(roaring_array_t *ra, uint16_t x, int32_t
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20229,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20231,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20233,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20241
      start: 20227
    functionDepth: 0
    functionLinenumber: 20227
    functionLinenumberEnd: 20241
    functionName: roaring::internal::ra_insert_new_key_value_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_insert_new_key_value_at(roaring_array_t *ra, int32_t i, uint16_t
      key,\n                                container_t *c, uint8_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - new_length
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (new_length <= ra->size)
      pos:
        line_end: 20248
        line_start: 20248
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20251
      start: 20248
    functionDepth: 0
    functionLinenumber: 20248
    functionLinenumberEnd: 20251
    functionName: roaring::internal::ra_downsize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ra_downsize(roaring_array_t *ra, int32_t new_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20254,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20256,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20261
      start: 20253
    functionDepth: 0
    functionLinenumber: 20253
    functionLinenumberEnd: 20261
    functionName: roaring::internal::ra_remove_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20264,1
    - Dst: roaring::internal::ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20266
      start: 20263
    functionDepth: 0
    functionLinenumber: 20263
    functionLinenumberEnd: 20266
    functionName: roaring::internal::ra_remove_at_index_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    - roaring::internal::ra_remove_at_index
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index_and_free(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20275,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20276,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20283,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20285,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - begin
    - end
    - new_begin
    argTypes:
    - roaring_array_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (begin <= end)
      pos:
        line_end: 20274
        line_start: 20274
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (new_begin < begin)
      pos:
        line_end: 20275
        line_start: 20275
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20289
      start: 20273
    functionDepth: 0
    functionLinenumber: 20273
    functionLinenumberEnd: 20289
    functionName: roaring::internal::ra_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    linkageType: ''
    returnType: void
    signature: "void ra_copy_range(roaring_array_t *ra, uint32_t begin, uint32_t end,\n
      \                  uint32_t new_begin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20293,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20297,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20298,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ra
    - count
    - distance
    argTypes:
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20303
      start: 20291
    functionDepth: 0
    functionLinenumber: 20291
    functionLinenumberEnd: 20303
    functionName: roaring::internal::ra_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: void ra_shift_tail(roaring_array_t *ra, int32_t count, int32_t distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - ans
    argTypes:
    - roaring_array_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20313
      start: 20305
    functionDepth: 0
    functionLinenumber: 20305
    functionLinenumberEnd: 20313
    functionName: roaring::internal::ra_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void ra_to_uint32_array(const roaring_array_t *ra, uint32_t *ans)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20330,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20333,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20336,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20339,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20339,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20347,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20352,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20356,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20359,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20362,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20365,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20366,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20371,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20371,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20376,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20376,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20381,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20381,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20392,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20393,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 4
    argNames:
    - ra
    - offset
    - limit
    - ans
    argTypes:
    - roaring_array_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20396
      start: 20315
    functionDepth: 0
    functionLinenumber: 20315
    functionLinenumberEnd: 20396
    functionName: roaring::internal::ra_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring_malloc
    - roaring_free
    - free
    - memset
    - roaring::internal::run_container_cardinality
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_range_uint32_array(const roaring_array_t *ra, size_t offset,\n
      \                          size_t limit, uint32_t *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20405
      start: 20398
    functionDepth: 0
    functionLinenumber: 20398
    functionLinenumberEnd: 20405
    functionName: roaring::internal::ra_has_run_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::internal::get_container_type
    linkageType: ''
    returnType: bool
    signature: bool ra_has_run_container(const roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20418
      start: 20407
    functionDepth: 0
    functionLinenumber: 20407
    functionLinenumberEnd: 20418
    functionName: roaring::internal::ra_portable_header_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::internal::ra_has_run_container
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ra_portable_header_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_portable_header_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20421,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20427
      start: 20420
    functionDepth: 0
    functionLinenumber: 20420
    functionLinenumberEnd: 20427
    functionName: roaring::internal::ra_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_size_in_bytes
    - roaring::internal::ra_portable_header_size
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_size_in_bytes(const roaring_array_t *ra)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20433,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20436,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20439,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20440,1
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20442,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20447,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20449,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20458,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20460,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20466,1
    - Dst: roaring::internal::container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20470,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20473,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20479,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20483,1
    - Dst: roaring::internal::container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20487,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - ra
    - buf
    argTypes:
    - roaring_array_t*
    - char*
    assertStmts:
    - condition: (bitmapOfRunContainers != NULL)
      pos:
        line_end: 20439
        line_start: 20439
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20490
      start: 20430
    functionDepth: 0
    functionLinenumber: 20430
    functionLinenumberEnd: 20490
    functionName: roaring::internal::ra_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring::internal::get_container_type
    - assert
    - roaring::internal::ra_has_run_container
    - roaring::internal::container_get_cardinality
    - roaring_free
    - roaring::internal::container_size_in_bytes
    - memcpy
    - roaring::internal::container_write
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_serialize(const roaring_array_t *ra, char *buf)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20503,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20516,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20544,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20564,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20578
      start: 20499
    functionDepth: 0
    functionLinenumber: 20499
    functionLinenumberEnd: 20578
    functionName: roaring::internal::ra_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_deserialize_size(const char *buf, const size_t maxbytes)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20594,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20611,1
    - Dst: roaring::internal::ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20644,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20652,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20659,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20670,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20687,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20692,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20695,1
    - Dst: roaring::internal::bitset_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20700,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20708,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20713,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20718,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20724,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20727,1
    - Dst: roaring::internal::run_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20732,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20741,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20747,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20750,1
    - Dst: roaring::internal::array_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20755,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 113
    argCount: 4
    argNames:
    - answer
    - buf
    - maxbytes
    - readbytes
    argTypes:
    - roaring_array_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20761
      start: 20586
    functionDepth: 0
    functionLinenumber: 20586
    functionLinenumberEnd: 20761
    functionName: roaring::internal::ra_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::array_container_read
    - roaring::internal::ra_clear
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_read
    - roaring::internal::run_container_create
    - roaring::internal::ra_init_with_capacity
    - roaring::internal::run_container_read
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool ra_portable_deserialize(roaring_array_t *answer, const char *buf,\n
      \                            const size_t maxbytes, size_t *readbytes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19928,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19938,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19944,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19947,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19948,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19949,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ra
    - new_capacity
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: "((char *)(newtypecodes + new_capacity) ==\n           (char *)bigalloc
        + memoryneeded)"
      pos:
        line_end: 19944
        line_start: 19943
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 19957
      start: 19921
    functionDepth: 0
    functionLinenumber: 19921
    functionLinenumberEnd: 19957
    functionName: roaring::internal::realloc_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 21
    functionsReached:
    - roaring_malloc
    - assert
    - memcpy
    - roaring_free
    linkageType: ''
    returnType: bool
    signature: bool realloc_array(roaring_array_t *ra, int32_t new_capacity)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19961,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - new_ra
    - cap
    argTypes:
    - roaring_array_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19980
      start: 19959
    functionDepth: 0
    functionLinenumber: 19959
    functionLinenumberEnd: 19980
    functionName: roaring::internal::ra_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::ra_init
    - roaring_malloc
    linkageType: ''
    returnType: bool
    signature: bool ra_init_with_capacity(roaring_array_t *new_ra, uint32_t cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:19985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19990
      start: 19982
    functionDepth: 0
    functionLinenumber: 19982
    functionLinenumberEnd: 19990
    functionName: roaring::internal::ra_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: int
    signature: int ra_shrink_to_fit(roaring_array_t *ra)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - new_ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20003
      start: 19992
    functionDepth: 0
    functionLinenumber: 19992
    functionLinenumberEnd: 20003
    functionName: roaring::internal::ra_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ra_init(roaring_array_t *new_ra)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20007,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20013,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20018,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20022,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20026,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20028,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20031,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20035,1
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20038,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20040,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - source
    - dest
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20046
      start: 20005
    functionDepth: 0
    functionLinenumber: 20005
    functionLinenumberEnd: 20046
    functionName: roaring::internal::ra_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_clone
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::realloc_array
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_free
    - roaring::internal::ra_clear_containers
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_overwrite(const roaring_array_t *source, roaring_array_t *dest,\n
      \                 bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20052
      start: 20048
    functionDepth: 0
    functionLinenumber: 20048
    functionLinenumberEnd: 20052
    functionName: roaring::internal::ra_clear_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 22
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20055,1
    - Dst: roaring::internal::ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20058
      start: 20054
    functionDepth: 0
    functionLinenumber: 20054
    functionLinenumberEnd: 20058
    functionName: roaring::internal::ra_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_shrink_to_fit
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_reset(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20068
      start: 20060
    functionDepth: 0
    functionLinenumber: 20060
    functionLinenumberEnd: 20068
    functionName: roaring::internal::ra_clear_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void ra_clear_without_containers(roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_clear_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20071,1
    - Dst: roaring::internal::ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20073
      start: 20070
    functionDepth: 0
    functionLinenumber: 20070
    functionLinenumberEnd: 20073
    functionName: roaring::internal::ra_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::ra_clear_without_containers
    - roaring::internal::ra_clear_containers
    linkageType: ''
    returnType: void
    signature: void ra_clear(roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20078,1
    - Dst: roaring::internal::realloc_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - k
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (desired_size <= max_containers)
      pos:
        line_end: 20077
        line_start: 20077
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20089
      start: 20075
    functionDepth: 0
    functionLinenumber: 20075
    functionLinenumberEnd: 20089
    functionName: roaring::internal::extend_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 49
    functionsReached:
    - assert
    - roaring::internal::realloc_array
    linkageType: ''
    returnType: bool
    signature: bool extend_array(roaring_array_t *ra, int32_t k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20100
      start: 20091
    functionDepth: 0
    functionLinenumber: 20091
    functionLinenumberEnd: 20100
    functionName: roaring::internal::ra_append
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append(roaring_array_t *ra, uint16_t key, container_t *c,\n
      \              uint8_t typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20104,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20111,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - sa
    - index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20121
      start: 20102
    functionDepth: 0
    functionLinenumber: 20102
    functionLinenumberEnd: 20121
    functionName: roaring::internal::ra_append_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy(roaring_array_t *ra, const roaring_array_t *sa,\n
      \                   uint16_t index, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - sa
    - stopping_key
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20129
      start: 20123
    functionDepth: 0
    functionLinenumber: 20123
    functionLinenumberEnd: 20129
    functionName: roaring::internal::ra_append_copies_until
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_append_copy
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_until(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t stopping_key, bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20134,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20139,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20150
      start: 20131
    functionDepth: 0
    functionLinenumber: 20131
    functionLinenumberEnd: 20150
    functionName: roaring::internal::ra_append_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_copy_range(roaring_array_t *ra, const roaring_array_t
      *sa,\n                          int32_t start_index, int32_t end_index,\n                          bool
      copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20154,1
    - Dst: roaring::internal::ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ra
    - sa
    - before_start
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20160
      start: 20152
    functionDepth: 0
    functionLinenumber: 20152
    functionLinenumberEnd: 20160
    functionName: roaring::internal::ra_append_copies_after
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::ra_get_index
    - roaring::internal::ra_append_copy_range
    linkageType: ''
    returnType: void
    signature: "void ra_append_copies_after(roaring_array_t *ra, const roaring_array_t
      *sa,\n                            uint16_t before_start, bool copy_on_write)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20174
      start: 20162
    functionDepth: 0
    functionLinenumber: 20162
    functionLinenumberEnd: 20174
    functionName: roaring::internal::ra_append_move_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_move_range(roaring_array_t *ra, roaring_array_t *sa,\n
      \                         int32_t start_index, int32_t end_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20179,1
    - Dst: roaring::internal::get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20185,1
    - Dst: roaring::internal::container_clone
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ra
    - sa
    - start_index
    - end_index
    - copy_on_write
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - int32_t
    - int32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20196
      start: 20176
    functionDepth: 0
    functionLinenumber: 20176
    functionLinenumberEnd: 20196
    functionName: roaring::internal::ra_append_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::get_copy_of_container
    - roaring::internal::container_clone
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_append_range(roaring_array_t *ra, roaring_array_t *sa,\n                     int32_t
      start_index, int32_t end_index,\n                     bool copy_on_write)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::binarySearch
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ra
    - x
    - typecode
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20204
      start: 20198
    functionDepth: 0
    functionLinenumber: 20198
    functionLinenumberEnd: 20204
    functionName: roaring::internal::ra_get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::binarySearch
    linkageType: ''
    returnType: container_t
    signature: "container_t *ra_get_container(roaring_array_t *ra, uint16_t x,\n                              uint8_t
      *typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ra
    - x
    - pos
    argTypes:
    - roaring_array_t*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20225
      start: 20219
    functionDepth: 0
    functionLinenumber: 20219
    functionLinenumberEnd: 20225
    functionName: roaring::internal::ra_advance_until_freeing
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    linkageType: ''
    returnType: int32_t
    signature: int32_t ra_advance_until_freeing(roaring_array_t *ra, uint16_t x, int32_t
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20229,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20231,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20233,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ra
    - i
    - key
    - c
    - typecode
    argTypes:
    - roaring_array_t*
    - int32_t
    - uint16_t
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20241
      start: 20227
    functionDepth: 0
    functionLinenumber: 20227
    functionLinenumberEnd: 20241
    functionName: roaring::internal::ra_insert_new_key_value_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: "void ra_insert_new_key_value_at(roaring_array_t *ra, int32_t i, uint16_t
      key,\n                                container_t *c, uint8_t typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - new_length
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts:
    - condition: (new_length <= ra->size)
      pos:
        line_end: 20248
        line_start: 20248
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20251
      start: 20248
    functionDepth: 0
    functionLinenumber: 20248
    functionLinenumberEnd: 20251
    functionName: roaring::internal::ra_downsize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void ra_downsize(roaring_array_t *ra, int32_t new_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20254,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20256,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20261
      start: 20253
    functionDepth: 0
    functionLinenumber: 20253
    functionLinenumberEnd: 20261
    functionName: roaring::internal::ra_remove_at_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20264,1
    - Dst: roaring::internal::ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - i
    argTypes:
    - roaring_array_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20266
      start: 20263
    functionDepth: 0
    functionLinenumber: 20263
    functionLinenumberEnd: 20266
    functionName: roaring::internal::ra_remove_at_index_and_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_free
    - roaring::internal::ra_remove_at_index
    linkageType: ''
    returnType: void
    signature: void ra_remove_at_index_and_free(roaring_array_t *ra, int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20275,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20276,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20283,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20285,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ra
    - begin
    - end
    - new_begin
    argTypes:
    - roaring_array_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (begin <= end)
      pos:
        line_end: 20274
        line_start: 20274
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (new_begin < begin)
      pos:
        line_end: 20275
        line_start: 20275
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20289
      start: 20273
    functionDepth: 0
    functionLinenumber: 20273
    functionLinenumberEnd: 20289
    functionName: roaring::internal::ra_copy_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    linkageType: ''
    returnType: void
    signature: "void ra_copy_range(roaring_array_t *ra, uint32_t begin, uint32_t end,\n
      \                  uint32_t new_begin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::extend_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20293,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20297,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20298,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ra
    - count
    - distance
    argTypes:
    - roaring_array_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20303
      start: 20291
    functionDepth: 0
    functionLinenumber: 20291
    functionLinenumberEnd: 20303
    functionName: roaring::internal::ra_shift_tail
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memmove
    - roaring::internal::extend_array
    linkageType: ''
    returnType: void
    signature: void ra_shift_tail(roaring_array_t *ra, int32_t count, int32_t distance)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ra
    - ans
    argTypes:
    - roaring_array_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20313
      start: 20305
    functionDepth: 0
    functionLinenumber: 20305
    functionLinenumberEnd: 20313
    functionName: roaring::internal::ra_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void ra_to_uint32_array(const roaring_array_t *ra, uint32_t *ans)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20330,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20333,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20336,1
    - Dst: roaring::internal::run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20339,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20339,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20347,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20352,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20356,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20359,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20362,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20365,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20366,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20371,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20371,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20376,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20376,1
    - Dst: roaring::internal::container_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20381,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20381,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20392,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20393,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 4
    argNames:
    - ra
    - offset
    - limit
    - ans
    argTypes:
    - roaring_array_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20396
      start: 20315
    functionDepth: 0
    functionLinenumber: 20315
    functionLinenumberEnd: 20396
    functionName: roaring::internal::ra_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::internal::container_to_uint32_array
    - const_CAST_bitset
    - roaring::internal::container_unwrap_shared
    - const_CAST_run
    - roaring_malloc
    - roaring_free
    - free
    - memset
    - roaring::internal::run_container_cardinality
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool ra_range_uint32_array(const roaring_array_t *ra, size_t offset,\n
      \                          size_t limit, uint32_t *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20405
      start: 20398
    functionDepth: 0
    functionLinenumber: 20398
    functionLinenumberEnd: 20405
    functionName: roaring::internal::ra_has_run_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::internal::get_container_type
    linkageType: ''
    returnType: bool
    signature: bool ra_has_run_container(const roaring_array_t *ra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20418
      start: 20407
    functionDepth: 0
    functionLinenumber: 20407
    functionLinenumberEnd: 20418
    functionName: roaring::internal::ra_portable_header_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::internal::ra_has_run_container
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ra_portable_header_size(const roaring_array_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_portable_header_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20421,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ra
    argTypes:
    - roaring_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20427
      start: 20420
    functionDepth: 0
    functionLinenumber: 20420
    functionLinenumberEnd: 20427
    functionName: roaring::internal::ra_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::internal::container_size_in_bytes
    - roaring::internal::ra_portable_header_size
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_size_in_bytes(const roaring_array_t *ra)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::internal::ra_has_run_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20433,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20436,1
    - Dst: roaring_calloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20439,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20440,1
    - Dst: roaring::internal::get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20442,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20447,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20449,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20458,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20460,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20466,1
    - Dst: roaring::internal::container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20470,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20473,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20479,1
    - Dst: roaring::internal::container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20483,1
    - Dst: roaring::internal::container_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20487,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - ra
    - buf
    argTypes:
    - roaring_array_t*
    - char*
    assertStmts:
    - condition: (bitmapOfRunContainers != NULL)
      pos:
        line_end: 20439
        line_start: 20439
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20490
      start: 20430
    functionDepth: 0
    functionLinenumber: 20430
    functionLinenumberEnd: 20490
    functionName: roaring::internal::ra_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_calloc
    - roaring::internal::get_container_type
    - assert
    - roaring::internal::ra_has_run_container
    - roaring::internal::container_get_cardinality
    - roaring_free
    - roaring::internal::container_size_in_bytes
    - memcpy
    - roaring::internal::container_write
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_serialize(const roaring_array_t *ra, char *buf)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20503,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20516,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20544,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20564,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20578
      start: 20499
    functionDepth: 0
    functionLinenumber: 20499
    functionLinenumberEnd: 20578
    functionName: roaring::internal::ra_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t ra_portable_deserialize_size(const char *buf, const size_t maxbytes)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20594,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20611,1
    - Dst: roaring::internal::ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20644,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20652,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20659,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20670,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20687,1
    - Dst: roaring::internal::bitset_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20692,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20695,1
    - Dst: roaring::internal::bitset_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20700,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20708,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20713,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20718,1
    - Dst: roaring::internal::run_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20724,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20727,1
    - Dst: roaring::internal::run_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20732,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20741,1
    - Dst: roaring::internal::array_container_create_given_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20747,1
    - Dst: roaring::internal::ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20750,1
    - Dst: roaring::internal::array_container_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20755,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 113
    argCount: 4
    argNames:
    - answer
    - buf
    - maxbytes
    - readbytes
    argTypes:
    - roaring_array_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20761
      start: 20586
    functionDepth: 0
    functionLinenumber: 20586
    functionLinenumberEnd: 20761
    functionName: roaring::internal::ra_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring::internal::array_container_read
    - roaring::internal::ra_clear
    - roaring::internal::array_container_create_given_capacity
    - roaring::internal::bitset_container_read
    - roaring::internal::run_container_create
    - roaring::internal::ra_init_with_capacity
    - roaring::internal::run_container_read
    - roaring::internal::bitset_container_create
    linkageType: ''
    returnType: bool
    signature: "bool ra_portable_deserialize(roaring_array_t *answer, const char *buf,\n
      \                            const size_t maxbytes, size_t *readbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - roaring_pq_element_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20796
      start: 20794
    functionDepth: 0
    functionLinenumber: 20794
    functionLinenumberEnd: 20796
    functionName: roaring::api::compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool compare(roaring_pq_element_t *t1, roaring_pq_element_t *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pq
    - t
    argTypes:
    - roaring_pq_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20809
      start: 20798
    functionDepth: 0
    functionLinenumber: 20798
    functionLinenumberEnd: 20809
    functionName: roaring::api::pq_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void pq_add(roaring_pq_t *pq, roaring_pq_element_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20811
      start: 20811
    functionDepth: 0
    functionLinenumber: 20811
    functionLinenumberEnd: 20811
    functionName: roaring::api::pq_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void pq_free(roaring_pq_t *pq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20822,1
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - i
    argTypes:
    - roaring_pq_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20834
      start: 20813
    functionDepth: 0
    functionLinenumber: 20813
    functionLinenumberEnd: 20834
    functionName: roaring::api::percolate_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void percolate_down(roaring_pq_t *pq, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20839,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20846,1
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - arr
    - length
    argTypes:
    - roaring_bitmap_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20852
      start: 20836
    functionDepth: 0
    functionLinenumber: 20836
    functionLinenumberEnd: 20852
    functionName: roaring::api::create_pq
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::percolate_down
    - roaring_malloc
    linkageType: ''
    returnType: roaring_pq_t
    signature: roaring_pq_t *create_pq(const roaring_bitmap_t **arr, uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20863
      start: 20854
    functionDepth: 0
    functionLinenumber: 20854
    functionLinenumberEnd: 20863
    functionName: roaring::api::pq_poll
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::percolate_down
    linkageType: ''
    returnType: roaring_pq_element_t
    signature: roaring_pq_element_t pq_poll(roaring_pq_t *pq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20869,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20870,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20872,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20876,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20880,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20883,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20884,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20891,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20893,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20895,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20897,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20899,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20901,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20907,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20908,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20910,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20913,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20914,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20916,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20922,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20927,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20928,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20931,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20933,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20936,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20939,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20941,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20944,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20948,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20951,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20954,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20955,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20956,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20957,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (type2 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 20900
        line_start: 20900
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 20894
        line_start: 20894
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20959
      start: 20866
    functionDepth: 0
    functionLinenumber: 20866
    functionLinenumberEnd: 20959
    functionName: roaring::api::lazy_or_from_lazy_inputs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_append_move_range
    - ra_get_container_at_index
    - ra_append
    - assert
    - roaring::api::roaring_bitmap_free
    - container_lazy_ior
    - roaring_free
    - ra_clear_without_containers
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *lazy_or_from_lazy_inputs(roaring_bitmap_t *x1,\n
      \                                                 roaring_bitmap_t *x2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20970,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20973,1
    - Dst: roaring::api::create_pq
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20975,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20977,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20978,1
    - Dst: roaring::api::lazy_or_from_lazy_inputs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20982,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20986,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20989,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20991,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20992,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20993,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20995,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20996,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20998,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21001,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21002,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21006,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21009,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21011,1
    - Dst: roaring::api::pq_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21012,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - uint32_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21014
      start: 20967
    functionDepth: 0
    functionLinenumber: 20967
    functionLinenumberEnd: 21014
    functionName: roaring::api::roaring_bitmap_or_many_heap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::pq_free
    - roaring::api::lazy_or_from_lazy_inputs
    - roaring::api::create_pq
    - roaring::api::pq_add
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::pq_poll
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many_heap(uint32_t number,\n                                              const
      roaring_bitmap_t **x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - roaring_pq_element_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20796
      start: 20794
    functionDepth: 0
    functionLinenumber: 20794
    functionLinenumberEnd: 20796
    functionName: roaring::api::compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool compare(roaring_pq_element_t *t1, roaring_pq_element_t *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pq
    - t
    argTypes:
    - roaring_pq_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20809
      start: 20798
    functionDepth: 0
    functionLinenumber: 20798
    functionLinenumberEnd: 20809
    functionName: roaring::api::pq_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void pq_add(roaring_pq_t *pq, roaring_pq_element_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20811
      start: 20811
    functionDepth: 0
    functionLinenumber: 20811
    functionLinenumberEnd: 20811
    functionName: roaring::api::pq_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void pq_free(roaring_pq_t *pq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20822,1
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - i
    argTypes:
    - roaring_pq_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20834
      start: 20813
    functionDepth: 0
    functionLinenumber: 20813
    functionLinenumberEnd: 20834
    functionName: roaring::api::percolate_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void percolate_down(roaring_pq_t *pq, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20839,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20846,1
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - arr
    - length
    argTypes:
    - roaring_bitmap_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20852
      start: 20836
    functionDepth: 0
    functionLinenumber: 20836
    functionLinenumberEnd: 20852
    functionName: roaring::api::create_pq
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::percolate_down
    - roaring_malloc
    linkageType: ''
    returnType: roaring_pq_t
    signature: roaring_pq_t *create_pq(const roaring_bitmap_t **arr, uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20863
      start: 20854
    functionDepth: 0
    functionLinenumber: 20854
    functionLinenumberEnd: 20863
    functionName: roaring::api::pq_poll
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::api::percolate_down
    linkageType: ''
    returnType: roaring_pq_element_t
    signature: roaring_pq_element_t pq_poll(roaring_pq_t *pq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20869,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20870,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20872,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20876,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20880,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20883,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20884,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20891,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20893,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20895,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20897,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20899,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20901,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20907,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20908,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20910,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20913,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20914,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20916,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20922,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20927,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20928,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20931,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20933,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20936,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20939,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20941,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20944,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20948,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20951,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20954,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20955,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20956,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20957,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (type2 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 20900
        line_start: 20900
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 20894
        line_start: 20894
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20959
      start: 20866
    functionDepth: 0
    functionLinenumber: 20866
    functionLinenumberEnd: 20959
    functionName: roaring::api::lazy_or_from_lazy_inputs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_append_move_range
    - ra_get_container_at_index
    - ra_append
    - assert
    - roaring::api::roaring_bitmap_free
    - container_lazy_ior
    - roaring_free
    - ra_clear_without_containers
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *lazy_or_from_lazy_inputs(roaring_bitmap_t *x1,\n
      \                                                 roaring_bitmap_t *x2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20970,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20973,1
    - Dst: roaring::api::create_pq
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20975,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20977,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20978,1
    - Dst: roaring::api::lazy_or_from_lazy_inputs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20982,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20986,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20989,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20991,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20992,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20993,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20995,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20996,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20998,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21001,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21002,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21006,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21009,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21011,1
    - Dst: roaring::api::pq_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21012,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - uint32_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21014
      start: 20967
    functionDepth: 0
    functionLinenumber: 20967
    functionLinenumberEnd: 21014
    functionName: roaring::api::roaring_bitmap_or_many_heap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::pq_free
    - roaring::api::lazy_or_from_lazy_inputs
    - roaring::api::create_pq
    - roaring::api::pq_add
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::pq_poll
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many_heap(uint32_t number,\n                                              const
      roaring_bitmap_t **x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - roaring_pq_element_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20796
      start: 20794
    functionDepth: 0
    functionLinenumber: 20794
    functionLinenumberEnd: 20796
    functionName: roaring::api::compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool compare(roaring_pq_element_t *t1, roaring_pq_element_t *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pq
    - t
    argTypes:
    - roaring_pq_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20809
      start: 20798
    functionDepth: 0
    functionLinenumber: 20798
    functionLinenumberEnd: 20809
    functionName: roaring::api::pq_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void pq_add(roaring_pq_t *pq, roaring_pq_element_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20811
      start: 20811
    functionDepth: 0
    functionLinenumber: 20811
    functionLinenumberEnd: 20811
    functionName: roaring::api::pq_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void pq_free(roaring_pq_t *pq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20822,1
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - i
    argTypes:
    - roaring_pq_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20834
      start: 20813
    functionDepth: 0
    functionLinenumber: 20813
    functionLinenumberEnd: 20834
    functionName: roaring::api::percolate_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void percolate_down(roaring_pq_t *pq, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20839,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20846,1
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - arr
    - length
    argTypes:
    - roaring_bitmap_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20852
      start: 20836
    functionDepth: 0
    functionLinenumber: 20836
    functionLinenumberEnd: 20852
    functionName: roaring::api::create_pq
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::percolate_down
    - roaring_malloc
    linkageType: ''
    returnType: roaring_pq_t
    signature: roaring_pq_t *create_pq(const roaring_bitmap_t **arr, uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20863
      start: 20854
    functionDepth: 0
    functionLinenumber: 20854
    functionLinenumberEnd: 20863
    functionName: roaring::api::pq_poll
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::api::percolate_down
    linkageType: ''
    returnType: roaring_pq_element_t
    signature: roaring_pq_element_t pq_poll(roaring_pq_t *pq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20869,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20870,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20872,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20876,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20880,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20883,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20884,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20891,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20893,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20895,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20897,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20899,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20901,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20907,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20908,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20910,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20913,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20914,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20916,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20922,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20927,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20928,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20931,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20933,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20936,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20939,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20941,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20944,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20948,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20951,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20954,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20955,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20956,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20957,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (type2 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 20900
        line_start: 20900
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 20894
        line_start: 20894
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20959
      start: 20866
    functionDepth: 0
    functionLinenumber: 20866
    functionLinenumberEnd: 20959
    functionName: roaring::api::lazy_or_from_lazy_inputs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_append_move_range
    - ra_get_container_at_index
    - ra_append
    - assert
    - roaring::api::roaring_bitmap_free
    - container_lazy_ior
    - roaring_free
    - ra_clear_without_containers
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *lazy_or_from_lazy_inputs(roaring_bitmap_t *x1,\n
      \                                                 roaring_bitmap_t *x2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20970,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20973,1
    - Dst: roaring::api::create_pq
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20975,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20977,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20978,1
    - Dst: roaring::api::lazy_or_from_lazy_inputs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20982,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20986,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20989,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20991,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20992,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20993,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20995,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20996,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20998,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21001,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21002,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21006,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21009,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21011,1
    - Dst: roaring::api::pq_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21012,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - uint32_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21014
      start: 20967
    functionDepth: 0
    functionLinenumber: 20967
    functionLinenumberEnd: 21014
    functionName: roaring::api::roaring_bitmap_or_many_heap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::pq_free
    - roaring::api::lazy_or_from_lazy_inputs
    - roaring::api::create_pq
    - roaring::api::pq_add
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::pq_poll
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many_heap(uint32_t number,\n                                              const
      roaring_bitmap_t **x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - roaring_pq_element_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20796
      start: 20794
    functionDepth: 0
    functionLinenumber: 20794
    functionLinenumberEnd: 20796
    functionName: roaring::api::compare
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool compare(roaring_pq_element_t *t1, roaring_pq_element_t *t2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pq
    - t
    argTypes:
    - roaring_pq_t*
    - roaring_pq_element_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20809
      start: 20798
    functionDepth: 0
    functionLinenumber: 20798
    functionLinenumberEnd: 20809
    functionName: roaring::api::pq_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void pq_add(roaring_pq_t *pq, roaring_pq_element_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20811
      start: 20811
    functionDepth: 0
    functionLinenumber: 20811
    functionLinenumberEnd: 20811
    functionName: roaring::api::pq_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void pq_free(roaring_pq_t *pq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20822,1
    - Dst: roaring::api::compare
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - i
    argTypes:
    - roaring_pq_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20834
      start: 20813
    functionDepth: 0
    functionLinenumber: 20813
    functionLinenumberEnd: 20834
    functionName: roaring::api::percolate_down
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::api::compare
    linkageType: ''
    returnType: void
    signature: void percolate_down(roaring_pq_t *pq, uint32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20839,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20846,1
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - arr
    - length
    argTypes:
    - roaring_bitmap_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20852
      start: 20836
    functionDepth: 0
    functionLinenumber: 20836
    functionLinenumberEnd: 20852
    functionName: roaring::api::create_pq
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::percolate_down
    - roaring_malloc
    linkageType: ''
    returnType: roaring_pq_t
    signature: roaring_pq_t *create_pq(const roaring_bitmap_t **arr, uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::percolate_down
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pq
    argTypes:
    - roaring_pq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20863
      start: 20854
    functionDepth: 0
    functionLinenumber: 20854
    functionLinenumberEnd: 20863
    functionName: roaring::api::pq_poll
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::api::percolate_down
    linkageType: ''
    returnType: roaring_pq_element_t
    signature: roaring_pq_element_t pq_poll(roaring_pq_t *pq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20869,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20870,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20872,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20876,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20880,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20883,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20884,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20891,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20893,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20895,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20897,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20899,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20901,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20907,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20908,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20910,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20913,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20914,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20916,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20922,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20927,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20928,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20931,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20933,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20936,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20939,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20941,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20944,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20948,1
    - Dst: ra_append_move_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20951,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20954,1
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20955,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20956,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20957,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (type2 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 20900
        line_start: 20900
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (type1 != SHARED_CONTAINER_TYPE)
      pos:
        line_end: 20894
        line_start: 20894
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 20959
      start: 20866
    functionDepth: 0
    functionLinenumber: 20866
    functionLinenumberEnd: 20959
    functionName: roaring::api::lazy_or_from_lazy_inputs
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_append_move_range
    - ra_get_container_at_index
    - ra_append
    - assert
    - roaring::api::roaring_bitmap_free
    - container_lazy_ior
    - roaring_free
    - ra_clear_without_containers
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *lazy_or_from_lazy_inputs(roaring_bitmap_t *x1,\n
      \                                                 roaring_bitmap_t *x2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20970,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20973,1
    - Dst: roaring::api::create_pq
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20975,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20977,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20978,1
    - Dst: roaring::api::lazy_or_from_lazy_inputs
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20982,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20986,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20989,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20991,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20992,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20993,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20995,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20996,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:20998,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21001,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21002,1
    - Dst: roaring::api::pq_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21006,1
    - Dst: roaring::api::pq_poll
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21009,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21011,1
    - Dst: roaring::api::pq_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21012,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - uint32_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21014
      start: 20967
    functionDepth: 0
    functionLinenumber: 20967
    functionLinenumberEnd: 21014
    functionName: roaring::api::roaring_bitmap_or_many_heap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::pq_free
    - roaring::api::lazy_or_from_lazy_inputs
    - roaring::api::create_pq
    - roaring::api::pq_add
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::pq_poll
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many_heap(uint32_t number,\n                                              const
      roaring_bitmap_t **x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21058
      start: 21056
    functionDepth: 0
    functionLinenumber: 21056
    functionLinenumberEnd: 21058
    functionName: roaring::api::is_cow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cow(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21061
      start: 21059
    functionDepth: 0
    functionLinenumber: 21059
    functionLinenumberEnd: 21061
    functionName: roaring::api::is_frozen
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21075,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21077,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21078,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21080,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21083,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21084,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21091,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21093,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - r
    - val
    - type
    - index
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21099
      start: 21068
    functionDepth: 0
    functionLinenumber: 21068
    functionLinenumberEnd: 21099
    functionName: roaring::api::containerptr_roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *containerptr_roaring_bitmap_add(roaring_bitmap_t *r,\n
      \                                                          uint32_t val,\n                                                           uint8_t
      *type,\n                                                           int *index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21103,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21107,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cap
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21113
      start: 21101
    functionDepth: 0
    functionLinenumber: 21101
    functionLinenumberEnd: 21113
    functionName: roaring::api::roaring_bitmap_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - ra_init_with_capacity
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create_with_capacity(uint32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - cap
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21117
      start: 21115
    functionDepth: 0
    functionLinenumber: 21115
    functionLinenumberEnd: 21117
    functionName: roaring::api::roaring_bitmap_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_init_with_capacity
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_init_with_capacity(roaring_bitmap_t *r, uint32_t
      cap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21127,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21136,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21140,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21147
      start: 21119
    functionDepth: 0
    functionLinenumber: 21119
    functionLinenumberEnd: 21147
    functionName: roaring::api::add_bulk_impl
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::api::containerptr_roaring_bitmap_add
    - container_add
    - ra_set_container_at_index
    - container_free
    linkageType: ''
    returnType: void
    signature: "void add_bulk_impl(roaring_bitmap_t *r,\n                                 roaring_bulk_context_t
      *context,\n                                 uint32_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21164,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21169,1
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21172
      start: 21149
    functionDepth: 0
    functionLinenumber: 21149
    functionLinenumberEnd: 21172
    functionName: roaring::api::roaring_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::add_bulk_impl
    - roaring::api::containerptr_roaring_bitmap_add
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_many(roaring_bitmap_t *r, size_t n_args,\n
      \                            const uint32_t *vals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21177
      start: 21174
    functionDepth: 0
    functionLinenumber: 21174
    functionLinenumberEnd: 21177
    functionName: roaring::api::roaring_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::api::add_bulk_impl
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_bulk(roaring_bitmap_t *r,\n                             roaring_bulk_context_t
      *context, uint32_t val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21188,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21189,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21193,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21198,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21208
      start: 21179
    functionDepth: 0
    functionLinenumber: 21179
    functionLinenumberEnd: 21208
    functionName: roaring::api::roaring_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - container_contains
    - ra_advance_until
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_bulk(const roaring_bitmap_t *r,\n                                  roaring_bulk_context_t
      *context,\n                                  uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21211,1
    - Dst: roaring::api::roaring_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21214
      start: 21210
    functionDepth: 0
    functionLinenumber: 21210
    functionLinenumberEnd: 21214
    functionName: roaring::api::roaring_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_many
    - roaring::api::roaring_bitmap_create
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of_ptr(size_t n_args, const uint32_t
      *vals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21219,1
    - Dst: va_start
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21222,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21224,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21225,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n_args
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21229
      start: 21216
    functionDepth: 0
    functionLinenumber: 21216
    functionLinenumberEnd: 21229
    functionName: roaring::api::roaring_bitmap_of
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - va_end
    - roaring::api::roaring_bitmap_add_bulk
    - va_arg
    - roaring::api::roaring_bitmap_create
    - va_start
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of(size_t n_args, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21233
      start: 21231
    functionDepth: 0
    functionLinenumber: 21231
    functionLinenumberEnd: 21233
    functionName: roaring::api::minimum_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum_uint64(uint64_t a, uint64_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21237,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21238,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21242,1
    - Dst: roaring::api::roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21245,1
    - Dst: roaring::api::minimum_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21254,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21256,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21264
      start: 21235
    functionDepth: 0
    functionLinenumber: 21235
    functionLinenumberEnd: 21264
    functionName: roaring::api::roaring_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_append
    - roaring::api::roaring_bitmap_add
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - container_from_range
    - roaring::api::minimum_uint64
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                            uint32_t step)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21279,1
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21281,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21285,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21299,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21301,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21304,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21308,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21315
      start: 21266
    functionDepth: 0
    functionLinenumber: 21266
    functionLinenumberEnd: 21315
    functionName: roaring::api::roaring_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - container_add_range
    - count_greater
    - count_less
    - container_from_range
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range_closed(roaring_bitmap_t *r, uint32_t
      min,\n                                     uint32_t max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21328,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21335,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21339,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21342,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21345,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21354
      start: 21317
    functionDepth: 0
    functionLinenumber: 21317
    functionLinenumberEnd: 21354
    functionName: roaring::api::roaring_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - count_less
    - container_free
    - container_remove_range
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range_closed(roaring_bitmap_t *r, uint32_t
      min,\n                                        uint32_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21359,1
    - Dst: container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21361,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21365,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21369
      start: 21356
    functionDepth: 1
    functionLinenumber: 21356
    functionLinenumberEnd: 21369
    functionName: roaring::api::roaring_bitmap_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - printf
    - container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21374,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21376,1
    - Dst: get_full_container_name
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21377,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21378,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21380,1
    - Dst: croaring_refcount_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21381,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21382,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21386,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21390
      start: 21371
    functionDepth: 1
    functionLinenumber: 21371
    functionLinenumberEnd: 21390
    functionName: roaring::api::roaring_bitmap_printf_describe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - croaring_refcount_get
    - container_get_cardinality
    - CAST_shared
    - printf
    - get_full_container_name
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf_describe(const roaring_bitmap_t *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21400,1
    - Dst: roaring::api::roaring_bitmap_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21402,1
    - Dst: roaring::api::roaring_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21403,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21407,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21409,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21411,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring_bitmap_t*
    - roaring_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 21429
        line_start: 21429
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 21434
      start: 21396
    functionDepth: 0
    functionLinenumber: 21396
    functionLinenumberEnd: 21434
    functionName: roaring::api::roaring_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_maximum
    - container_get_cardinality
    - assert
    - roaring::api::roaring_bitmap_minimum
    - container_size_in_bytes
    - memset
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_statistics(const roaring_bitmap_t *r,\n                               roaring_statistics_t
      *stat)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: container_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21496,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - r
    - reason
    argTypes:
    - roaring_bitmap_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21507
      start: 21444
    functionDepth: 0
    functionLinenumber: 21444
    functionLinenumberEnd: 21507
    functionName: roaring::api::roaring_bitmap_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_internal_validate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_internal_validate(const roaring_bitmap_t *r,\n
      \                                     const char **reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21511,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21515,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21517,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21520,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21521,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21522,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21525,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21527
      start: 21509
    functionDepth: 0
    functionLinenumber: 21509
    functionLinenumberEnd: 21527
    functionName: roaring::api::roaring_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 44
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_free
    - roaring_free
    - roaring_malloc
    - ra_init_with_capacity
    - ra_overwrite
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_copy(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21531,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21531,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21532,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21534
      start: 21529
    functionDepth: 0
    functionLinenumber: 21529
    functionLinenumberEnd: 21534
    functionName: roaring::api::roaring_bitmap_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_overwrite
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_overwrite(roaring_bitmap_t *dest,\n                              const
      roaring_bitmap_t *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_frozen
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21540,1
    - Dst: ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21541,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21544
      start: 21536
    functionDepth: 0
    functionLinenumber: 21536
    functionLinenumberEnd: 21544
    functionName: roaring::api::roaring_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::api::is_frozen
    - ra_clear
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_reset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21548
      start: 21546
    functionDepth: 0
    functionLinenumber: 21546
    functionLinenumberEnd: 21548
    functionName: roaring::api::roaring_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_reset
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_clear(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21554,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21557,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21559,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21562,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21564,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21565,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21569,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21571,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21576
      start: 21550
    functionDepth: 0
    functionLinenumber: 21550
    functionLinenumberEnd: 21576
    functionName: roaring::api::roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21580,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21584,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21585,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21589,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21593,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21595,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21596,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21601,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21606,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21608,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21616
      start: 21578
    functionDepth: 0
    functionLinenumber: 21578
    functionLinenumberEnd: 21616
    functionName: roaring::api::roaring_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_add_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21620,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21623,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21624,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21628,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21630,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21631,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21634,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21635,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21641
      start: 21618
    functionDepth: 0
    functionLinenumber: 21618
    functionLinenumberEnd: 21641
    functionName: roaring::api::roaring_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21645,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21649,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21650,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21654,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21658,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21660,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21661,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21666,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21669,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21678
      start: 21643
    functionDepth: 0
    functionLinenumber: 21643
    functionLinenumberEnd: 21678
    functionName: roaring::api::roaring_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21690,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21695,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21699,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21701,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21705,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21706,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21712
      start: 21680
    functionDepth: 0
    functionLinenumber: 21680
    functionLinenumberEnd: 21712
    functionName: roaring::api::roaring_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_index
    - container_remove
    - ra_remove_at_index
    - container_nonzero_cardinality
    - container_free
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_many(roaring_bitmap_t *r, size_t n_args,\n
      \                               const uint32_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21721,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21728,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21730,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21734,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21736,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21738,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21740,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21741,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21743,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21748,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21750,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21754
      start: 21715
    functionDepth: 0
    functionLinenumber: 21715
    functionLinenumberEnd: 21754
    functionName: roaring::api::roaring_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_and
    - ra_advance_until
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_and(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21762,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21765,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21768,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21770,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21774
      start: 21759
    functionDepth: 0
    functionLinenumber: 21759
    functionLinenumberEnd: 21774
    functionName: roaring::api::roaring_bitmap_or_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many(size_t number,\n                                         const
      roaring_bitmap_t **x)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21782,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21785,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21787,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21789,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21793
      start: 21779
    functionDepth: 0
    functionLinenumber: 21779
    functionLinenumberEnd: 21793
    functionName: roaring::api::roaring_bitmap_xor_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_lazy_xor_inplace
    - roaring::api::roaring_bitmap_lazy_xor
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor_many(size_t number,\n                                          const
      roaring_bitmap_t **x)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21800,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21801,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21807,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21809,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21813,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21815,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21825,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21826,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21830,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21832,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21833,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21838,1
    - Dst: ra_advance_until_freeing
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21843,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21845,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21852,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21858,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21859
      start: 21796
    functionDepth: 0
    functionLinenumber: 21796
    functionLinenumberEnd: 21859
    functionName: roaring::api::roaring_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_size
    - ra_get_key_at_index
    - ra_advance_until_freeing
    - ra_get_container_at_index
    - container_and
    - ra_advance_until
    - ra_downsize
    - container_nonzero_cardinality
    - container_free
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_and_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21867,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21870,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21873,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21877,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21878,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21881,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21883,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21885,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21890,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21895,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21896,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21899,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21902,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21902,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21903,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21904,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21907,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21910,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21913,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21916,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21916,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21917,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21918,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21921,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21924,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21928,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21930,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21932,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21934,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21937
      start: 21861
    functionDepth: 0
    functionLinenumber: 21861
    functionLinenumberEnd: 21937
    functionName: roaring::api::roaring_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_or
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21949,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21954,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21955,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21958,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21960,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21961,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21965,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21966,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21970,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21972,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21979,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21980,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21985,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21988,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21990,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21990,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21991,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21992,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21997,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22003,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22007,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22008,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22010
      start: 21940
    functionDepth: 0
    functionLinenumber: 21940
    functionLinenumberEnd: 22010
    functionName: roaring::api::roaring_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_ior
    - container_or
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_or_inplace(roaring_bitmap_t *x1,\n                               const
      roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22018,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22021,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22024,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22028,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22029,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22032,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22034,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22036,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22038,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22039,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22041,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22047,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22048,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22051,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22053,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22053,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22054,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22055,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22058,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22061,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22064,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22066,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22066,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22067,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22068,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22071,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22074,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22078,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22080,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22082,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22084,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22087
      start: 22012
    functionDepth: 0
    functionLinenumber: 22012
    functionLinenumberEnd: 22087
    functionName: roaring::api::roaring_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22093,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22101,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22110,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22111,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22114,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22116,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22127,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22128,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22128,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22130,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22133,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22134,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22138,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22139,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22146,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22147,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22152,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22155,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22157,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22157,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22158,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22159,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22163,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22169,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22173,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22174,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 22092
        line_start: 22092
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22176
      start: 22091
    functionDepth: 0
    functionLinenumber: 22091
    functionLinenumberEnd: 22176
    functionName: roaring::api::roaring_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_ixor
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_xor_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22184,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22185,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22186,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22186,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22190,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22192,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22200,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22201,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22204,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22206,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22209,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22211,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22212,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22214,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22222,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22223,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22225,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22231,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22236,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22241
      start: 22178
    functionDepth: 0
    functionLinenumber: 22178
    functionLinenumberEnd: 22241
    functionName: roaring::api::roaring_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - container_andnot
    - ra_advance_until
    - roaring::api::roaring_bitmap_create
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_andnot(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22247,1
    - Dst: roaring::api::roaring_bitmap_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22257,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22263,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22264,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22267,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22269,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22280,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22281,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22281,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22283,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22286,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22287,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22291,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22298,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22303,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22306,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22312,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22315,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22317,1
    - Dst: ra_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22330,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22336,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 22246
        line_start: 22246
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22337
      start: 22245
    functionDepth: 0
    functionLinenumber: 22245
    functionLinenumberEnd: 22337
    functionName: roaring::api::roaring_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_key_at_index
    - container_iandnot
    - ra_get_container_at_index
    - assert
    - CAST_shared
    - container_andnot
    - ra_advance_until
    - ra_copy_range
    - ra_downsize
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_clear
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_andnot_inplace(roaring_bitmap_t *x1,\n                                   const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22346
      start: 22339
    functionDepth: 0
    functionLinenumber: 22339
    functionLinenumberEnd: 22346
    functionName: roaring::api::roaring_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - container_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_get_cardinality(const roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_range_cardinality_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22356
      start: 22348
    functionDepth: 1
    functionLinenumber: 22348
    functionLinenumberEnd: 22356
    functionName: roaring::api::roaring_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_range_cardinality_closed
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality(const roaring_bitmap_t *r,\n
      \                                         uint64_t range_start,\n                                          uint64_t
      range_end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22374,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22377,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22381,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22384,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22396,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22407
      start: 22358
    functionDepth: 0
    functionLinenumber: 22358
    functionLinenumberEnd: 22407
    functionName: roaring::api::roaring_bitmap_range_cardinality_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - container_get_cardinality
    - ra_get_index
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality_closed(const roaring_bitmap_t
      *r,\n                                                 uint32_t range_start,\n
      \                                                uint32_t range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22411
      start: 22409
    functionDepth: 0
    functionLinenumber: 22409
    functionLinenumberEnd: 22411
    functionName: roaring::api::roaring_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_is_empty(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22415
      start: 22413
    functionDepth: 0
    functionLinenumber: 22413
    functionLinenumberEnd: 22415
    functionName: roaring::api::roaring_bitmap_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_to_uint32_array(const roaring_bitmap_t *r, uint32_t
      *ans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_range_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - offset
    - limit
    - ans
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22420
      start: 22417
    functionDepth: 0
    functionLinenumber: 22417
    functionLinenumberEnd: 22420
    functionName: roaring::api::roaring_bitmap_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_range_uint32_array
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_range_uint32_array(const roaring_bitmap_t *r,
      size_t offset,\n                                       size_t limit, uint32_t
      *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22431,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22434,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22436,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22443
      start: 22427
    functionDepth: 0
    functionLinenumber: 22427
    functionLinenumberEnd: 22443
    functionName: roaring::api::roaring_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_container_at_index
    - convert_run_optimize
    - ra_set_container_at_index
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_run_optimize(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22449,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22451,1
    - Dst: ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22455
      start: 22445
    functionDepth: 0
    functionLinenumber: 22445
    functionLinenumberEnd: 22455
    functionName: roaring::api::roaring_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_shrink_to_fit
    - container_shrink_to_fit
    - ra_get_container_at_index
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_shrink_to_fit(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22465,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22467,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22470,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22470,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22471,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22472,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22474,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22474,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22475,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22479,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22479,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22480,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22481,1
    - Dst: run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22482,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22489
      start: 22461
    functionDepth: 0
    functionLinenumber: 22461
    functionLinenumberEnd: 22489
    functionName: roaring::api::roaring_bitmap_remove_run_compression
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - run_container_cardinality
    - ra_get_container_at_index
    - CAST_shared
    - ra_set_container_at_index
    - run_container_free
    - shared_container_free
    - convert_to_bitset_or_array_container
    - CAST_run
    - get_container_type
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_run_compression(roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22492,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22493,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22497,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22500,1
    - Dst: roaring::api::roaring_bitmap_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22505
      start: 22491
    functionDepth: 0
    functionLinenumber: 22491
    functionLinenumberEnd: 22505
    functionName: roaring::api::roaring_bitmap_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_to_uint32_array
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_serialize
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_serialize(const roaring_bitmap_t *r, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22508,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22513
      start: 22507
    functionDepth: 0
    functionLinenumber: 22507
    functionLinenumberEnd: 22513
    functionName: roaring::api::roaring_bitmap_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_size_in_bytes(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22517
      start: 22515
    functionDepth: 0
    functionLinenumber: 22515
    functionLinenumberEnd: 22517
    functionName: roaring::api::roaring_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 26
    functionsReached:
    - ra_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_size_in_bytes(const roaring_bitmap_t
      *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22522,1
    - Dst: ra_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22527,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22530,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22533,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22539
      start: 22519
    functionDepth: 0
    functionLinenumber: 22519
    functionLinenumberEnd: 22539
    functionName: roaring::api::roaring_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring_free
    - ra_portable_deserialize
    - roaring::api::roaring_bitmap_set_copy_on_write
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_portable_deserialize_safe(const char
      *buf,\n                                                           size_t maxbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22543
      start: 22541
    functionDepth: 0
    functionLinenumber: 22541
    functionLinenumberEnd: 22543
    functionName: roaring::api::roaring_bitmap_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22548
      start: 22545
    functionDepth: 0
    functionLinenumber: 22545
    functionLinenumberEnd: 22548
    functionName: roaring::api::roaring_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_portable_deserialize_size
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring_bitmap_portable_deserialize_size(const char *buf,\n
      \                                               size_t maxbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22552
      start: 22550
    functionDepth: 0
    functionLinenumber: 22550
    functionLinenumberEnd: 22552
    functionName: roaring::api::roaring_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_portable_serialize
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_serialize(const roaring_bitmap_t *r,
      char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22560,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22565,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22573,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22574,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22582
      start: 22554
    functionDepth: 0
    functionLinenumber: 22554
    functionLinenumberEnd: 22582
    functionName: roaring::api::roaring_bitmap_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_add_bulk
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_deserialize(const void *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22598,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22608,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22616,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22617,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22626
      start: 22584
    functionDepth: 0
    functionLinenumber: 22584
    functionLinenumberEnd: 22626
    functionName: roaring::api::roaring_bitmap_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_add_bulk
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_deserialize_safe(const void *buf,\n
      \                                                 size_t maxbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22638
      start: 22628
    functionDepth: 0
    functionLinenumber: 22628
    functionLinenumberEnd: 22638
    functionName: roaring::api::roaring_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate(const roaring_bitmap_t *r, roaring_iterator iterator,\n
      \                    void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - r
    - iterator
    - high_bits
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22651
      start: 22640
    functionDepth: 0
    functionLinenumber: 22640
    functionLinenumberEnd: 22651
    functionName: roaring::api::roaring_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate64(const roaring_bitmap_t *r, roaring_iterator64
      iterator,\n                       uint64_t high_bits, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22686
      start: 22662
    functionDepth: 0
    functionLinenumber: 22662
    functionLinenumberEnd: 22686
    functionName: roaring::api::iter_new_container_partial_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - container_unwrap_shared
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED iter_new_container_partial_init(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22694,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22701
      start: 22692
    functionDepth: 0
    functionLinenumber: 22692
    functionLinenumberEnd: 22701
    functionName: roaring::api::loadfirstvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - container_init_iterator
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadfirstvalue(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22709,1
    - Dst: container_init_iterator_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22716
      start: 22707
    functionDepth: 0
    functionLinenumber: 22707
    functionLinenumberEnd: 22716
    functionName: roaring::api::loadlastvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - container_init_iterator_last
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadlastvalue(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22725,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22726,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22732,1
    - Dst: container_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22733,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - newit
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts:
    - condition: (found)
      pos:
        line_end: 22735
        line_start: 22735
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (partial_init)
      pos:
        line_end: 22725
        line_start: 22725
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22742
      start: 22723
    functionDepth: 0
    functionLinenumber: 22723
    functionLinenumberEnd: 22742
    functionName: roaring::api::loadfirstvalue_largeorequal
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - assert
    - container_iterator_lower_bound
    - container_init_iterator
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadfirstvalue_largeorequal(\n    roaring_uint32_iterator_t
      *newit, uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22749
      start: 22744
    functionDepth: 0
    functionLinenumber: 22744
    functionLinenumberEnd: 22749
    functionName: roaring::api::roaring_iterator_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadfirstvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_iterator_init(const roaring_bitmap_t *r,\n                           roaring_uint32_iterator_t
      *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22756
      start: 22751
    functionDepth: 0
    functionLinenumber: 22751
    functionLinenumberEnd: 22756
    functionName: roaring::api::roaring_iterator_init_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_iterator_init_last(const roaring_bitmap_t *r,\n                                roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22760,1
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22765
      start: 22758
    functionDepth: 1
    functionLinenumber: 22758
    functionLinenumberEnd: 22765
    functionName: roaring::api::roaring_iterator_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: roaring_uint32_iterator_t *roaring_iterator_create(const roaring_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22770,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22774
      start: 22767
    functionDepth: 0
    functionLinenumber: 22767
    functionLinenumberEnd: 22774
    functionName: roaring::api::roaring_uint32_iterator_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: "roaring_uint32_iterator_t *roaring_uint32_iterator_copy(\n    const
      roaring_uint32_iterator_t *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22779,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22782,1
    - Dst: roaring::api::loadfirstvalue_largeorequal
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22791,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22800
      start: 22776
    functionDepth: 0
    functionLinenumber: 22776
    functionLinenumberEnd: 22800
    functionName: roaring::api::roaring_uint32_iterator_move_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_maximum
    - ra_get_index
    - roaring::api::loadfirstvalue
    - roaring::api::loadfirstvalue_largeorequal
    linkageType: ''
    returnType: bool
    signature: "bool roaring_uint32_iterator_move_equalorlarger(roaring_uint32_iterator_t
      *it,\n                                                uint32_t val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22808,1
    - Dst: container_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22811,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22818
      start: 22802
    functionDepth: 0
    functionLinenumber: 22802
    functionLinenumberEnd: 22818
    functionName: roaring::api::roaring_uint32_iterator_advance
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadfirstvalue
    - container_iterator_next
    linkageType: ''
    returnType: bool
    signature: bool roaring_uint32_iterator_advance(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22826,1
    - Dst: container_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22829,1
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22836
      start: 22820
    functionDepth: 0
    functionLinenumber: 22820
    functionLinenumberEnd: 22836
    functionName: roaring::api::roaring_uint32_iterator_previous
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    - container_iterator_prev
    linkageType: ''
    returnType: bool
    signature: bool roaring_uint32_iterator_previous(roaring_uint32_iterator_t *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterator_read_into_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22844,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22852,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (ret == count)
      pos:
        line_end: 22851
        line_start: 22851
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22859
      start: 22838
    functionDepth: 0
    functionLinenumber: 22838
    functionLinenumberEnd: 22859
    functionName: roaring::api::roaring_uint32_iterator_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::api::loadfirstvalue
    - container_iterator_read_into_uint32
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t roaring_uint32_iterator_read(roaring_uint32_iterator_t *it,\n
      \                                     uint32_t *buf, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22863
      start: 22861
    functionDepth: 0
    functionLinenumber: 22861
    functionLinenumberEnd: 22863
    functionName: roaring::api::roaring_uint32_iterator_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_uint32_iterator_free(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22890
      start: 22869
    functionDepth: 0
    functionLinenumber: 22869
    functionLinenumberEnd: 22890
    functionName: roaring::api::roaring_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_equals
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_equals(const roaring_bitmap_t *r1,\n                           const
      roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22902,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22903,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22908,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22910,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22911,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22917,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22924
      start: 22892
    functionDepth: 0
    functionLinenumber: 22892
    functionLinenumberEnd: 22924
    functionName: roaring::api::roaring_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_is_subset
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_subset(const roaring_bitmap_t *r1,\n                              const
      roaring_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22929,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22930,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22935,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22937,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22940,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22941,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22944,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22947,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ans_arr
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22952
      start: 22926
    functionDepth: 0
    functionLinenumber: 22926
    functionLinenumberEnd: 22952
    functionName: roaring::api::insert_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - container_not_range
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_flipped_container(roaring_array_t *ans_arr,\n                                     const
      roaring_array_t *x1_arr, uint16_t hb,\n                                     uint16_t
      lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22956,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22961,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22962,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22966,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22967,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22969,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22970,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22974,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22979
      start: 22954
    functionDepth: 0
    functionLinenumber: 22954
    functionLinenumberEnd: 22979
    functionName: roaring::api::inplace_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - ra_set_container_at_index
    - container_inot_range
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void inplace_flip_container(roaring_array_t *x1_arr, uint16_t hb,\n
      \                                  uint16_t lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22984,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22985,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22990,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22992,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22993,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22994,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22997,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23000,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ans_arr
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23004
      start: 22981
    functionDepth: 0
    functionLinenumber: 22981
    functionLinenumberEnd: 23004
    functionName: roaring::api::insert_fully_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_get_index
    - container_not
    - container_range_of_ones
    - ra_get_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_fully_flipped_container(roaring_array_t *ans_arr,\n                                           const
      roaring_array_t *x1_arr,\n                                           uint16_t
      hb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23007,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23012,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23014,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23016,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23017,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23019,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23020,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23024,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23028
      start: 23006
    functionDepth: 0
    functionLinenumber: 23006
    functionLinenumberEnd: 23028
    functionName: roaring::api::inplace_fully_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - ra_set_container_at_index
    - container_inot
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: void inplace_fully_flip_container(roaring_array_t *x1_arr, uint16_t
      hb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23034,1
    - Dst: roaring::api::roaring_bitmap_flip_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23038
      start: 23030
    functionDepth: 1
    functionLinenumber: 23030
    functionLinenumberEnd: 23038
    functionName: roaring::api::roaring_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_flip_closed
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip(const roaring_bitmap_t *x1,\n
      \                                     uint64_t range_start,\n                                      uint64_t
      range_end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23044,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23047,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23048,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23048,1
    - Dst: ra_append_copies_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23055,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23056,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23058,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23065,1
    - Dst: roaring::api::insert_fully_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23074,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23081,1
    - Dst: ra_append_copies_after
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23090
      start: 23040
    functionDepth: 0
    functionLinenumber: 23040
    functionLinenumberEnd: 23090
    functionName: roaring::api::roaring_bitmap_flip_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::insert_flipped_container
    - roaring::api::roaring_bitmap_create
    - ra_append_copies_until
    - roaring::api::roaring_bitmap_copy
    - roaring::api::insert_fully_flipped_container
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_append_copies_after
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip_closed(const roaring_bitmap_t
      *x1,\n                                             uint32_t range_start,\n                                             uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_flip_inplace_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23099
      start: 23092
    functionDepth: 1
    functionLinenumber: 23092
    functionLinenumberEnd: 23099
    functionName: roaring::api::roaring_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_flip_inplace_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace(roaring_bitmap_t *x1, uint64_t range_start,\n
      \                                uint64_t range_end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23114,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23120,1
    - Dst: roaring::api::inplace_fully_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23128,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23137
      start: 23101
    functionDepth: 0
    functionLinenumber: 23101
    functionLinenumberEnd: 23137
    functionName: roaring::api::roaring_bitmap_flip_inplace_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::api::inplace_flip_container
    - roaring::api::inplace_fully_flip_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace_closed(roaring_bitmap_t *x1,\n                                        uint32_t
      range_start,\n                                        uint32_t range_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23141,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23142,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23144,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23154,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23155,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23157,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23162,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - k
    - c
    - t
    argTypes:
    - roaring_array_t*
    - int
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23165
      start: 23139
    functionDepth: 0
    functionLinenumber: 23139
    functionLinenumberEnd: 23165
    functionName: roaring::api::offset_append_with_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_append
    - ra_set_container_at_index
    - container_ior
    - container_free
    linkageType: ''
    returnType: void
    signature: "void offset_append_with_merge(roaring_array_t *ra, int k, container_t
      *c,\n                                     uint8_t t)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23183,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23189,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23190,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23191,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23199,1
    - Dst: ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23205,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23220,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23230,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23231,1
    - Dst: container_add_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23233,1
    - Dst: roaring::api::offset_append_with_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23235,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23238,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23246,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - bm
    - offset
    argTypes:
    - roaring_bitmap_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23248
      start: 23172
    functionDepth: 0
    functionLinenumber: 23172
    functionLinenumberEnd: 23248
    functionName: roaring::api::roaring_bitmap_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - roaring::api::offset_append_with_merge
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - container_add_offset
    - roaring::api::roaring_bitmap_copy
    - container_unwrap_shared
    - ra_append_copy
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_add_offset(const roaring_bitmap_t
      *bm,\n                                            int64_t offset)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23257,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23260,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23263,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23267,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23268,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23271,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23273,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23277,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23278,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23280,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23281,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23283,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23285,1
    - Dst: container_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23288,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23294,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23299,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23300,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23303,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23305,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23305,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23306,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23307,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23310,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23313,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23316,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23318,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23318,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23319,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23320,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23323,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23326,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23330,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23332,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23334,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23336,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23339
      start: 23250
    functionDepth: 0
    functionLinenumber: 23250
    functionLinenumberEnd: 23339
    functionName: roaring::api::roaring_bitmap_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_ior
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    - container_mutable_unwrap_shared
    - container_lazy_or
    - get_container_type
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_or(const roaring_bitmap_t *x1,\n
      \                                        const roaring_bitmap_t *x2,\n                                         const
      bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23351,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23356,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23357,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23360,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23362,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23364,1
    - Dst: get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23365,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23370,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23371,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23372,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23376,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23379,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23383,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23386,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23393,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23394,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23399,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23402,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23405,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23405,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23406,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23407,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23410,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23416,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23420,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23421,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23423
      start: 23341
    functionDepth: 0
    functionLinenumber: 23341
    functionLinenumberEnd: 23423
    functionName: roaring::api::roaring_bitmap_lazy_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - get_writable_copy_if_shared
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_lazy_ior
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    - container_mutable_unwrap_shared
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_or_inplace(roaring_bitmap_t *x1,\n                                    const
      roaring_bitmap_t *x2,\n                                    const bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23431,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23434,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23437,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23441,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23442,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23445,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23447,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23450,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23452,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23453,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23455,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23462,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23463,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23466,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23468,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23468,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23469,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23470,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23473,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23476,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23479,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23481,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23481,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23483,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23486,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23489,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23493,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23495,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23497,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23499,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23502
      start: 23425
    functionDepth: 0
    functionLinenumber: 23425
    functionLinenumberEnd: 23502
    functionName: roaring::api::roaring_bitmap_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_xor
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_xor(const roaring_bitmap_t *x1,\n
      \                                         const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23506,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23514,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23519,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23520,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23523,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23525,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23536,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23537,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23537,1
    - Dst: container_lazy_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23539,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23542,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23543,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23547,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23548,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23554,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23555,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23560,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23563,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23566,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23566,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23567,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23568,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23571,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23577,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23581,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23582,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 23505
        line_start: 23505
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 23584
      start: 23504
    functionDepth: 0
    functionLinenumber: 23504
    functionLinenumberEnd: 23584
    functionName: roaring::api::roaring_bitmap_lazy_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - container_lazy_ixor
    - roaring::api::is_cow
    - ra_set_container_at_index
    - ra_append_copy_range
    - container_lazy_xor
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_xor_inplace(roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23597
      start: 23586
    functionDepth: 0
    functionLinenumber: 23586
    functionLinenumberEnd: 23597
    functionName: roaring::api::roaring_bitmap_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 19
    functionsReached:
    - container_repair_after_lazy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_repair_after_lazy(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23610,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23621
      start: 23603
    functionDepth: 0
    functionLinenumber: 23603
    functionLinenumberEnd: 23621
    functionName: roaring::api::roaring_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_rank(const roaring_bitmap_t *bm, uint32_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23634,1
    - Dst: container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - bm
    - begin
    - end
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23648
      start: 23622
    functionDepth: 0
    functionLinenumber: 23622
    functionLinenumberEnd: 23648
    functionName: roaring::api::roaring_bitmap_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank_many
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_rank_many(const roaring_bitmap_t *bm, const uint32_t
      *begin,\n                              const uint32_t *end, uint64_t *ans)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23656,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23663,1
    - Dst: container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23676
      start: 23653
    functionDepth: 0
    functionLinenumber: 23653
    functionLinenumberEnd: 23676
    functionName: roaring::api::roaring_bitmap_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_index
    - container_get_cardinality
    - ra_get_index
    linkageType: ''
    returnType: int64_t
    signature: int64_t roaring_bitmap_get_index(const roaring_bitmap_t *bm, uint32_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23691
      start: 23682
    functionDepth: 0
    functionLinenumber: 23682
    functionLinenumberEnd: 23691
    functionName: roaring::api::roaring_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - container_minimum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_minimum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23709
      start: 23697
    functionDepth: 0
    functionLinenumber: 23697
    functionLinenumberEnd: 23709
    functionName: roaring::api::roaring_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - container_maximum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_maximum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bm
    - rank
    - element
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23733
      start: 23711
    functionDepth: 0
    functionLinenumber: 23711
    functionLinenumberEnd: 23733
    functionName: roaring::api::roaring_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_select
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_select(const roaring_bitmap_t *bm, uint32_t rank,\n
      \                          uint32_t *element)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23744,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23746,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23750,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23752,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23754,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23758,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23764
      start: 23735
    functionDepth: 0
    functionLinenumber: 23735
    functionLinenumberEnd: 23764
    functionName: roaring::api::roaring_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_intersect
    - ra_get_key_at_index
    - ra_advance_until
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect(const roaring_bitmap_t *x1,\n                              const
      roaring_bitmap_t *x2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23773,1
    - Dst: roaring::api::roaring_uint32_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - bm
    - x
    - y
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23783
      start: 23766
    functionDepth: 1
    functionLinenumber: 23766
    functionLinenumberEnd: 23783
    functionName: roaring::api::roaring_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init
    - roaring::api::roaring_uint32_iterator_move_equalorlarger
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect_with_range(const roaring_bitmap_t *bm,
      uint64_t x,\n                                         uint64_t y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23793,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23795,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23799,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23801,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23803,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23807,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23813
      start: 23785
    functionDepth: 0
    functionLinenumber: 23785
    functionLinenumberEnd: 23813
    functionName: roaring::api::roaring_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_and_cardinality
    - ra_get_container_at_index
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_and_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23817,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23818,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23821
      start: 23815
    functionDepth: 0
    functionLinenumber: 23815
    functionLinenumberEnd: 23821
    functionName: roaring::api::roaring_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring_bitmap_jaccard_index(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23825,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23826,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23829
      start: 23823
    functionDepth: 0
    functionLinenumber: 23823
    functionLinenumberEnd: 23829
    functionName: roaring::api::roaring_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_or_cardinality(const roaring_bitmap_t *x1,\n
      \                                      const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23833,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23836
      start: 23831
    functionDepth: 0
    functionLinenumber: 23831
    functionLinenumberEnd: 23836
    functionName: roaring::api::roaring_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_andnot_cardinality(const roaring_bitmap_t
      *x1,\n                                           const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23840,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23841,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23844
      start: 23838
    functionDepth: 0
    functionLinenumber: 23838
    functionLinenumberEnd: 23844
    functionName: roaring::api::roaring_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_xor_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23851,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23856,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23861
      start: 23846
    functionDepth: 0
    functionLinenumber: 23846
    functionLinenumberEnd: 23861
    functionName: roaring::api::roaring_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_get_index
    - container_contains
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains(const roaring_bitmap_t *r, uint32_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_contains_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23874
      start: 23867
    functionDepth: 1
    functionLinenumber: 23867
    functionLinenumberEnd: 23874
    functionName: roaring::api::roaring_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_contains_range_closed
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_range(const roaring_bitmap_t *r,\n                                   uint64_t
      range_start, uint64_t range_end)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23887,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23892,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23896,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23897,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23905,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23907,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23909,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23912,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23913,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23917,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23919,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23924
      start: 23880
    functionDepth: 0
    functionLinenumber: 23880
    functionLinenumberEnd: 23924
    functionName: roaring::api::roaring_bitmap_contains_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - ra_get_size
    - container_is_full
    - ra_get_index
    - ra_get_container_at_index
    - roaring::api::roaring_bitmap_contains
    - container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_range_closed(const roaring_bitmap_t *r,\n
      \                                         uint32_t range_start,\n                                          uint32_t
      range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23928,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23929,1
    - Dst: roaring::api::roaring_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23931
      start: 23926
    functionDepth: 0
    functionLinenumber: 23926
    functionLinenumberEnd: 23931
    functionName: roaring::api::roaring_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_strict_subset(const roaring_bitmap_t *r1,\n
      \                                    const roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23971,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - rb
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23988
      start: 23961
    functionDepth: 0
    functionLinenumber: 23961
    functionLinenumberEnd: 23988
    functionName: roaring::api::roaring_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_run
    - const_CAST_array
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_frozen_size_in_bytes(const roaring_bitmap_t *rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena
    - num_bytes
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23994
      start: 23990
    functionDepth: 0
    functionLinenumber: 23990
    functionLinenumberEnd: 23994
    functionName: roaring::api::arena_alloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *arena_alloc(char **arena, size_t num_bytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24015,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24021,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24030,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24031,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24032,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24033,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24034,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24035,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24036,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24043,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24044,1
    - Dst: bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24051,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24057,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24059,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24066,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24068,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24076,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24078,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24079,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24081,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - rb
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24082
      start: 23996
    functionDepth: 0
    functionLinenumber: 23996
    functionLinenumberEnd: 24082
    functionName: roaring::api::roaring_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - bitset_container_compute_cardinality
    - const_CAST_run
    - roaring::api::arena_alloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_frozen_serialize(const roaring_bitmap_t *rb, char
      *buf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24095,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24129,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24150,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24156,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24162,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24169,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24175,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24178,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24184,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24194,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24196,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24197,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24200,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24204,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: "(rb ==\n           (roaring_bitmap_t *)((char *)rb->high_low_container.containers
        -\n                                sizeof(roaring_bitmap_t)))"
      pos:
        line_end: 24170
        line_start: 24168
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 24210
      start: 24084
    functionDepth: 0
    functionLinenumber: 24084
    functionLinenumberEnd: 24210
    functionName: roaring::api::roaring_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring::api::arena_alloc
    - memcpy
    - UINT32_C
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_frozen_view(const char *buf,\n                                                   size_t
      length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24223,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24226,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24255,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24285,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24291,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24295,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24299,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24301,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24308,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24323,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24336,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24340,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24346,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24355,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24370
      start: 24212
    functionDepth: 0
    functionLinenumber: 24212
    functionLinenumberEnd: 24370
    functionName: roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::arena_alloc
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24373,1
    - Dst: bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24375,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24385,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24393,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24394,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24397,1
    - Dst: roaring::api::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24398,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24401,1
    - Dst: bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - r
    - bitset
    argTypes:
    - roaring_bitmap_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24412
      start: 24372
    functionDepth: 2
    functionLinenumber: 24372
    functionLinenumberEnd: 24412
    functionName: roaring::api::roaring_bitmap_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::api::bitset_set_list
    - const_CAST_bitset
    - const_CAST_run
    - bitset_set_lenrange
    - bitset_resize
    - container_unwrap_shared
    - memcpy
    - roaring::api::roaring_bitmap_maximum
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_to_bitset(const roaring_bitmap_t *r, bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21058
      start: 21056
    functionDepth: 0
    functionLinenumber: 21056
    functionLinenumberEnd: 21058
    functionName: roaring::api::is_cow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cow(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21061
      start: 21059
    functionDepth: 0
    functionLinenumber: 21059
    functionLinenumberEnd: 21061
    functionName: roaring::api::is_frozen
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21075,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21077,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21078,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21080,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21083,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21084,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21091,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21093,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - r
    - val
    - type
    - index
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21099
      start: 21068
    functionDepth: 0
    functionLinenumber: 21068
    functionLinenumberEnd: 21099
    functionName: roaring::api::containerptr_roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *containerptr_roaring_bitmap_add(roaring_bitmap_t *r,\n
      \                                                          uint32_t val,\n                                                           uint8_t
      *type,\n                                                           int *index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21103,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21107,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cap
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21113
      start: 21101
    functionDepth: 0
    functionLinenumber: 21101
    functionLinenumberEnd: 21113
    functionName: roaring::api::roaring_bitmap_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 38
    functionsReached:
    - ra_init_with_capacity
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create_with_capacity(uint32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - cap
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21117
      start: 21115
    functionDepth: 0
    functionLinenumber: 21115
    functionLinenumberEnd: 21117
    functionName: roaring::api::roaring_bitmap_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_init_with_capacity
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_init_with_capacity(roaring_bitmap_t *r, uint32_t
      cap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21127,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21136,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21140,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21147
      start: 21119
    functionDepth: 0
    functionLinenumber: 21119
    functionLinenumberEnd: 21147
    functionName: roaring::api::add_bulk_impl
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring::api::containerptr_roaring_bitmap_add
    - container_add
    - ra_set_container_at_index
    - container_free
    linkageType: ''
    returnType: void
    signature: "void add_bulk_impl(roaring_bitmap_t *r,\n                                 roaring_bulk_context_t
      *context,\n                                 uint32_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21164,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21169,1
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21172
      start: 21149
    functionDepth: 0
    functionLinenumber: 21149
    functionLinenumberEnd: 21172
    functionName: roaring::api::roaring_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::api::add_bulk_impl
    - roaring::api::containerptr_roaring_bitmap_add
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_many(roaring_bitmap_t *r, size_t n_args,\n
      \                            const uint32_t *vals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21177
      start: 21174
    functionDepth: 0
    functionLinenumber: 21174
    functionLinenumberEnd: 21177
    functionName: roaring::api::roaring_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 11
    functionsReached:
    - roaring::api::add_bulk_impl
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_bulk(roaring_bitmap_t *r,\n                             roaring_bulk_context_t
      *context, uint32_t val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21188,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21189,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21193,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21198,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21208
      start: 21179
    functionDepth: 0
    functionLinenumber: 21179
    functionLinenumberEnd: 21208
    functionName: roaring::api::roaring_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - container_contains
    - ra_advance_until
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_bulk(const roaring_bitmap_t *r,\n                                  roaring_bulk_context_t
      *context,\n                                  uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21211,1
    - Dst: roaring::api::roaring_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21214
      start: 21210
    functionDepth: 0
    functionLinenumber: 21210
    functionLinenumberEnd: 21214
    functionName: roaring::api::roaring_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_many
    - roaring::api::roaring_bitmap_create
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of_ptr(size_t n_args, const uint32_t
      *vals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21219,1
    - Dst: va_start
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21222,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21224,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21225,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n_args
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21229
      start: 21216
    functionDepth: 0
    functionLinenumber: 21216
    functionLinenumberEnd: 21229
    functionName: roaring::api::roaring_bitmap_of
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - va_end
    - roaring::api::roaring_bitmap_add_bulk
    - va_arg
    - roaring::api::roaring_bitmap_create
    - va_start
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of(size_t n_args, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21233
      start: 21231
    functionDepth: 0
    functionLinenumber: 21231
    functionLinenumberEnd: 21233
    functionName: roaring::api::minimum_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum_uint64(uint64_t a, uint64_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21237,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21238,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21242,1
    - Dst: roaring::api::roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21245,1
    - Dst: roaring::api::minimum_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21254,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21256,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21264
      start: 21235
    functionDepth: 0
    functionLinenumber: 21235
    functionLinenumberEnd: 21264
    functionName: roaring::api::roaring_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_append
    - roaring::api::roaring_bitmap_add
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - container_from_range
    - roaring::api::minimum_uint64
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                            uint32_t step)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21279,1
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21281,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21285,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21299,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21301,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21304,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21308,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21315
      start: 21266
    functionDepth: 0
    functionLinenumber: 21266
    functionLinenumberEnd: 21315
    functionName: roaring::api::roaring_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - container_add_range
    - count_greater
    - count_less
    - container_from_range
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range_closed(roaring_bitmap_t *r, uint32_t
      min,\n                                     uint32_t max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21328,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21335,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21339,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21342,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21345,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21354
      start: 21317
    functionDepth: 0
    functionLinenumber: 21317
    functionLinenumberEnd: 21354
    functionName: roaring::api::roaring_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - count_less
    - container_free
    - container_remove_range
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range_closed(roaring_bitmap_t *r, uint32_t
      min,\n                                        uint32_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21359,1
    - Dst: container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21361,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21365,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21369
      start: 21356
    functionDepth: 1
    functionLinenumber: 21356
    functionLinenumberEnd: 21369
    functionName: roaring::api::roaring_bitmap_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - printf
    - container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21374,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21376,1
    - Dst: get_full_container_name
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21377,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21378,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21380,1
    - Dst: croaring_refcount_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21381,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21382,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21386,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21390
      start: 21371
    functionDepth: 1
    functionLinenumber: 21371
    functionLinenumberEnd: 21390
    functionName: roaring::api::roaring_bitmap_printf_describe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - croaring_refcount_get
    - container_get_cardinality
    - CAST_shared
    - printf
    - get_full_container_name
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf_describe(const roaring_bitmap_t *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21400,1
    - Dst: roaring::api::roaring_bitmap_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21402,1
    - Dst: roaring::api::roaring_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21403,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21407,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21409,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21411,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring_bitmap_t*
    - roaring_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 21429
        line_start: 21429
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 21434
      start: 21396
    functionDepth: 0
    functionLinenumber: 21396
    functionLinenumberEnd: 21434
    functionName: roaring::api::roaring_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_maximum
    - container_get_cardinality
    - assert
    - roaring::api::roaring_bitmap_minimum
    - container_size_in_bytes
    - memset
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_statistics(const roaring_bitmap_t *r,\n                               roaring_statistics_t
      *stat)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: container_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21496,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - r
    - reason
    argTypes:
    - roaring_bitmap_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21507
      start: 21444
    functionDepth: 0
    functionLinenumber: 21444
    functionLinenumberEnd: 21507
    functionName: roaring::api::roaring_bitmap_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_internal_validate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_internal_validate(const roaring_bitmap_t *r,\n
      \                                     const char **reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21511,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21515,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21517,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21520,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21521,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21522,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21525,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21527
      start: 21509
    functionDepth: 0
    functionLinenumber: 21509
    functionLinenumberEnd: 21527
    functionName: roaring::api::roaring_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 54
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_free
    - roaring_free
    - roaring_malloc
    - ra_init_with_capacity
    - ra_overwrite
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_copy(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21531,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21531,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21532,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21534
      start: 21529
    functionDepth: 0
    functionLinenumber: 21529
    functionLinenumberEnd: 21534
    functionName: roaring::api::roaring_bitmap_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_overwrite
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_overwrite(roaring_bitmap_t *dest,\n                              const
      roaring_bitmap_t *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_frozen
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21540,1
    - Dst: ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21541,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21544
      start: 21536
    functionDepth: 0
    functionLinenumber: 21536
    functionLinenumberEnd: 21544
    functionName: roaring::api::roaring_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::api::is_frozen
    - ra_clear
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_reset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21548
      start: 21546
    functionDepth: 0
    functionLinenumber: 21546
    functionLinenumberEnd: 21548
    functionName: roaring::api::roaring_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_reset
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_clear(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21554,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21557,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21559,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21562,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21564,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21565,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21569,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21571,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21576
      start: 21550
    functionDepth: 0
    functionLinenumber: 21550
    functionLinenumberEnd: 21576
    functionName: roaring::api::roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21580,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21584,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21585,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21589,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21593,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21595,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21596,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21601,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21606,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21608,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21616
      start: 21578
    functionDepth: 0
    functionLinenumber: 21578
    functionLinenumberEnd: 21616
    functionName: roaring::api::roaring_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_add_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21620,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21623,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21624,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21628,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21630,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21631,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21634,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21635,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21641
      start: 21618
    functionDepth: 0
    functionLinenumber: 21618
    functionLinenumberEnd: 21641
    functionName: roaring::api::roaring_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21645,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21649,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21650,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21654,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21658,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21660,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21661,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21666,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21669,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21678
      start: 21643
    functionDepth: 0
    functionLinenumber: 21643
    functionLinenumberEnd: 21678
    functionName: roaring::api::roaring_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21690,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21695,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21699,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21701,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21705,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21706,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21712
      start: 21680
    functionDepth: 0
    functionLinenumber: 21680
    functionLinenumberEnd: 21712
    functionName: roaring::api::roaring_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_index
    - container_remove
    - ra_remove_at_index
    - container_nonzero_cardinality
    - container_free
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_many(roaring_bitmap_t *r, size_t n_args,\n
      \                               const uint32_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21721,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21728,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21730,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21734,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21736,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21738,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21740,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21741,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21743,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21748,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21750,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21754
      start: 21715
    functionDepth: 0
    functionLinenumber: 21715
    functionLinenumberEnd: 21754
    functionName: roaring::api::roaring_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_and
    - ra_advance_until
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_and(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21762,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21765,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21768,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21770,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21774
      start: 21759
    functionDepth: 0
    functionLinenumber: 21759
    functionLinenumberEnd: 21774
    functionName: roaring::api::roaring_bitmap_or_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many(size_t number,\n                                         const
      roaring_bitmap_t **x)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21782,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21785,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21787,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21789,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21793
      start: 21779
    functionDepth: 0
    functionLinenumber: 21779
    functionLinenumberEnd: 21793
    functionName: roaring::api::roaring_bitmap_xor_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_lazy_xor_inplace
    - roaring::api::roaring_bitmap_lazy_xor
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor_many(size_t number,\n                                          const
      roaring_bitmap_t **x)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21800,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21801,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21807,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21809,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21813,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21815,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21825,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21826,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21830,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21832,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21833,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21838,1
    - Dst: ra_advance_until_freeing
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21843,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21845,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21852,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21858,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21859
      start: 21796
    functionDepth: 0
    functionLinenumber: 21796
    functionLinenumberEnd: 21859
    functionName: roaring::api::roaring_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_size
    - ra_get_key_at_index
    - ra_advance_until_freeing
    - ra_get_container_at_index
    - container_and
    - ra_advance_until
    - ra_downsize
    - container_nonzero_cardinality
    - container_free
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_and_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21867,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21870,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21873,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21877,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21878,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21881,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21883,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21885,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21890,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21895,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21896,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21899,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21902,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21902,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21903,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21904,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21907,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21910,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21913,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21916,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21916,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21917,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21918,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21921,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21924,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21928,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21930,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21932,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21934,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21937
      start: 21861
    functionDepth: 0
    functionLinenumber: 21861
    functionLinenumberEnd: 21937
    functionName: roaring::api::roaring_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_or
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21949,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21954,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21955,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21958,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21960,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21961,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21965,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21966,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21970,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21972,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21979,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21980,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21985,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21988,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21990,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21990,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21991,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21992,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21997,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22003,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22007,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22008,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22010
      start: 21940
    functionDepth: 0
    functionLinenumber: 21940
    functionLinenumberEnd: 22010
    functionName: roaring::api::roaring_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_ior
    - container_or
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_or_inplace(roaring_bitmap_t *x1,\n                               const
      roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22018,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22021,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22024,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22028,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22029,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22032,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22034,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22036,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22038,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22039,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22041,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22047,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22048,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22051,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22053,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22053,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22054,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22055,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22058,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22061,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22064,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22066,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22066,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22067,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22068,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22071,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22074,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22078,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22080,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22082,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22084,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22087
      start: 22012
    functionDepth: 0
    functionLinenumber: 22012
    functionLinenumberEnd: 22087
    functionName: roaring::api::roaring_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22093,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22101,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22110,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22111,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22114,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22116,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22127,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22128,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22128,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22130,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22133,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22134,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22138,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22139,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22146,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22147,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22152,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22155,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22157,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22157,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22158,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22159,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22163,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22169,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22173,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22174,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 22092
        line_start: 22092
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22176
      start: 22091
    functionDepth: 0
    functionLinenumber: 22091
    functionLinenumberEnd: 22176
    functionName: roaring::api::roaring_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_ixor
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_xor_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22184,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22185,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22186,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22186,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22190,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22192,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22200,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22201,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22204,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22206,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22209,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22211,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22212,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22214,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22222,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22223,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22225,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22231,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22236,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22241
      start: 22178
    functionDepth: 0
    functionLinenumber: 22178
    functionLinenumberEnd: 22241
    functionName: roaring::api::roaring_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - container_andnot
    - ra_advance_until
    - roaring::api::roaring_bitmap_create
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_andnot(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22247,1
    - Dst: roaring::api::roaring_bitmap_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22257,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22263,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22264,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22267,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22269,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22280,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22281,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22281,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22283,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22286,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22287,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22291,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22298,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22303,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22306,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22312,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22315,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22317,1
    - Dst: ra_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22330,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22336,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 22246
        line_start: 22246
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22337
      start: 22245
    functionDepth: 0
    functionLinenumber: 22245
    functionLinenumberEnd: 22337
    functionName: roaring::api::roaring_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_key_at_index
    - container_iandnot
    - ra_get_container_at_index
    - assert
    - CAST_shared
    - container_andnot
    - ra_advance_until
    - ra_copy_range
    - ra_downsize
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_clear
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_andnot_inplace(roaring_bitmap_t *x1,\n                                   const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22346
      start: 22339
    functionDepth: 0
    functionLinenumber: 22339
    functionLinenumberEnd: 22346
    functionName: roaring::api::roaring_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 39
    functionsReached:
    - container_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_get_cardinality(const roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_range_cardinality_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22356
      start: 22348
    functionDepth: 1
    functionLinenumber: 22348
    functionLinenumberEnd: 22356
    functionName: roaring::api::roaring_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_range_cardinality_closed
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality(const roaring_bitmap_t *r,\n
      \                                         uint64_t range_start,\n                                          uint64_t
      range_end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22374,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22377,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22381,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22384,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22396,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22407
      start: 22358
    functionDepth: 0
    functionLinenumber: 22358
    functionLinenumberEnd: 22407
    functionName: roaring::api::roaring_bitmap_range_cardinality_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - container_get_cardinality
    - ra_get_index
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality_closed(const roaring_bitmap_t
      *r,\n                                                 uint32_t range_start,\n
      \                                                uint32_t range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22411
      start: 22409
    functionDepth: 0
    functionLinenumber: 22409
    functionLinenumberEnd: 22411
    functionName: roaring::api::roaring_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_is_empty(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22415
      start: 22413
    functionDepth: 0
    functionLinenumber: 22413
    functionLinenumberEnd: 22415
    functionName: roaring::api::roaring_bitmap_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_to_uint32_array(const roaring_bitmap_t *r, uint32_t
      *ans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_range_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - offset
    - limit
    - ans
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22420
      start: 22417
    functionDepth: 0
    functionLinenumber: 22417
    functionLinenumberEnd: 22420
    functionName: roaring::api::roaring_bitmap_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_range_uint32_array
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_range_uint32_array(const roaring_bitmap_t *r,
      size_t offset,\n                                       size_t limit, uint32_t
      *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22431,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22434,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22436,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22443
      start: 22427
    functionDepth: 0
    functionLinenumber: 22427
    functionLinenumberEnd: 22443
    functionName: roaring::api::roaring_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_container_at_index
    - convert_run_optimize
    - ra_set_container_at_index
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_run_optimize(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22449,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22451,1
    - Dst: ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22455
      start: 22445
    functionDepth: 0
    functionLinenumber: 22445
    functionLinenumberEnd: 22455
    functionName: roaring::api::roaring_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_shrink_to_fit
    - container_shrink_to_fit
    - ra_get_container_at_index
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_shrink_to_fit(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22465,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22467,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22470,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22470,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22471,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22472,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22474,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22474,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22475,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22479,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22479,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22480,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22481,1
    - Dst: run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22482,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22489
      start: 22461
    functionDepth: 0
    functionLinenumber: 22461
    functionLinenumberEnd: 22489
    functionName: roaring::api::roaring_bitmap_remove_run_compression
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - run_container_cardinality
    - ra_get_container_at_index
    - CAST_shared
    - ra_set_container_at_index
    - run_container_free
    - shared_container_free
    - convert_to_bitset_or_array_container
    - CAST_run
    - get_container_type
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_run_compression(roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22492,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22493,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22497,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22500,1
    - Dst: roaring::api::roaring_bitmap_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22505
      start: 22491
    functionDepth: 0
    functionLinenumber: 22491
    functionLinenumberEnd: 22505
    functionName: roaring::api::roaring_bitmap_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_to_uint32_array
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_serialize
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_serialize(const roaring_bitmap_t *r, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22508,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22513
      start: 22507
    functionDepth: 0
    functionLinenumber: 22507
    functionLinenumberEnd: 22513
    functionName: roaring::api::roaring_bitmap_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_size_in_bytes(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22517
      start: 22515
    functionDepth: 0
    functionLinenumber: 22515
    functionLinenumberEnd: 22517
    functionName: roaring::api::roaring_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 28
    functionsReached:
    - ra_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_size_in_bytes(const roaring_bitmap_t
      *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22522,1
    - Dst: ra_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22527,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22530,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22533,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22539
      start: 22519
    functionDepth: 0
    functionLinenumber: 22519
    functionLinenumberEnd: 22539
    functionName: roaring::api::roaring_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring_free
    - ra_portable_deserialize
    - roaring::api::roaring_bitmap_set_copy_on_write
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_portable_deserialize_safe(const char
      *buf,\n                                                           size_t maxbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22543
      start: 22541
    functionDepth: 0
    functionLinenumber: 22541
    functionLinenumberEnd: 22543
    functionName: roaring::api::roaring_bitmap_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22548
      start: 22545
    functionDepth: 0
    functionLinenumber: 22545
    functionLinenumberEnd: 22548
    functionName: roaring::api::roaring_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_portable_deserialize_size
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring_bitmap_portable_deserialize_size(const char *buf,\n
      \                                               size_t maxbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22552
      start: 22550
    functionDepth: 0
    functionLinenumber: 22550
    functionLinenumberEnd: 22552
    functionName: roaring::api::roaring_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_portable_serialize
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_serialize(const roaring_bitmap_t *r,
      char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22560,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22565,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22573,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22574,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22582
      start: 22554
    functionDepth: 0
    functionLinenumber: 22554
    functionLinenumberEnd: 22582
    functionName: roaring::api::roaring_bitmap_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_add_bulk
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_deserialize(const void *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22598,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22608,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22616,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22617,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22626
      start: 22584
    functionDepth: 0
    functionLinenumber: 22584
    functionLinenumberEnd: 22626
    functionName: roaring::api::roaring_bitmap_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_add_bulk
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_deserialize_safe(const void *buf,\n
      \                                                 size_t maxbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22638
      start: 22628
    functionDepth: 0
    functionLinenumber: 22628
    functionLinenumberEnd: 22638
    functionName: roaring::api::roaring_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate(const roaring_bitmap_t *r, roaring_iterator iterator,\n
      \                    void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - r
    - iterator
    - high_bits
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22651
      start: 22640
    functionDepth: 0
    functionLinenumber: 22640
    functionLinenumberEnd: 22651
    functionName: roaring::api::roaring_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate64(const roaring_bitmap_t *r, roaring_iterator64
      iterator,\n                       uint64_t high_bits, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22686
      start: 22662
    functionDepth: 0
    functionLinenumber: 22662
    functionLinenumberEnd: 22686
    functionName: roaring::api::iter_new_container_partial_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - container_unwrap_shared
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED iter_new_container_partial_init(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22694,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22701
      start: 22692
    functionDepth: 0
    functionLinenumber: 22692
    functionLinenumberEnd: 22701
    functionName: roaring::api::loadfirstvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - container_init_iterator
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadfirstvalue(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22709,1
    - Dst: container_init_iterator_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22716
      start: 22707
    functionDepth: 0
    functionLinenumber: 22707
    functionLinenumberEnd: 22716
    functionName: roaring::api::loadlastvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - container_init_iterator_last
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadlastvalue(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22725,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22726,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22732,1
    - Dst: container_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22733,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - newit
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts:
    - condition: (found)
      pos:
        line_end: 22735
        line_start: 22735
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (partial_init)
      pos:
        line_end: 22725
        line_start: 22725
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22742
      start: 22723
    functionDepth: 0
    functionLinenumber: 22723
    functionLinenumberEnd: 22742
    functionName: roaring::api::loadfirstvalue_largeorequal
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - assert
    - container_iterator_lower_bound
    - container_init_iterator
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadfirstvalue_largeorequal(\n    roaring_uint32_iterator_t
      *newit, uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22749
      start: 22744
    functionDepth: 0
    functionLinenumber: 22744
    functionLinenumberEnd: 22749
    functionName: roaring::api::roaring_iterator_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::api::loadfirstvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_iterator_init(const roaring_bitmap_t *r,\n                           roaring_uint32_iterator_t
      *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22756
      start: 22751
    functionDepth: 0
    functionLinenumber: 22751
    functionLinenumberEnd: 22756
    functionName: roaring::api::roaring_iterator_init_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_iterator_init_last(const roaring_bitmap_t *r,\n                                roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22760,1
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22765
      start: 22758
    functionDepth: 1
    functionLinenumber: 22758
    functionLinenumberEnd: 22765
    functionName: roaring::api::roaring_iterator_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: roaring_uint32_iterator_t *roaring_iterator_create(const roaring_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22770,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22774
      start: 22767
    functionDepth: 0
    functionLinenumber: 22767
    functionLinenumberEnd: 22774
    functionName: roaring::api::roaring_uint32_iterator_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: "roaring_uint32_iterator_t *roaring_uint32_iterator_copy(\n    const
      roaring_uint32_iterator_t *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22779,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22782,1
    - Dst: roaring::api::loadfirstvalue_largeorequal
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22791,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22800
      start: 22776
    functionDepth: 0
    functionLinenumber: 22776
    functionLinenumberEnd: 22800
    functionName: roaring::api::roaring_uint32_iterator_move_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - container_maximum
    - ra_get_index
    - roaring::api::loadfirstvalue
    - roaring::api::loadfirstvalue_largeorequal
    linkageType: ''
    returnType: bool
    signature: "bool roaring_uint32_iterator_move_equalorlarger(roaring_uint32_iterator_t
      *it,\n                                                uint32_t val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22808,1
    - Dst: container_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22811,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22818
      start: 22802
    functionDepth: 0
    functionLinenumber: 22802
    functionLinenumberEnd: 22818
    functionName: roaring::api::roaring_uint32_iterator_advance
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadfirstvalue
    - container_iterator_next
    linkageType: ''
    returnType: bool
    signature: bool roaring_uint32_iterator_advance(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22826,1
    - Dst: container_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22829,1
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22836
      start: 22820
    functionDepth: 0
    functionLinenumber: 22820
    functionLinenumberEnd: 22836
    functionName: roaring::api::roaring_uint32_iterator_previous
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    - container_iterator_prev
    linkageType: ''
    returnType: bool
    signature: bool roaring_uint32_iterator_previous(roaring_uint32_iterator_t *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterator_read_into_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22844,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22852,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (ret == count)
      pos:
        line_end: 22851
        line_start: 22851
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22859
      start: 22838
    functionDepth: 0
    functionLinenumber: 22838
    functionLinenumberEnd: 22859
    functionName: roaring::api::roaring_uint32_iterator_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::api::loadfirstvalue
    - container_iterator_read_into_uint32
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t roaring_uint32_iterator_read(roaring_uint32_iterator_t *it,\n
      \                                     uint32_t *buf, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22863
      start: 22861
    functionDepth: 0
    functionLinenumber: 22861
    functionLinenumberEnd: 22863
    functionName: roaring::api::roaring_uint32_iterator_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_uint32_iterator_free(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22890
      start: 22869
    functionDepth: 0
    functionLinenumber: 22869
    functionLinenumberEnd: 22890
    functionName: roaring::api::roaring_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_equals
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_equals(const roaring_bitmap_t *r1,\n                           const
      roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22902,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22903,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22908,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22910,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22911,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22917,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22924
      start: 22892
    functionDepth: 0
    functionLinenumber: 22892
    functionLinenumberEnd: 22924
    functionName: roaring::api::roaring_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_is_subset
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_subset(const roaring_bitmap_t *r1,\n                              const
      roaring_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22929,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22930,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22935,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22937,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22940,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22941,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22944,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22947,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ans_arr
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22952
      start: 22926
    functionDepth: 0
    functionLinenumber: 22926
    functionLinenumberEnd: 22952
    functionName: roaring::api::insert_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - container_not_range
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_flipped_container(roaring_array_t *ans_arr,\n                                     const
      roaring_array_t *x1_arr, uint16_t hb,\n                                     uint16_t
      lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22956,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22961,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22962,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22966,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22967,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22969,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22970,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22974,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22979
      start: 22954
    functionDepth: 0
    functionLinenumber: 22954
    functionLinenumberEnd: 22979
    functionName: roaring::api::inplace_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - ra_set_container_at_index
    - container_inot_range
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void inplace_flip_container(roaring_array_t *x1_arr, uint16_t hb,\n
      \                                  uint16_t lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22984,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22985,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22990,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22992,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22993,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22994,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22997,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23000,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ans_arr
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23004
      start: 22981
    functionDepth: 0
    functionLinenumber: 22981
    functionLinenumberEnd: 23004
    functionName: roaring::api::insert_fully_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_get_index
    - container_not
    - container_range_of_ones
    - ra_get_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_fully_flipped_container(roaring_array_t *ans_arr,\n                                           const
      roaring_array_t *x1_arr,\n                                           uint16_t
      hb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23007,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23012,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23014,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23016,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23017,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23019,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23020,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23024,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23028
      start: 23006
    functionDepth: 0
    functionLinenumber: 23006
    functionLinenumberEnd: 23028
    functionName: roaring::api::inplace_fully_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - ra_set_container_at_index
    - container_inot
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: void inplace_fully_flip_container(roaring_array_t *x1_arr, uint16_t
      hb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23034,1
    - Dst: roaring::api::roaring_bitmap_flip_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23038
      start: 23030
    functionDepth: 1
    functionLinenumber: 23030
    functionLinenumberEnd: 23038
    functionName: roaring::api::roaring_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_flip_closed
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip(const roaring_bitmap_t *x1,\n
      \                                     uint64_t range_start,\n                                      uint64_t
      range_end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23044,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23047,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23048,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23048,1
    - Dst: ra_append_copies_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23055,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23056,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23058,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23065,1
    - Dst: roaring::api::insert_fully_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23074,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23081,1
    - Dst: ra_append_copies_after
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23090
      start: 23040
    functionDepth: 0
    functionLinenumber: 23040
    functionLinenumberEnd: 23090
    functionName: roaring::api::roaring_bitmap_flip_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::insert_flipped_container
    - roaring::api::roaring_bitmap_create
    - ra_append_copies_until
    - roaring::api::roaring_bitmap_copy
    - roaring::api::insert_fully_flipped_container
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_append_copies_after
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip_closed(const roaring_bitmap_t
      *x1,\n                                             uint32_t range_start,\n                                             uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_flip_inplace_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23099
      start: 23092
    functionDepth: 1
    functionLinenumber: 23092
    functionLinenumberEnd: 23099
    functionName: roaring::api::roaring_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_flip_inplace_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace(roaring_bitmap_t *x1, uint64_t range_start,\n
      \                                uint64_t range_end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23114,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23120,1
    - Dst: roaring::api::inplace_fully_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23128,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23137
      start: 23101
    functionDepth: 0
    functionLinenumber: 23101
    functionLinenumberEnd: 23137
    functionName: roaring::api::roaring_bitmap_flip_inplace_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::api::inplace_flip_container
    - roaring::api::inplace_fully_flip_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace_closed(roaring_bitmap_t *x1,\n                                        uint32_t
      range_start,\n                                        uint32_t range_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23141,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23142,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23144,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23154,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23155,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23157,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23162,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - k
    - c
    - t
    argTypes:
    - roaring_array_t*
    - int
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23165
      start: 23139
    functionDepth: 0
    functionLinenumber: 23139
    functionLinenumberEnd: 23165
    functionName: roaring::api::offset_append_with_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_append
    - ra_set_container_at_index
    - container_ior
    - container_free
    linkageType: ''
    returnType: void
    signature: "void offset_append_with_merge(roaring_array_t *ra, int k, container_t
      *c,\n                                     uint8_t t)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23183,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23189,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23190,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23191,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23199,1
    - Dst: ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23205,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23220,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23230,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23231,1
    - Dst: container_add_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23233,1
    - Dst: roaring::api::offset_append_with_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23235,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23238,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23246,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - bm
    - offset
    argTypes:
    - roaring_bitmap_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23248
      start: 23172
    functionDepth: 0
    functionLinenumber: 23172
    functionLinenumberEnd: 23248
    functionName: roaring::api::roaring_bitmap_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - roaring::api::offset_append_with_merge
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - container_add_offset
    - roaring::api::roaring_bitmap_copy
    - container_unwrap_shared
    - ra_append_copy
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_add_offset(const roaring_bitmap_t
      *bm,\n                                            int64_t offset)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23257,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23260,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23263,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23267,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23268,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23271,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23273,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23277,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23278,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23280,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23281,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23283,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23285,1
    - Dst: container_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23288,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23294,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23299,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23300,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23303,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23305,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23305,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23306,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23307,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23310,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23313,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23316,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23318,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23318,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23319,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23320,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23323,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23326,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23330,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23332,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23334,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23336,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23339
      start: 23250
    functionDepth: 0
    functionLinenumber: 23250
    functionLinenumberEnd: 23339
    functionName: roaring::api::roaring_bitmap_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_ior
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    - container_mutable_unwrap_shared
    - container_lazy_or
    - get_container_type
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_or(const roaring_bitmap_t *x1,\n
      \                                        const roaring_bitmap_t *x2,\n                                         const
      bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23351,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23356,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23357,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23360,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23362,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23364,1
    - Dst: get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23365,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23370,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23371,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23372,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23376,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23379,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23383,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23386,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23393,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23394,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23399,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23402,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23405,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23405,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23406,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23407,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23410,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23416,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23420,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23421,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23423
      start: 23341
    functionDepth: 0
    functionLinenumber: 23341
    functionLinenumberEnd: 23423
    functionName: roaring::api::roaring_bitmap_lazy_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - get_writable_copy_if_shared
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_lazy_ior
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    - container_mutable_unwrap_shared
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_or_inplace(roaring_bitmap_t *x1,\n                                    const
      roaring_bitmap_t *x2,\n                                    const bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23431,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23434,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23437,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23441,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23442,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23445,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23447,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23450,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23452,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23453,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23455,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23462,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23463,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23466,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23468,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23468,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23469,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23470,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23473,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23476,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23479,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23481,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23481,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23483,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23486,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23489,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23493,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23495,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23497,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23499,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23502
      start: 23425
    functionDepth: 0
    functionLinenumber: 23425
    functionLinenumberEnd: 23502
    functionName: roaring::api::roaring_bitmap_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_xor
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_xor(const roaring_bitmap_t *x1,\n
      \                                         const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23506,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23514,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23519,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23520,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23523,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23525,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23536,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23537,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23537,1
    - Dst: container_lazy_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23539,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23542,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23543,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23547,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23548,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23554,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23555,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23560,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23563,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23566,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23566,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23567,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23568,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23571,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23577,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23581,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23582,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 23505
        line_start: 23505
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 23584
      start: 23504
    functionDepth: 0
    functionLinenumber: 23504
    functionLinenumberEnd: 23584
    functionName: roaring::api::roaring_bitmap_lazy_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - container_lazy_ixor
    - roaring::api::is_cow
    - ra_set_container_at_index
    - ra_append_copy_range
    - container_lazy_xor
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_xor_inplace(roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23597
      start: 23586
    functionDepth: 0
    functionLinenumber: 23586
    functionLinenumberEnd: 23597
    functionName: roaring::api::roaring_bitmap_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 22
    functionsReached:
    - container_repair_after_lazy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_repair_after_lazy(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23610,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23621
      start: 23603
    functionDepth: 0
    functionLinenumber: 23603
    functionLinenumberEnd: 23621
    functionName: roaring::api::roaring_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_rank(const roaring_bitmap_t *bm, uint32_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23634,1
    - Dst: container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - bm
    - begin
    - end
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23648
      start: 23622
    functionDepth: 0
    functionLinenumber: 23622
    functionLinenumberEnd: 23648
    functionName: roaring::api::roaring_bitmap_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank_many
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_rank_many(const roaring_bitmap_t *bm, const uint32_t
      *begin,\n                              const uint32_t *end, uint64_t *ans)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23656,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23663,1
    - Dst: container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23676
      start: 23653
    functionDepth: 0
    functionLinenumber: 23653
    functionLinenumberEnd: 23676
    functionName: roaring::api::roaring_bitmap_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_index
    - container_get_cardinality
    - ra_get_index
    linkageType: ''
    returnType: int64_t
    signature: int64_t roaring_bitmap_get_index(const roaring_bitmap_t *bm, uint32_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23691
      start: 23682
    functionDepth: 0
    functionLinenumber: 23682
    functionLinenumberEnd: 23691
    functionName: roaring::api::roaring_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - container_minimum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_minimum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23709
      start: 23697
    functionDepth: 0
    functionLinenumber: 23697
    functionLinenumberEnd: 23709
    functionName: roaring::api::roaring_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - container_maximum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_maximum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bm
    - rank
    - element
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23733
      start: 23711
    functionDepth: 0
    functionLinenumber: 23711
    functionLinenumberEnd: 23733
    functionName: roaring::api::roaring_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_select
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_select(const roaring_bitmap_t *bm, uint32_t rank,\n
      \                          uint32_t *element)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23744,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23746,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23750,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23752,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23754,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23758,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23764
      start: 23735
    functionDepth: 0
    functionLinenumber: 23735
    functionLinenumberEnd: 23764
    functionName: roaring::api::roaring_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_intersect
    - ra_get_key_at_index
    - ra_advance_until
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect(const roaring_bitmap_t *x1,\n                              const
      roaring_bitmap_t *x2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23773,1
    - Dst: roaring::api::roaring_uint32_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - bm
    - x
    - y
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23783
      start: 23766
    functionDepth: 1
    functionLinenumber: 23766
    functionLinenumberEnd: 23783
    functionName: roaring::api::roaring_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init
    - roaring::api::roaring_uint32_iterator_move_equalorlarger
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect_with_range(const roaring_bitmap_t *bm,
      uint64_t x,\n                                         uint64_t y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23793,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23795,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23799,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23801,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23803,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23807,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23813
      start: 23785
    functionDepth: 0
    functionLinenumber: 23785
    functionLinenumberEnd: 23813
    functionName: roaring::api::roaring_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 20
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_and_cardinality
    - ra_get_container_at_index
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_and_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23817,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23818,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23821
      start: 23815
    functionDepth: 0
    functionLinenumber: 23815
    functionLinenumberEnd: 23821
    functionName: roaring::api::roaring_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring_bitmap_jaccard_index(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23825,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23826,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23829
      start: 23823
    functionDepth: 0
    functionLinenumber: 23823
    functionLinenumberEnd: 23829
    functionName: roaring::api::roaring_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_or_cardinality(const roaring_bitmap_t *x1,\n
      \                                      const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23833,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23836
      start: 23831
    functionDepth: 0
    functionLinenumber: 23831
    functionLinenumberEnd: 23836
    functionName: roaring::api::roaring_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_andnot_cardinality(const roaring_bitmap_t
      *x1,\n                                           const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23840,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23841,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23844
      start: 23838
    functionDepth: 0
    functionLinenumber: 23838
    functionLinenumberEnd: 23844
    functionName: roaring::api::roaring_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_xor_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23851,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23856,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23861
      start: 23846
    functionDepth: 0
    functionLinenumber: 23846
    functionLinenumberEnd: 23861
    functionName: roaring::api::roaring_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - ra_get_index
    - container_contains
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains(const roaring_bitmap_t *r, uint32_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_contains_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23874
      start: 23867
    functionDepth: 1
    functionLinenumber: 23867
    functionLinenumberEnd: 23874
    functionName: roaring::api::roaring_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_contains_range_closed
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_range(const roaring_bitmap_t *r,\n                                   uint64_t
      range_start, uint64_t range_end)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23887,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23892,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23896,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23897,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23905,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23907,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23909,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23912,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23913,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23917,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23919,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23924
      start: 23880
    functionDepth: 0
    functionLinenumber: 23880
    functionLinenumberEnd: 23924
    functionName: roaring::api::roaring_bitmap_contains_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - ra_get_size
    - container_is_full
    - ra_get_index
    - ra_get_container_at_index
    - roaring::api::roaring_bitmap_contains
    - container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_range_closed(const roaring_bitmap_t *r,\n
      \                                         uint32_t range_start,\n                                          uint32_t
      range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23928,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23929,1
    - Dst: roaring::api::roaring_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23931
      start: 23926
    functionDepth: 0
    functionLinenumber: 23926
    functionLinenumberEnd: 23931
    functionName: roaring::api::roaring_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_strict_subset(const roaring_bitmap_t *r1,\n
      \                                    const roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23971,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - rb
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23988
      start: 23961
    functionDepth: 0
    functionLinenumber: 23961
    functionLinenumberEnd: 23988
    functionName: roaring::api::roaring_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_run
    - const_CAST_array
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_frozen_size_in_bytes(const roaring_bitmap_t *rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena
    - num_bytes
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23994
      start: 23990
    functionDepth: 0
    functionLinenumber: 23990
    functionLinenumberEnd: 23994
    functionName: roaring::api::arena_alloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *arena_alloc(char **arena, size_t num_bytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24015,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24021,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24030,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24031,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24032,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24033,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24034,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24035,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24036,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24043,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24044,1
    - Dst: bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24051,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24057,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24059,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24066,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24068,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24076,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24078,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24079,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24081,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - rb
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24082
      start: 23996
    functionDepth: 0
    functionLinenumber: 23996
    functionLinenumberEnd: 24082
    functionName: roaring::api::roaring_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - bitset_container_compute_cardinality
    - const_CAST_run
    - roaring::api::arena_alloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_frozen_serialize(const roaring_bitmap_t *rb, char
      *buf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24095,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24129,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24150,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24156,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24162,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24169,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24175,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24178,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24184,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24194,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24196,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24197,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24200,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24204,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: "(rb ==\n           (roaring_bitmap_t *)((char *)rb->high_low_container.containers
        -\n                                sizeof(roaring_bitmap_t)))"
      pos:
        line_end: 24170
        line_start: 24168
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 24210
      start: 24084
    functionDepth: 0
    functionLinenumber: 24084
    functionLinenumberEnd: 24210
    functionName: roaring::api::roaring_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring::api::arena_alloc
    - memcpy
    - UINT32_C
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_frozen_view(const char *buf,\n                                                   size_t
      length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24223,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24226,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24255,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24285,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24291,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24295,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24299,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24301,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24308,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24323,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24336,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24340,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24346,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24355,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24370
      start: 24212
    functionDepth: 0
    functionLinenumber: 24212
    functionLinenumberEnd: 24370
    functionName: roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - arena_alloc
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24373,1
    - Dst: bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24375,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24385,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24393,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24394,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24397,1
    - Dst: roaring::api::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24398,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24401,1
    - Dst: bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - r
    - bitset
    argTypes:
    - roaring_bitmap_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24412
      start: 24372
    functionDepth: 2
    functionLinenumber: 24372
    functionLinenumberEnd: 24412
    functionName: roaring::api::roaring_bitmap_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::api::bitset_set_list
    - const_CAST_bitset
    - const_CAST_run
    - bitset_set_lenrange
    - bitset_resize
    - container_unwrap_shared
    - memcpy
    - roaring::api::roaring_bitmap_maximum
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_to_bitset(const roaring_bitmap_t *r, bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21058
      start: 21056
    functionDepth: 0
    functionLinenumber: 21056
    functionLinenumberEnd: 21058
    functionName: roaring::api::is_cow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cow(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21061
      start: 21059
    functionDepth: 0
    functionLinenumber: 21059
    functionLinenumberEnd: 21061
    functionName: roaring::api::is_frozen
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21075,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21077,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21078,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21080,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21083,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21084,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21091,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21093,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - r
    - val
    - type
    - index
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21099
      start: 21068
    functionDepth: 0
    functionLinenumber: 21068
    functionLinenumberEnd: 21099
    functionName: roaring::api::containerptr_roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *containerptr_roaring_bitmap_add(roaring_bitmap_t *r,\n
      \                                                          uint32_t val,\n                                                           uint8_t
      *type,\n                                                           int *index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21103,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21107,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cap
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21113
      start: 21101
    functionDepth: 0
    functionLinenumber: 21101
    functionLinenumberEnd: 21113
    functionName: roaring::api::roaring_bitmap_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 44
    functionsReached:
    - ra_init_with_capacity
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create_with_capacity(uint32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - cap
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21117
      start: 21115
    functionDepth: 0
    functionLinenumber: 21115
    functionLinenumberEnd: 21117
    functionName: roaring::api::roaring_bitmap_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_init_with_capacity
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_init_with_capacity(roaring_bitmap_t *r, uint32_t
      cap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21127,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21136,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21140,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21147
      start: 21119
    functionDepth: 0
    functionLinenumber: 21119
    functionLinenumberEnd: 21147
    functionName: roaring::api::add_bulk_impl
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::api::containerptr_roaring_bitmap_add
    - container_add
    - ra_set_container_at_index
    - container_free
    linkageType: ''
    returnType: void
    signature: "void add_bulk_impl(roaring_bitmap_t *r,\n                                 roaring_bulk_context_t
      *context,\n                                 uint32_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21164,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21169,1
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21172
      start: 21149
    functionDepth: 0
    functionLinenumber: 21149
    functionLinenumberEnd: 21172
    functionName: roaring::api::roaring_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::api::add_bulk_impl
    - roaring::api::containerptr_roaring_bitmap_add
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_many(roaring_bitmap_t *r, size_t n_args,\n
      \                            const uint32_t *vals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21177
      start: 21174
    functionDepth: 0
    functionLinenumber: 21174
    functionLinenumberEnd: 21177
    functionName: roaring::api::roaring_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::api::add_bulk_impl
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_bulk(roaring_bitmap_t *r,\n                             roaring_bulk_context_t
      *context, uint32_t val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21188,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21189,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21193,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21198,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21208
      start: 21179
    functionDepth: 0
    functionLinenumber: 21179
    functionLinenumberEnd: 21208
    functionName: roaring::api::roaring_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - container_contains
    - ra_advance_until
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_bulk(const roaring_bitmap_t *r,\n                                  roaring_bulk_context_t
      *context,\n                                  uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21211,1
    - Dst: roaring::api::roaring_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21214
      start: 21210
    functionDepth: 0
    functionLinenumber: 21210
    functionLinenumberEnd: 21214
    functionName: roaring::api::roaring_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_many
    - roaring::api::roaring_bitmap_create
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of_ptr(size_t n_args, const uint32_t
      *vals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21219,1
    - Dst: va_start
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21222,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21224,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21225,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n_args
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21229
      start: 21216
    functionDepth: 0
    functionLinenumber: 21216
    functionLinenumberEnd: 21229
    functionName: roaring::api::roaring_bitmap_of
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - va_end
    - roaring::api::roaring_bitmap_add_bulk
    - va_arg
    - roaring::api::roaring_bitmap_create
    - va_start
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of(size_t n_args, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21233
      start: 21231
    functionDepth: 0
    functionLinenumber: 21231
    functionLinenumberEnd: 21233
    functionName: roaring::api::minimum_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum_uint64(uint64_t a, uint64_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21237,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21238,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21242,1
    - Dst: roaring::api::roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21245,1
    - Dst: roaring::api::minimum_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21254,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21256,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21264
      start: 21235
    functionDepth: 0
    functionLinenumber: 21235
    functionLinenumberEnd: 21264
    functionName: roaring::api::roaring_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_append
    - roaring::api::roaring_bitmap_add
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - container_from_range
    - roaring::api::minimum_uint64
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                            uint32_t step)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21279,1
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21281,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21285,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21299,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21301,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21304,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21308,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21315
      start: 21266
    functionDepth: 0
    functionLinenumber: 21266
    functionLinenumberEnd: 21315
    functionName: roaring::api::roaring_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - container_add_range
    - count_greater
    - count_less
    - container_from_range
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range_closed(roaring_bitmap_t *r, uint32_t
      min,\n                                     uint32_t max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21328,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21335,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21339,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21342,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21345,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21354
      start: 21317
    functionDepth: 0
    functionLinenumber: 21317
    functionLinenumberEnd: 21354
    functionName: roaring::api::roaring_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - count_less
    - container_free
    - container_remove_range
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range_closed(roaring_bitmap_t *r, uint32_t
      min,\n                                        uint32_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21359,1
    - Dst: container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21361,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21365,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21369
      start: 21356
    functionDepth: 1
    functionLinenumber: 21356
    functionLinenumberEnd: 21369
    functionName: roaring::api::roaring_bitmap_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - printf
    - container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21374,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21376,1
    - Dst: get_full_container_name
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21377,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21378,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21380,1
    - Dst: croaring_refcount_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21381,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21382,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21386,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21390
      start: 21371
    functionDepth: 1
    functionLinenumber: 21371
    functionLinenumberEnd: 21390
    functionName: roaring::api::roaring_bitmap_printf_describe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - croaring_refcount_get
    - container_get_cardinality
    - CAST_shared
    - printf
    - get_full_container_name
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf_describe(const roaring_bitmap_t *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21400,1
    - Dst: roaring::api::roaring_bitmap_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21402,1
    - Dst: roaring::api::roaring_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21403,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21407,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21409,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21411,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring_bitmap_t*
    - roaring_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 21429
        line_start: 21429
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 21434
      start: 21396
    functionDepth: 0
    functionLinenumber: 21396
    functionLinenumberEnd: 21434
    functionName: roaring::api::roaring_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_maximum
    - container_get_cardinality
    - assert
    - roaring::api::roaring_bitmap_minimum
    - container_size_in_bytes
    - memset
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_statistics(const roaring_bitmap_t *r,\n                               roaring_statistics_t
      *stat)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: container_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21496,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - r
    - reason
    argTypes:
    - roaring_bitmap_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21507
      start: 21444
    functionDepth: 0
    functionLinenumber: 21444
    functionLinenumberEnd: 21507
    functionName: roaring::api::roaring_bitmap_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_internal_validate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_internal_validate(const roaring_bitmap_t *r,\n
      \                                     const char **reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21511,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21515,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21517,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21520,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21521,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21522,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21525,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21527
      start: 21509
    functionDepth: 0
    functionLinenumber: 21509
    functionLinenumberEnd: 21527
    functionName: roaring::api::roaring_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 64
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_free
    - roaring_free
    - roaring_malloc
    - ra_init_with_capacity
    - ra_overwrite
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_copy(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21531,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21531,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21532,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21534
      start: 21529
    functionDepth: 0
    functionLinenumber: 21529
    functionLinenumberEnd: 21534
    functionName: roaring::api::roaring_bitmap_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_overwrite
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_overwrite(roaring_bitmap_t *dest,\n                              const
      roaring_bitmap_t *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_frozen
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21540,1
    - Dst: ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21541,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21544
      start: 21536
    functionDepth: 0
    functionLinenumber: 21536
    functionLinenumberEnd: 21544
    functionName: roaring::api::roaring_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::api::is_frozen
    - ra_clear
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_reset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21548
      start: 21546
    functionDepth: 0
    functionLinenumber: 21546
    functionLinenumberEnd: 21548
    functionName: roaring::api::roaring_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_reset
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_clear(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21554,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21557,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21559,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21562,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21564,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21565,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21569,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21571,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21576
      start: 21550
    functionDepth: 0
    functionLinenumber: 21550
    functionLinenumberEnd: 21576
    functionName: roaring::api::roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21580,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21584,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21585,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21589,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21593,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21595,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21596,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21601,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21606,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21608,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21616
      start: 21578
    functionDepth: 0
    functionLinenumber: 21578
    functionLinenumberEnd: 21616
    functionName: roaring::api::roaring_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_add_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21620,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21623,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21624,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21628,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21630,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21631,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21634,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21635,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21641
      start: 21618
    functionDepth: 0
    functionLinenumber: 21618
    functionLinenumberEnd: 21641
    functionName: roaring::api::roaring_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21645,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21649,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21650,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21654,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21658,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21660,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21661,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21666,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21669,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21678
      start: 21643
    functionDepth: 0
    functionLinenumber: 21643
    functionLinenumberEnd: 21678
    functionName: roaring::api::roaring_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21690,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21695,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21699,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21701,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21705,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21706,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21712
      start: 21680
    functionDepth: 0
    functionLinenumber: 21680
    functionLinenumberEnd: 21712
    functionName: roaring::api::roaring_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_index
    - container_remove
    - ra_remove_at_index
    - container_nonzero_cardinality
    - container_free
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_many(roaring_bitmap_t *r, size_t n_args,\n
      \                               const uint32_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21721,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21728,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21730,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21734,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21736,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21738,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21740,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21741,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21743,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21748,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21750,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21754
      start: 21715
    functionDepth: 0
    functionLinenumber: 21715
    functionLinenumberEnd: 21754
    functionName: roaring::api::roaring_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_and
    - ra_advance_until
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_and(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21762,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21765,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21768,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21770,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21774
      start: 21759
    functionDepth: 0
    functionLinenumber: 21759
    functionLinenumberEnd: 21774
    functionName: roaring::api::roaring_bitmap_or_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many(size_t number,\n                                         const
      roaring_bitmap_t **x)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21782,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21785,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21787,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21789,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21793
      start: 21779
    functionDepth: 0
    functionLinenumber: 21779
    functionLinenumberEnd: 21793
    functionName: roaring::api::roaring_bitmap_xor_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_lazy_xor_inplace
    - roaring::api::roaring_bitmap_lazy_xor
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor_many(size_t number,\n                                          const
      roaring_bitmap_t **x)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21800,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21801,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21807,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21809,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21813,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21815,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21825,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21826,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21830,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21832,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21833,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21838,1
    - Dst: ra_advance_until_freeing
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21843,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21845,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21852,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21858,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21859
      start: 21796
    functionDepth: 0
    functionLinenumber: 21796
    functionLinenumberEnd: 21859
    functionName: roaring::api::roaring_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_size
    - ra_get_key_at_index
    - ra_advance_until_freeing
    - ra_get_container_at_index
    - container_and
    - ra_advance_until
    - ra_downsize
    - container_nonzero_cardinality
    - container_free
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_and_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21867,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21870,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21873,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21877,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21878,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21881,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21883,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21885,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21890,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21895,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21896,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21899,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21902,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21902,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21903,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21904,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21907,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21910,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21913,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21916,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21916,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21917,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21918,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21921,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21924,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21928,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21930,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21932,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21934,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21937
      start: 21861
    functionDepth: 0
    functionLinenumber: 21861
    functionLinenumberEnd: 21937
    functionName: roaring::api::roaring_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_or
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21949,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21954,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21955,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21958,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21960,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21961,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21965,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21966,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21970,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21972,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21979,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21980,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21985,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21988,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21990,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21990,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21991,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21992,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21997,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22003,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22007,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22008,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22010
      start: 21940
    functionDepth: 0
    functionLinenumber: 21940
    functionLinenumberEnd: 22010
    functionName: roaring::api::roaring_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_ior
    - container_or
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_or_inplace(roaring_bitmap_t *x1,\n                               const
      roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22018,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22021,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22024,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22028,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22029,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22032,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22034,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22036,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22038,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22039,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22041,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22047,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22048,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22051,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22053,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22053,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22054,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22055,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22058,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22061,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22064,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22066,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22066,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22067,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22068,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22071,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22074,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22078,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22080,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22082,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22084,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22087
      start: 22012
    functionDepth: 0
    functionLinenumber: 22012
    functionLinenumberEnd: 22087
    functionName: roaring::api::roaring_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22093,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22101,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22110,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22111,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22114,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22116,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22127,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22128,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22128,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22130,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22133,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22134,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22138,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22139,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22146,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22147,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22152,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22155,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22157,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22157,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22158,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22159,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22163,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22169,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22173,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22174,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 22092
        line_start: 22092
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22176
      start: 22091
    functionDepth: 0
    functionLinenumber: 22091
    functionLinenumberEnd: 22176
    functionName: roaring::api::roaring_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_ixor
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_xor_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22184,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22185,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22186,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22186,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22190,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22192,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22200,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22201,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22204,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22206,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22209,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22211,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22212,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22214,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22222,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22223,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22225,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22231,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22236,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22241
      start: 22178
    functionDepth: 0
    functionLinenumber: 22178
    functionLinenumberEnd: 22241
    functionName: roaring::api::roaring_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - container_andnot
    - ra_advance_until
    - roaring::api::roaring_bitmap_create
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_andnot(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22247,1
    - Dst: roaring::api::roaring_bitmap_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22257,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22263,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22264,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22267,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22269,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22280,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22281,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22281,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22283,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22286,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22287,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22291,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22298,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22303,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22306,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22312,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22315,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22317,1
    - Dst: ra_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22330,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22336,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 22246
        line_start: 22246
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22337
      start: 22245
    functionDepth: 0
    functionLinenumber: 22245
    functionLinenumberEnd: 22337
    functionName: roaring::api::roaring_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_key_at_index
    - container_iandnot
    - ra_get_container_at_index
    - assert
    - CAST_shared
    - container_andnot
    - ra_advance_until
    - ra_copy_range
    - ra_downsize
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_clear
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_andnot_inplace(roaring_bitmap_t *x1,\n                                   const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22346
      start: 22339
    functionDepth: 0
    functionLinenumber: 22339
    functionLinenumberEnd: 22346
    functionName: roaring::api::roaring_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 46
    functionsReached:
    - container_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_get_cardinality(const roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_range_cardinality_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22356
      start: 22348
    functionDepth: 1
    functionLinenumber: 22348
    functionLinenumberEnd: 22356
    functionName: roaring::api::roaring_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_range_cardinality_closed
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality(const roaring_bitmap_t *r,\n
      \                                         uint64_t range_start,\n                                          uint64_t
      range_end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22374,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22377,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22381,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22384,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22396,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22407
      start: 22358
    functionDepth: 0
    functionLinenumber: 22358
    functionLinenumberEnd: 22407
    functionName: roaring::api::roaring_bitmap_range_cardinality_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - container_get_cardinality
    - ra_get_index
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality_closed(const roaring_bitmap_t
      *r,\n                                                 uint32_t range_start,\n
      \                                                uint32_t range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22411
      start: 22409
    functionDepth: 0
    functionLinenumber: 22409
    functionLinenumberEnd: 22411
    functionName: roaring::api::roaring_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_is_empty(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22415
      start: 22413
    functionDepth: 0
    functionLinenumber: 22413
    functionLinenumberEnd: 22415
    functionName: roaring::api::roaring_bitmap_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_to_uint32_array(const roaring_bitmap_t *r, uint32_t
      *ans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_range_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - offset
    - limit
    - ans
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22420
      start: 22417
    functionDepth: 0
    functionLinenumber: 22417
    functionLinenumberEnd: 22420
    functionName: roaring::api::roaring_bitmap_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_range_uint32_array
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_range_uint32_array(const roaring_bitmap_t *r,
      size_t offset,\n                                       size_t limit, uint32_t
      *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22431,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22434,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22436,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22443
      start: 22427
    functionDepth: 0
    functionLinenumber: 22427
    functionLinenumberEnd: 22443
    functionName: roaring::api::roaring_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_container_at_index
    - convert_run_optimize
    - ra_set_container_at_index
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_run_optimize(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22449,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22451,1
    - Dst: ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22455
      start: 22445
    functionDepth: 0
    functionLinenumber: 22445
    functionLinenumberEnd: 22455
    functionName: roaring::api::roaring_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_shrink_to_fit
    - container_shrink_to_fit
    - ra_get_container_at_index
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_shrink_to_fit(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22465,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22467,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22470,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22470,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22471,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22472,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22474,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22474,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22475,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22479,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22479,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22480,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22481,1
    - Dst: run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22482,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22489
      start: 22461
    functionDepth: 0
    functionLinenumber: 22461
    functionLinenumberEnd: 22489
    functionName: roaring::api::roaring_bitmap_remove_run_compression
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - run_container_cardinality
    - ra_get_container_at_index
    - CAST_shared
    - ra_set_container_at_index
    - run_container_free
    - shared_container_free
    - convert_to_bitset_or_array_container
    - CAST_run
    - get_container_type
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_run_compression(roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22492,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22493,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22497,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22500,1
    - Dst: roaring::api::roaring_bitmap_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22505
      start: 22491
    functionDepth: 0
    functionLinenumber: 22491
    functionLinenumberEnd: 22505
    functionName: roaring::api::roaring_bitmap_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_to_uint32_array
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_serialize
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_serialize(const roaring_bitmap_t *r, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22508,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22513
      start: 22507
    functionDepth: 0
    functionLinenumber: 22507
    functionLinenumberEnd: 22513
    functionName: roaring::api::roaring_bitmap_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_size_in_bytes(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22517
      start: 22515
    functionDepth: 0
    functionLinenumber: 22515
    functionLinenumberEnd: 22517
    functionName: roaring::api::roaring_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 30
    functionsReached:
    - ra_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_size_in_bytes(const roaring_bitmap_t
      *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22522,1
    - Dst: ra_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22527,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22530,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22533,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22539
      start: 22519
    functionDepth: 0
    functionLinenumber: 22519
    functionLinenumberEnd: 22539
    functionName: roaring::api::roaring_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring_free
    - ra_portable_deserialize
    - roaring::api::roaring_bitmap_set_copy_on_write
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_portable_deserialize_safe(const char
      *buf,\n                                                           size_t maxbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22543
      start: 22541
    functionDepth: 0
    functionLinenumber: 22541
    functionLinenumberEnd: 22543
    functionName: roaring::api::roaring_bitmap_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22548
      start: 22545
    functionDepth: 0
    functionLinenumber: 22545
    functionLinenumberEnd: 22548
    functionName: roaring::api::roaring_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_portable_deserialize_size
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring_bitmap_portable_deserialize_size(const char *buf,\n
      \                                               size_t maxbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22552
      start: 22550
    functionDepth: 0
    functionLinenumber: 22550
    functionLinenumberEnd: 22552
    functionName: roaring::api::roaring_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_portable_serialize
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_serialize(const roaring_bitmap_t *r,
      char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22560,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22565,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22573,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22574,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22582
      start: 22554
    functionDepth: 0
    functionLinenumber: 22554
    functionLinenumberEnd: 22582
    functionName: roaring::api::roaring_bitmap_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_add_bulk
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_deserialize(const void *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22598,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22608,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22616,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22617,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22626
      start: 22584
    functionDepth: 0
    functionLinenumber: 22584
    functionLinenumberEnd: 22626
    functionName: roaring::api::roaring_bitmap_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_add_bulk
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_deserialize_safe(const void *buf,\n
      \                                                 size_t maxbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22638
      start: 22628
    functionDepth: 0
    functionLinenumber: 22628
    functionLinenumberEnd: 22638
    functionName: roaring::api::roaring_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate(const roaring_bitmap_t *r, roaring_iterator iterator,\n
      \                    void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - r
    - iterator
    - high_bits
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22651
      start: 22640
    functionDepth: 0
    functionLinenumber: 22640
    functionLinenumberEnd: 22651
    functionName: roaring::api::roaring_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate64(const roaring_bitmap_t *r, roaring_iterator64
      iterator,\n                       uint64_t high_bits, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22686
      start: 22662
    functionDepth: 0
    functionLinenumber: 22662
    functionLinenumberEnd: 22686
    functionName: roaring::api::iter_new_container_partial_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 18
    functionsReached:
    - container_unwrap_shared
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED iter_new_container_partial_init(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22694,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22701
      start: 22692
    functionDepth: 0
    functionLinenumber: 22692
    functionLinenumberEnd: 22701
    functionName: roaring::api::loadfirstvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - container_init_iterator
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadfirstvalue(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22709,1
    - Dst: container_init_iterator_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22716
      start: 22707
    functionDepth: 0
    functionLinenumber: 22707
    functionLinenumberEnd: 22716
    functionName: roaring::api::loadlastvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - container_init_iterator_last
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadlastvalue(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22725,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22726,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22732,1
    - Dst: container_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22733,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - newit
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts:
    - condition: (found)
      pos:
        line_end: 22735
        line_start: 22735
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (partial_init)
      pos:
        line_end: 22725
        line_start: 22725
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22742
      start: 22723
    functionDepth: 0
    functionLinenumber: 22723
    functionLinenumberEnd: 22742
    functionName: roaring::api::loadfirstvalue_largeorequal
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - assert
    - container_iterator_lower_bound
    - container_init_iterator
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadfirstvalue_largeorequal(\n    roaring_uint32_iterator_t
      *newit, uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22749
      start: 22744
    functionDepth: 0
    functionLinenumber: 22744
    functionLinenumberEnd: 22749
    functionName: roaring::api::roaring_iterator_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::loadfirstvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_iterator_init(const roaring_bitmap_t *r,\n                           roaring_uint32_iterator_t
      *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22756
      start: 22751
    functionDepth: 0
    functionLinenumber: 22751
    functionLinenumberEnd: 22756
    functionName: roaring::api::roaring_iterator_init_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_iterator_init_last(const roaring_bitmap_t *r,\n                                roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22760,1
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22765
      start: 22758
    functionDepth: 1
    functionLinenumber: 22758
    functionLinenumberEnd: 22765
    functionName: roaring::api::roaring_iterator_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: roaring_uint32_iterator_t *roaring_iterator_create(const roaring_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22770,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22774
      start: 22767
    functionDepth: 0
    functionLinenumber: 22767
    functionLinenumberEnd: 22774
    functionName: roaring::api::roaring_uint32_iterator_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: "roaring_uint32_iterator_t *roaring_uint32_iterator_copy(\n    const
      roaring_uint32_iterator_t *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22779,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22782,1
    - Dst: roaring::api::loadfirstvalue_largeorequal
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22791,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22800
      start: 22776
    functionDepth: 0
    functionLinenumber: 22776
    functionLinenumberEnd: 22800
    functionName: roaring::api::roaring_uint32_iterator_move_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - container_maximum
    - ra_get_index
    - roaring::api::loadfirstvalue
    - roaring::api::loadfirstvalue_largeorequal
    linkageType: ''
    returnType: bool
    signature: "bool roaring_uint32_iterator_move_equalorlarger(roaring_uint32_iterator_t
      *it,\n                                                uint32_t val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22808,1
    - Dst: container_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22811,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22818
      start: 22802
    functionDepth: 0
    functionLinenumber: 22802
    functionLinenumberEnd: 22818
    functionName: roaring::api::roaring_uint32_iterator_advance
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadfirstvalue
    - container_iterator_next
    linkageType: ''
    returnType: bool
    signature: bool roaring_uint32_iterator_advance(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22826,1
    - Dst: container_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22829,1
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22836
      start: 22820
    functionDepth: 0
    functionLinenumber: 22820
    functionLinenumberEnd: 22836
    functionName: roaring::api::roaring_uint32_iterator_previous
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    - container_iterator_prev
    linkageType: ''
    returnType: bool
    signature: bool roaring_uint32_iterator_previous(roaring_uint32_iterator_t *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterator_read_into_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22844,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22852,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (ret == count)
      pos:
        line_end: 22851
        line_start: 22851
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22859
      start: 22838
    functionDepth: 0
    functionLinenumber: 22838
    functionLinenumberEnd: 22859
    functionName: roaring::api::roaring_uint32_iterator_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::api::loadfirstvalue
    - container_iterator_read_into_uint32
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t roaring_uint32_iterator_read(roaring_uint32_iterator_t *it,\n
      \                                     uint32_t *buf, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22863
      start: 22861
    functionDepth: 0
    functionLinenumber: 22861
    functionLinenumberEnd: 22863
    functionName: roaring::api::roaring_uint32_iterator_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_uint32_iterator_free(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22890
      start: 22869
    functionDepth: 0
    functionLinenumber: 22869
    functionLinenumberEnd: 22890
    functionName: roaring::api::roaring_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_equals
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_equals(const roaring_bitmap_t *r1,\n                           const
      roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22902,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22903,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22908,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22910,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22911,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22917,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22924
      start: 22892
    functionDepth: 0
    functionLinenumber: 22892
    functionLinenumberEnd: 22924
    functionName: roaring::api::roaring_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_is_subset
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_subset(const roaring_bitmap_t *r1,\n                              const
      roaring_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22929,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22930,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22935,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22937,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22940,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22941,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22944,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22947,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ans_arr
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22952
      start: 22926
    functionDepth: 0
    functionLinenumber: 22926
    functionLinenumberEnd: 22952
    functionName: roaring::api::insert_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - container_not_range
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_flipped_container(roaring_array_t *ans_arr,\n                                     const
      roaring_array_t *x1_arr, uint16_t hb,\n                                     uint16_t
      lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22956,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22961,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22962,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22966,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22967,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22969,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22970,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22974,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22979
      start: 22954
    functionDepth: 0
    functionLinenumber: 22954
    functionLinenumberEnd: 22979
    functionName: roaring::api::inplace_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - ra_set_container_at_index
    - container_inot_range
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void inplace_flip_container(roaring_array_t *x1_arr, uint16_t hb,\n
      \                                  uint16_t lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22984,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22985,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22990,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22992,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22993,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22994,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22997,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23000,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ans_arr
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23004
      start: 22981
    functionDepth: 0
    functionLinenumber: 22981
    functionLinenumberEnd: 23004
    functionName: roaring::api::insert_fully_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_get_index
    - container_not
    - container_range_of_ones
    - ra_get_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_fully_flipped_container(roaring_array_t *ans_arr,\n                                           const
      roaring_array_t *x1_arr,\n                                           uint16_t
      hb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23007,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23012,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23014,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23016,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23017,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23019,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23020,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23024,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23028
      start: 23006
    functionDepth: 0
    functionLinenumber: 23006
    functionLinenumberEnd: 23028
    functionName: roaring::api::inplace_fully_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - ra_set_container_at_index
    - container_inot
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: void inplace_fully_flip_container(roaring_array_t *x1_arr, uint16_t
      hb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23034,1
    - Dst: roaring::api::roaring_bitmap_flip_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23038
      start: 23030
    functionDepth: 1
    functionLinenumber: 23030
    functionLinenumberEnd: 23038
    functionName: roaring::api::roaring_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_flip_closed
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip(const roaring_bitmap_t *x1,\n
      \                                     uint64_t range_start,\n                                      uint64_t
      range_end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23044,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23047,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23048,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23048,1
    - Dst: ra_append_copies_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23055,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23056,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23058,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23065,1
    - Dst: roaring::api::insert_fully_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23074,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23081,1
    - Dst: ra_append_copies_after
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23090
      start: 23040
    functionDepth: 0
    functionLinenumber: 23040
    functionLinenumberEnd: 23090
    functionName: roaring::api::roaring_bitmap_flip_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::insert_flipped_container
    - roaring::api::roaring_bitmap_create
    - ra_append_copies_until
    - roaring::api::roaring_bitmap_copy
    - roaring::api::insert_fully_flipped_container
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_append_copies_after
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip_closed(const roaring_bitmap_t
      *x1,\n                                             uint32_t range_start,\n                                             uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_flip_inplace_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23099
      start: 23092
    functionDepth: 1
    functionLinenumber: 23092
    functionLinenumberEnd: 23099
    functionName: roaring::api::roaring_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_flip_inplace_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace(roaring_bitmap_t *x1, uint64_t range_start,\n
      \                                uint64_t range_end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23114,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23120,1
    - Dst: roaring::api::inplace_fully_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23128,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23137
      start: 23101
    functionDepth: 0
    functionLinenumber: 23101
    functionLinenumberEnd: 23137
    functionName: roaring::api::roaring_bitmap_flip_inplace_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::inplace_flip_container
    - roaring::api::inplace_fully_flip_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace_closed(roaring_bitmap_t *x1,\n                                        uint32_t
      range_start,\n                                        uint32_t range_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23141,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23142,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23144,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23154,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23155,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23157,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23162,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - k
    - c
    - t
    argTypes:
    - roaring_array_t*
    - int
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23165
      start: 23139
    functionDepth: 0
    functionLinenumber: 23139
    functionLinenumberEnd: 23165
    functionName: roaring::api::offset_append_with_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_append
    - ra_set_container_at_index
    - container_ior
    - container_free
    linkageType: ''
    returnType: void
    signature: "void offset_append_with_merge(roaring_array_t *ra, int k, container_t
      *c,\n                                     uint8_t t)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23183,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23189,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23190,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23191,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23199,1
    - Dst: ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23205,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23220,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23230,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23231,1
    - Dst: container_add_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23233,1
    - Dst: roaring::api::offset_append_with_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23235,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23238,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23246,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - bm
    - offset
    argTypes:
    - roaring_bitmap_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23248
      start: 23172
    functionDepth: 0
    functionLinenumber: 23172
    functionLinenumberEnd: 23248
    functionName: roaring::api::roaring_bitmap_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - roaring::api::offset_append_with_merge
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - container_add_offset
    - roaring::api::roaring_bitmap_copy
    - container_unwrap_shared
    - ra_append_copy
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_add_offset(const roaring_bitmap_t
      *bm,\n                                            int64_t offset)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23257,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23260,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23263,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23267,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23268,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23271,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23273,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23277,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23278,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23280,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23281,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23283,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23285,1
    - Dst: container_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23288,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23294,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23299,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23300,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23303,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23305,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23305,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23306,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23307,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23310,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23313,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23316,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23318,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23318,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23319,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23320,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23323,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23326,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23330,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23332,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23334,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23336,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23339
      start: 23250
    functionDepth: 0
    functionLinenumber: 23250
    functionLinenumberEnd: 23339
    functionName: roaring::api::roaring_bitmap_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_ior
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    - container_mutable_unwrap_shared
    - container_lazy_or
    - get_container_type
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_or(const roaring_bitmap_t *x1,\n
      \                                        const roaring_bitmap_t *x2,\n                                         const
      bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23351,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23356,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23357,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23360,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23362,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23364,1
    - Dst: get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23365,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23370,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23371,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23372,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23376,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23379,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23383,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23386,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23393,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23394,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23399,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23402,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23405,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23405,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23406,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23407,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23410,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23416,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23420,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23421,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23423
      start: 23341
    functionDepth: 0
    functionLinenumber: 23341
    functionLinenumberEnd: 23423
    functionName: roaring::api::roaring_bitmap_lazy_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - get_writable_copy_if_shared
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_lazy_ior
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    - container_mutable_unwrap_shared
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_or_inplace(roaring_bitmap_t *x1,\n                                    const
      roaring_bitmap_t *x2,\n                                    const bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23431,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23434,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23437,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23441,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23442,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23445,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23447,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23450,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23452,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23453,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23455,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23462,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23463,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23466,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23468,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23468,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23469,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23470,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23473,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23476,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23479,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23481,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23481,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23483,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23486,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23489,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23493,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23495,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23497,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23499,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23502
      start: 23425
    functionDepth: 0
    functionLinenumber: 23425
    functionLinenumberEnd: 23502
    functionName: roaring::api::roaring_bitmap_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_xor
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_xor(const roaring_bitmap_t *x1,\n
      \                                         const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23506,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23514,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23519,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23520,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23523,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23525,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23536,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23537,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23537,1
    - Dst: container_lazy_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23539,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23542,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23543,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23547,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23548,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23554,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23555,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23560,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23563,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23566,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23566,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23567,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23568,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23571,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23577,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23581,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23582,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 23505
        line_start: 23505
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 23584
      start: 23504
    functionDepth: 0
    functionLinenumber: 23504
    functionLinenumberEnd: 23584
    functionName: roaring::api::roaring_bitmap_lazy_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - container_lazy_ixor
    - roaring::api::is_cow
    - ra_set_container_at_index
    - ra_append_copy_range
    - container_lazy_xor
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_xor_inplace(roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23597
      start: 23586
    functionDepth: 0
    functionLinenumber: 23586
    functionLinenumberEnd: 23597
    functionName: roaring::api::roaring_bitmap_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 25
    functionsReached:
    - container_repair_after_lazy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_repair_after_lazy(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23610,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23621
      start: 23603
    functionDepth: 0
    functionLinenumber: 23603
    functionLinenumberEnd: 23621
    functionName: roaring::api::roaring_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_rank(const roaring_bitmap_t *bm, uint32_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23634,1
    - Dst: container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - bm
    - begin
    - end
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23648
      start: 23622
    functionDepth: 0
    functionLinenumber: 23622
    functionLinenumberEnd: 23648
    functionName: roaring::api::roaring_bitmap_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank_many
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_rank_many(const roaring_bitmap_t *bm, const uint32_t
      *begin,\n                              const uint32_t *end, uint64_t *ans)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23656,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23663,1
    - Dst: container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23676
      start: 23653
    functionDepth: 0
    functionLinenumber: 23653
    functionLinenumberEnd: 23676
    functionName: roaring::api::roaring_bitmap_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_index
    - container_get_cardinality
    - ra_get_index
    linkageType: ''
    returnType: int64_t
    signature: int64_t roaring_bitmap_get_index(const roaring_bitmap_t *bm, uint32_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23691
      start: 23682
    functionDepth: 0
    functionLinenumber: 23682
    functionLinenumberEnd: 23691
    functionName: roaring::api::roaring_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - container_minimum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_minimum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23709
      start: 23697
    functionDepth: 0
    functionLinenumber: 23697
    functionLinenumberEnd: 23709
    functionName: roaring::api::roaring_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - container_maximum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_maximum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bm
    - rank
    - element
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23733
      start: 23711
    functionDepth: 0
    functionLinenumber: 23711
    functionLinenumberEnd: 23733
    functionName: roaring::api::roaring_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_select
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_select(const roaring_bitmap_t *bm, uint32_t rank,\n
      \                          uint32_t *element)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23744,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23746,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23750,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23752,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23754,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23758,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23764
      start: 23735
    functionDepth: 0
    functionLinenumber: 23735
    functionLinenumberEnd: 23764
    functionName: roaring::api::roaring_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_intersect
    - ra_get_key_at_index
    - ra_advance_until
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect(const roaring_bitmap_t *x1,\n                              const
      roaring_bitmap_t *x2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23773,1
    - Dst: roaring::api::roaring_uint32_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - bm
    - x
    - y
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23783
      start: 23766
    functionDepth: 1
    functionLinenumber: 23766
    functionLinenumberEnd: 23783
    functionName: roaring::api::roaring_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init
    - roaring::api::roaring_uint32_iterator_move_equalorlarger
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect_with_range(const roaring_bitmap_t *bm,
      uint64_t x,\n                                         uint64_t y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23793,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23795,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23799,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23801,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23803,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23807,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23813
      start: 23785
    functionDepth: 0
    functionLinenumber: 23785
    functionLinenumberEnd: 23813
    functionName: roaring::api::roaring_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_and_cardinality
    - ra_get_container_at_index
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_and_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23817,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23818,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23821
      start: 23815
    functionDepth: 0
    functionLinenumber: 23815
    functionLinenumberEnd: 23821
    functionName: roaring::api::roaring_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring_bitmap_jaccard_index(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23825,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23826,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23829
      start: 23823
    functionDepth: 0
    functionLinenumber: 23823
    functionLinenumberEnd: 23829
    functionName: roaring::api::roaring_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_or_cardinality(const roaring_bitmap_t *x1,\n
      \                                      const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23833,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23836
      start: 23831
    functionDepth: 0
    functionLinenumber: 23831
    functionLinenumberEnd: 23836
    functionName: roaring::api::roaring_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_andnot_cardinality(const roaring_bitmap_t
      *x1,\n                                           const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23840,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23841,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23844
      start: 23838
    functionDepth: 0
    functionLinenumber: 23838
    functionLinenumberEnd: 23844
    functionName: roaring::api::roaring_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_xor_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23851,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23856,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23861
      start: 23846
    functionDepth: 0
    functionLinenumber: 23846
    functionLinenumberEnd: 23861
    functionName: roaring::api::roaring_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_get_index
    - container_contains
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains(const roaring_bitmap_t *r, uint32_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_contains_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23874
      start: 23867
    functionDepth: 1
    functionLinenumber: 23867
    functionLinenumberEnd: 23874
    functionName: roaring::api::roaring_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_contains_range_closed
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_range(const roaring_bitmap_t *r,\n                                   uint64_t
      range_start, uint64_t range_end)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23887,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23892,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23896,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23897,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23905,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23907,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23909,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23912,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23913,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23917,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23919,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23924
      start: 23880
    functionDepth: 0
    functionLinenumber: 23880
    functionLinenumberEnd: 23924
    functionName: roaring::api::roaring_bitmap_contains_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - ra_get_size
    - container_is_full
    - ra_get_index
    - ra_get_container_at_index
    - roaring::api::roaring_bitmap_contains
    - container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_range_closed(const roaring_bitmap_t *r,\n
      \                                         uint32_t range_start,\n                                          uint32_t
      range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23928,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23929,1
    - Dst: roaring::api::roaring_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23931
      start: 23926
    functionDepth: 0
    functionLinenumber: 23926
    functionLinenumberEnd: 23931
    functionName: roaring::api::roaring_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_strict_subset(const roaring_bitmap_t *r1,\n
      \                                    const roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23971,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - rb
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23988
      start: 23961
    functionDepth: 0
    functionLinenumber: 23961
    functionLinenumberEnd: 23988
    functionName: roaring::api::roaring_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_run
    - const_CAST_array
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_frozen_size_in_bytes(const roaring_bitmap_t *rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena
    - num_bytes
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23994
      start: 23990
    functionDepth: 0
    functionLinenumber: 23990
    functionLinenumberEnd: 23994
    functionName: roaring::api::arena_alloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *arena_alloc(char **arena, size_t num_bytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24015,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24021,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24030,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24031,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24032,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24033,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24034,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24035,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24036,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24043,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24044,1
    - Dst: bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24051,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24057,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24059,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24066,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24068,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24076,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24078,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24079,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24081,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - rb
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24082
      start: 23996
    functionDepth: 0
    functionLinenumber: 23996
    functionLinenumberEnd: 24082
    functionName: roaring::api::roaring_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - bitset_container_compute_cardinality
    - const_CAST_run
    - roaring::api::arena_alloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_frozen_serialize(const roaring_bitmap_t *rb, char
      *buf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24095,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24129,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24150,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24156,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24162,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24169,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24175,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24178,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24184,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24194,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24196,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24197,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24200,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24204,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: "(rb ==\n           (roaring_bitmap_t *)((char *)rb->high_low_container.containers
        -\n                                sizeof(roaring_bitmap_t)))"
      pos:
        line_end: 24170
        line_start: 24168
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 24210
      start: 24084
    functionDepth: 0
    functionLinenumber: 24084
    functionLinenumberEnd: 24210
    functionName: roaring::api::roaring_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring::api::arena_alloc
    - memcpy
    - UINT32_C
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_frozen_view(const char *buf,\n                                                   size_t
      length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24223,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24226,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24255,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24285,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24291,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24295,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24299,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24301,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24308,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24323,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24336,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24340,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24346,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24355,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24370
      start: 24212
    functionDepth: 0
    functionLinenumber: 24212
    functionLinenumberEnd: 24370
    functionName: roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - arena_alloc
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24373,1
    - Dst: bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24375,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24385,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24393,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24394,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24397,1
    - Dst: roaring::api::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24398,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24401,1
    - Dst: bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - r
    - bitset
    argTypes:
    - roaring_bitmap_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24412
      start: 24372
    functionDepth: 2
    functionLinenumber: 24372
    functionLinenumberEnd: 24412
    functionName: roaring::api::roaring_bitmap_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::api::bitset_set_list
    - const_CAST_bitset
    - const_CAST_run
    - bitset_set_lenrange
    - bitset_resize
    - container_unwrap_shared
    - memcpy
    - roaring::api::roaring_bitmap_maximum
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_to_bitset(const roaring_bitmap_t *r, bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21058
      start: 21056
    functionDepth: 0
    functionLinenumber: 21056
    functionLinenumberEnd: 21058
    functionName: roaring::api::is_cow
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cow(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21061
      start: 21059
    functionDepth: 0
    functionLinenumber: 21059
    functionLinenumberEnd: 21061
    functionName: roaring::api::is_frozen
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21075,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21077,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21078,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21080,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21083,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21084,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21091,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21093,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - r
    - val
    - type
    - index
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint8_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21099
      start: 21068
    functionDepth: 0
    functionLinenumber: 21068
    functionLinenumberEnd: 21099
    functionName: roaring::api::containerptr_roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *containerptr_roaring_bitmap_add(roaring_bitmap_t *r,\n
      \                                                          uint32_t val,\n                                                           uint8_t
      *type,\n                                                           int *index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21103,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21107,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cap
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21113
      start: 21101
    functionDepth: 0
    functionLinenumber: 21101
    functionLinenumberEnd: 21113
    functionName: roaring::api::roaring_bitmap_create_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 50
    functionsReached:
    - ra_init_with_capacity
    - roaring_free
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create_with_capacity(uint32_t cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - cap
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21117
      start: 21115
    functionDepth: 0
    functionLinenumber: 21115
    functionLinenumberEnd: 21117
    functionName: roaring::api::roaring_bitmap_init_with_capacity
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_init_with_capacity
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_init_with_capacity(roaring_bitmap_t *r, uint32_t
      cap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21127,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21136,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21140,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21147
      start: 21119
    functionDepth: 0
    functionLinenumber: 21119
    functionLinenumberEnd: 21147
    functionName: roaring::api::add_bulk_impl
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - roaring::api::containerptr_roaring_bitmap_add
    - container_add
    - ra_set_container_at_index
    - container_free
    linkageType: ''
    returnType: void
    signature: "void add_bulk_impl(roaring_bitmap_t *r,\n                                 roaring_bulk_context_t
      *context,\n                                 uint32_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::containerptr_roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21164,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21169,1
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21172
      start: 21149
    functionDepth: 0
    functionLinenumber: 21149
    functionLinenumberEnd: 21172
    functionName: roaring::api::roaring_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::api::add_bulk_impl
    - roaring::api::containerptr_roaring_bitmap_add
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_many(roaring_bitmap_t *r, size_t n_args,\n
      \                            const uint32_t *vals)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::add_bulk_impl
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21177
      start: 21174
    functionDepth: 0
    functionLinenumber: 21174
    functionLinenumberEnd: 21177
    functionName: roaring::api::roaring_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 17
    functionsReached:
    - roaring::api::add_bulk_impl
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_bulk(roaring_bitmap_t *r,\n                             roaring_bulk_context_t
      *context, uint32_t val)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21188,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21189,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21193,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21198,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring_bitmap_t*
    - roaring_bulk_context_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21208
      start: 21179
    functionDepth: 0
    functionLinenumber: 21179
    functionLinenumberEnd: 21208
    functionName: roaring::api::roaring_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - container_contains
    - ra_advance_until
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_bulk(const roaring_bitmap_t *r,\n                                  roaring_bulk_context_t
      *context,\n                                  uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21211,1
    - Dst: roaring::api::roaring_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21214
      start: 21210
    functionDepth: 0
    functionLinenumber: 21210
    functionLinenumberEnd: 21214
    functionName: roaring::api::roaring_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_many
    - roaring::api::roaring_bitmap_create
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of_ptr(size_t n_args, const uint32_t
      *vals)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21219,1
    - Dst: va_start
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21222,1
    - Dst: va_arg
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21224,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21225,1
    - Dst: va_end
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n_args
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21229
      start: 21216
    functionDepth: 0
    functionLinenumber: 21216
    functionLinenumberEnd: 21229
    functionName: roaring::api::roaring_bitmap_of
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - va_end
    - roaring::api::roaring_bitmap_add_bulk
    - va_arg
    - roaring::api::roaring_bitmap_create
    - va_start
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_of(size_t n_args, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21233
      start: 21231
    functionDepth: 0
    functionLinenumber: 21231
    functionLinenumberEnd: 21233
    functionName: roaring::api::minimum_uint64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum_uint64(uint64_t a, uint64_t b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21237,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21238,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21242,1
    - Dst: roaring::api::roaring_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21245,1
    - Dst: roaring::api::minimum_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21254,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21256,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21264
      start: 21235
    functionDepth: 0
    functionLinenumber: 21235
    functionLinenumberEnd: 21264
    functionName: roaring::api::roaring_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_append
    - roaring::api::roaring_bitmap_add
    - UINT64_C
    - roaring::api::roaring_bitmap_create
    - container_from_range
    - roaring::api::minimum_uint64
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                            uint32_t step)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_greater
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21279,1
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21281,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21285,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21299,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21301,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21304,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21308,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21315
      start: 21266
    functionDepth: 0
    functionLinenumber: 21266
    functionLinenumberEnd: 21315
    functionName: roaring::api::roaring_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - container_add_range
    - count_greater
    - count_less
    - container_from_range
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range_closed(roaring_bitmap_t *r, uint32_t
      min,\n                                     uint32_t max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_less
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21328,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21335,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21339,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21342,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21345,1
    - Dst: ra_shift_tail
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21354
      start: 21317
    functionDepth: 0
    functionLinenumber: 21317
    functionLinenumberEnd: 21354
    functionName: roaring::api::roaring_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_shift_tail
    - count_less
    - container_free
    - container_remove_range
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range_closed(roaring_bitmap_t *r, uint32_t
      min,\n                                        uint32_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21359,1
    - Dst: container_printf_as_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21361,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21365,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21369
      start: 21356
    functionDepth: 1
    functionLinenumber: 21356
    functionLinenumberEnd: 21369
    functionName: roaring::api::roaring_bitmap_printf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - printf
    - container_printf_as_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf(const roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21374,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21376,1
    - Dst: get_full_container_name
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21377,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21378,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21380,1
    - Dst: croaring_refcount_get
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21381,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21382,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21386,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21390
      start: 21371
    functionDepth: 1
    functionLinenumber: 21371
    functionLinenumberEnd: 21390
    functionName: roaring::api::roaring_bitmap_printf_describe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - croaring_refcount_get
    - container_get_cardinality
    - CAST_shared
    - printf
    - get_full_container_name
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_printf_describe(const roaring_bitmap_t *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21400,1
    - Dst: roaring::api::roaring_bitmap_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21402,1
    - Dst: roaring::api::roaring_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21403,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21407,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21409,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21411,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring_bitmap_t*
    - roaring_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 21429
        line_start: 21429
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 21434
      start: 21396
    functionDepth: 0
    functionLinenumber: 21396
    functionLinenumberEnd: 21434
    functionName: roaring::api::roaring_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_maximum
    - container_get_cardinality
    - assert
    - roaring::api::roaring_bitmap_minimum
    - container_size_in_bytes
    - memset
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_statistics(const roaring_bitmap_t *r,\n                               roaring_statistics_t
      *stat)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: container_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21496,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - r
    - reason
    argTypes:
    - roaring_bitmap_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21507
      start: 21444
    functionDepth: 0
    functionLinenumber: 21444
    functionLinenumberEnd: 21507
    functionName: roaring::api::roaring_bitmap_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_internal_validate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_internal_validate(const roaring_bitmap_t *r,\n
      \                                     const char **reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21511,1
    - Dst: ra_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21515,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21517,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21520,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21521,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21522,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21525,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21527
      start: 21509
    functionDepth: 0
    functionLinenumber: 21509
    functionLinenumberEnd: 21527
    functionName: roaring::api::roaring_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 74
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_free
    - roaring_free
    - roaring_malloc
    - ra_init_with_capacity
    - ra_overwrite
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_copy(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21531,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21531,1
    - Dst: ra_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21532,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21534
      start: 21529
    functionDepth: 0
    functionLinenumber: 21529
    functionLinenumberEnd: 21534
    functionName: roaring::api::roaring_bitmap_overwrite
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 28
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_overwrite
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_overwrite(roaring_bitmap_t *dest,\n                              const
      roaring_bitmap_t *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_frozen
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21540,1
    - Dst: ra_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21541,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21544
      start: 21536
    functionDepth: 0
    functionLinenumber: 21536
    functionLinenumberEnd: 21544
    functionName: roaring::api::roaring_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::api::is_frozen
    - ra_clear
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_reset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21548
      start: 21546
    functionDepth: 0
    functionLinenumber: 21546
    functionLinenumberEnd: 21548
    functionName: roaring::api::roaring_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_reset
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_clear(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21554,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21557,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21559,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21562,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21564,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21565,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21569,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21571,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21576
      start: 21550
    functionDepth: 0
    functionLinenumber: 21550
    functionLinenumberEnd: 21576
    functionName: roaring::api::roaring_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_add(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21580,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21584,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21585,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21589,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21593,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21595,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21596,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21601,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21606,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21608,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21616
      start: 21578
    functionDepth: 0
    functionLinenumber: 21578
    functionLinenumberEnd: 21616
    functionName: roaring::api::roaring_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_set_container_at_index
    - container_add
    - container_free
    - ra_insert_new_key_value_at
    - array_container_create
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_add_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21620,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21623,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21624,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21628,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21630,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21631,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21634,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21635,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21641
      start: 21618
    functionDepth: 0
    functionLinenumber: 21618
    functionLinenumberEnd: 21641
    functionName: roaring::api::roaring_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_remove(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21645,1
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21649,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21650,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21654,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21658,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21660,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21661,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21666,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21669,1
    - Dst: ra_remove_at_index_and_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21678
      start: 21643
    functionDepth: 0
    functionLinenumber: 21643
    functionLinenumberEnd: 21678
    functionName: roaring::api::roaring_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_index
    - container_remove
    - ra_get_container_at_index
    - container_get_cardinality
    - ra_remove_at_index_and_free
    - ra_set_container_at_index
    - container_free
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_checked(roaring_bitmap_t *r, uint32_t val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21690,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21695,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21699,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21701,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21705,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21706,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21712
      start: 21680
    functionDepth: 0
    functionLinenumber: 21680
    functionLinenumberEnd: 21712
    functionName: roaring::api::roaring_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_index
    - container_remove
    - ra_remove_at_index
    - container_nonzero_cardinality
    - container_free
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_many(roaring_bitmap_t *r, size_t n_args,\n
      \                               const uint32_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21721,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21722,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21728,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21730,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21734,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21736,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21738,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21740,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21741,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21743,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21748,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21750,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21754
      start: 21715
    functionDepth: 0
    functionLinenumber: 21715
    functionLinenumberEnd: 21754
    functionName: roaring::api::roaring_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_and
    - ra_advance_until
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_and(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21762,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21765,1
    - Dst: roaring::api::roaring_bitmap_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21768,1
    - Dst: roaring::api::roaring_bitmap_lazy_or_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21770,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21774
      start: 21759
    functionDepth: 0
    functionLinenumber: 21759
    functionLinenumberEnd: 21774
    functionName: roaring::api::roaring_bitmap_or_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_lazy_or
    - roaring::api::roaring_bitmap_lazy_or_inplace
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or_many(size_t number,\n                                         const
      roaring_bitmap_t **x)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21782,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21785,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21787,1
    - Dst: roaring::api::roaring_bitmap_lazy_xor_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21789,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - x
    argTypes:
    - size_t
    - roaring_bitmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21793
      start: 21779
    functionDepth: 0
    functionLinenumber: 21779
    functionLinenumberEnd: 21793
    functionName: roaring::api::roaring_bitmap_xor_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_lazy_xor_inplace
    - roaring::api::roaring_bitmap_lazy_xor
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_copy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor_many(size_t number,\n                                          const
      roaring_bitmap_t **x)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21800,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21801,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21807,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21809,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21813,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21815,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21825,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21826,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21830,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21832,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21833,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21838,1
    - Dst: ra_advance_until_freeing
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21843,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21845,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21852,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21858,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21859
      start: 21796
    functionDepth: 0
    functionLinenumber: 21796
    functionLinenumberEnd: 21859
    functionName: roaring::api::roaring_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_size
    - ra_get_key_at_index
    - ra_advance_until_freeing
    - ra_get_container_at_index
    - container_and
    - ra_advance_until
    - ra_downsize
    - container_nonzero_cardinality
    - container_free
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_and_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21867,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21870,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21873,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21874,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21877,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21878,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21881,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21883,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21885,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21890,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21895,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21896,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21899,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21902,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21902,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21903,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21904,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21907,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21910,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21913,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21916,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21916,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21917,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21918,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21921,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21924,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21928,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21930,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21932,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21934,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21937
      start: 21861
    functionDepth: 0
    functionLinenumber: 21861
    functionLinenumberEnd: 21937
    functionName: roaring::api::roaring_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_or
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_or(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21949,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21954,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21955,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21958,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21960,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21961,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21965,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21966,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21970,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21972,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21979,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21980,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21985,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21988,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21990,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21990,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21991,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21992,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:21997,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22003,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22007,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22008,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22010
      start: 21940
    functionDepth: 0
    functionLinenumber: 21940
    functionLinenumberEnd: 22010
    functionName: roaring::api::roaring_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_ior
    - container_or
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_or_inplace(roaring_bitmap_t *x1,\n                               const
      roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22018,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22021,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22024,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22025,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22028,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22029,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22032,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22034,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22036,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22038,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22039,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22041,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22047,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22048,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22051,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22053,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22053,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22054,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22055,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22058,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22061,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22064,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22066,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22066,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22067,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22068,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22071,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22074,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22078,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22080,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22082,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22084,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22087
      start: 22012
    functionDepth: 0
    functionLinenumber: 22012
    functionLinenumberEnd: 22087
    functionName: roaring::api::roaring_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_xor(const roaring_bitmap_t *x1,\n
      \                                    const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22093,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22101,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22110,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22111,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22114,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22116,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22127,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22128,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22128,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22130,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22133,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22134,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22138,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22139,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22146,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22147,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22152,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22155,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22157,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22157,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22158,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22159,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22163,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22169,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22173,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22174,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 22092
        line_start: 22092
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22176
      start: 22091
    functionDepth: 0
    functionLinenumber: 22091
    functionLinenumberEnd: 22176
    functionName: roaring::api::roaring_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - container_xor
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - roaring::api::is_cow
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_ixor
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_xor_inplace(roaring_bitmap_t *x1,\n                                const
      roaring_bitmap_t *x2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22184,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22185,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22186,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22186,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22190,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22192,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22193,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22200,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22201,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22204,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22206,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22209,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22211,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22212,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22214,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22222,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22223,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22225,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22231,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22236,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22241
      start: 22178
    functionDepth: 0
    functionLinenumber: 22178
    functionLinenumberEnd: 22241
    functionName: roaring::api::roaring_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - container_andnot
    - ra_advance_until
    - roaring::api::roaring_bitmap_create
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_andnot(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22247,1
    - Dst: roaring::api::roaring_bitmap_clear
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22257,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22263,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22264,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22267,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22269,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22280,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22281,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22281,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22283,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22286,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22287,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22291,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22298,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22299,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22303,1
    - Dst: ra_replace_key_and_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22306,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22312,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22315,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22317,1
    - Dst: ra_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22330,1
    - Dst: ra_downsize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22336,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 22246
        line_start: 22246
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22337
      start: 22245
    functionDepth: 0
    functionLinenumber: 22245
    functionLinenumberEnd: 22337
    functionName: roaring::api::roaring_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_replace_key_and_container_at_index
    - ra_get_key_at_index
    - container_iandnot
    - ra_get_container_at_index
    - assert
    - CAST_shared
    - container_andnot
    - ra_advance_until
    - ra_copy_range
    - ra_downsize
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_clear
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_andnot_inplace(roaring_bitmap_t *x1,\n                                   const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22346
      start: 22339
    functionDepth: 0
    functionLinenumber: 22339
    functionLinenumberEnd: 22346
    functionName: roaring::api::roaring_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 53
    functionsReached:
    - container_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_get_cardinality(const roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_range_cardinality_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22356
      start: 22348
    functionDepth: 1
    functionLinenumber: 22348
    functionLinenumberEnd: 22356
    functionName: roaring::api::roaring_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_range_cardinality_closed
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality(const roaring_bitmap_t *r,\n
      \                                         uint64_t range_start,\n                                          uint64_t
      range_end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22374,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22377,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22381,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22384,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22396,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22407
      start: 22358
    functionDepth: 0
    functionLinenumber: 22358
    functionLinenumberEnd: 22407
    functionName: roaring::api::roaring_bitmap_range_cardinality_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - container_get_cardinality
    - ra_get_index
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_range_cardinality_closed(const roaring_bitmap_t
      *r,\n                                                 uint32_t range_start,\n
      \                                                uint32_t range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22411
      start: 22409
    functionDepth: 0
    functionLinenumber: 22409
    functionLinenumberEnd: 22411
    functionName: roaring::api::roaring_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_is_empty(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22415
      start: 22413
    functionDepth: 0
    functionLinenumber: 22413
    functionLinenumberEnd: 22415
    functionName: roaring::api::roaring_bitmap_to_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_to_uint32_array
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_to_uint32_array(const roaring_bitmap_t *r, uint32_t
      *ans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_range_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - offset
    - limit
    - ans
    argTypes:
    - roaring_bitmap_t*
    - size_t
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22420
      start: 22417
    functionDepth: 0
    functionLinenumber: 22417
    functionLinenumberEnd: 22420
    functionName: roaring::api::roaring_bitmap_range_uint32_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_range_uint32_array
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_range_uint32_array(const roaring_bitmap_t *r,
      size_t offset,\n                                       size_t limit, uint32_t
      *ans)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_unshare_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22431,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22434,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22436,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22443
      start: 22427
    functionDepth: 0
    functionLinenumber: 22427
    functionLinenumberEnd: 22443
    functionName: roaring::api::roaring_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_container_at_index
    - convert_run_optimize
    - ra_set_container_at_index
    - ra_unshare_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_run_optimize(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22449,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22451,1
    - Dst: ra_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22455
      start: 22445
    functionDepth: 0
    functionLinenumber: 22445
    functionLinenumberEnd: 22455
    functionName: roaring::api::roaring_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_shrink_to_fit
    - container_shrink_to_fit
    - ra_get_container_at_index
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_shrink_to_fit(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22465,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22467,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22470,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22470,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22471,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22472,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22474,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22474,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22475,1
    - Dst: run_container_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22479,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22479,1
    - Dst: convert_to_bitset_or_array_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22480,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22481,1
    - Dst: run_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22482,1
    - Dst: CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22489
      start: 22461
    functionDepth: 0
    functionLinenumber: 22461
    functionLinenumberEnd: 22489
    functionName: roaring::api::roaring_bitmap_remove_run_compression
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - run_container_cardinality
    - ra_get_container_at_index
    - CAST_shared
    - ra_set_container_at_index
    - run_container_free
    - shared_container_free
    - convert_to_bitset_or_array_container
    - CAST_run
    - get_container_type
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_remove_run_compression(roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22492,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22493,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22497,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22500,1
    - Dst: roaring::api::roaring_bitmap_to_uint32_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22505
      start: 22491
    functionDepth: 0
    functionLinenumber: 22491
    functionLinenumberEnd: 22505
    functionName: roaring::api::roaring_bitmap_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_to_uint32_array
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_serialize
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_serialize(const roaring_bitmap_t *r, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22508,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22513
      start: 22507
    functionDepth: 0
    functionLinenumber: 22507
    functionLinenumberEnd: 22513
    functionName: roaring::api::roaring_bitmap_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_size_in_bytes(const roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22517
      start: 22515
    functionDepth: 0
    functionLinenumber: 22515
    functionLinenumberEnd: 22517
    functionName: roaring::api::roaring_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 32
    functionsReached:
    - ra_portable_size_in_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_size_in_bytes(const roaring_bitmap_t
      *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22522,1
    - Dst: ra_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22527,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22530,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22533,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22539
      start: 22519
    functionDepth: 0
    functionLinenumber: 22519
    functionLinenumberEnd: 22539
    functionName: roaring::api::roaring_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring_free
    - ra_portable_deserialize
    - roaring::api::roaring_bitmap_set_copy_on_write
    - roaring_malloc
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_portable_deserialize_safe(const char
      *buf,\n                                                           size_t maxbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22543
      start: 22541
    functionDepth: 0
    functionLinenumber: 22541
    functionLinenumberEnd: 22543
    functionName: roaring::api::roaring_bitmap_portable_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_portable_deserialize(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22548
      start: 22545
    functionDepth: 0
    functionLinenumber: 22545
    functionLinenumberEnd: 22548
    functionName: roaring::api::roaring_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_portable_deserialize_size
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring_bitmap_portable_deserialize_size(const char *buf,\n
      \                                               size_t maxbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22552
      start: 22550
    functionDepth: 0
    functionLinenumber: 22550
    functionLinenumberEnd: 22552
    functionName: roaring::api::roaring_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ra_portable_serialize
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_portable_serialize(const roaring_bitmap_t *r,
      char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22560,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22565,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22573,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22574,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22582
      start: 22554
    functionDepth: 0
    functionLinenumber: 22554
    functionLinenumberEnd: 22582
    functionName: roaring::api::roaring_bitmap_deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_add_bulk
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_deserialize(const void *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22598,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22608,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22616,1
    - Dst: roaring::api::roaring_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22617,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22626
      start: 22584
    functionDepth: 0
    functionLinenumber: 22584
    functionLinenumberEnd: 22626
    functionName: roaring::api::roaring_bitmap_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    - roaring::api::roaring_bitmap_create
    - roaring::api::roaring_bitmap_add_bulk
    - memcpy
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_deserialize_safe(const void *buf,\n
      \                                                 size_t maxbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22638
      start: 22628
    functionDepth: 0
    functionLinenumber: 22628
    functionLinenumberEnd: 22638
    functionName: roaring::api::roaring_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - container_iterate
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate(const roaring_bitmap_t *r, roaring_iterator iterator,\n
      \                    void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - r
    - iterator
    - high_bits
    - ptr
    argTypes:
    - roaring_bitmap_t*
    - roaring_iterator64
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22651
      start: 22640
    functionDepth: 0
    functionLinenumber: 22640
    functionLinenumberEnd: 22651
    functionName: roaring::api::roaring_iterate64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_iterate64
    linkageType: ''
    returnType: bool
    signature: "bool roaring_iterate64(const roaring_bitmap_t *r, roaring_iterator64
      iterator,\n                       uint64_t high_bits, void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22686
      start: 22662
    functionDepth: 0
    functionLinenumber: 22662
    functionLinenumberEnd: 22686
    functionName: roaring::api::iter_new_container_partial_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 21
    functionsReached:
    - container_unwrap_shared
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED iter_new_container_partial_init(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22694,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22701
      start: 22692
    functionDepth: 0
    functionLinenumber: 22692
    functionLinenumberEnd: 22701
    functionName: roaring::api::loadfirstvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 28
    functionsReached:
    - container_init_iterator
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadfirstvalue(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22709,1
    - Dst: container_init_iterator_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - newit
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22716
      start: 22707
    functionDepth: 0
    functionLinenumber: 22707
    functionLinenumberEnd: 22716
    functionName: roaring::api::loadlastvalue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 14
    functionsReached:
    - container_init_iterator_last
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadlastvalue(\n    roaring_uint32_iterator_t
      *newit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::iter_new_container_partial_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22725,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22726,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22732,1
    - Dst: container_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22733,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - newit
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts:
    - condition: (found)
      pos:
        line_end: 22735
        line_start: 22735
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (partial_init)
      pos:
        line_end: 22725
        line_start: 22725
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22742
      start: 22723
    functionDepth: 0
    functionLinenumber: 22723
    functionLinenumberEnd: 22742
    functionName: roaring::api::loadfirstvalue_largeorequal
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - assert
    - container_iterator_lower_bound
    - container_init_iterator
    - roaring::api::iter_new_container_partial_init
    linkageType: ''
    returnType: CROARING_WARN_UNUSED
    signature: "CROARING_WARN_UNUSED loadfirstvalue_largeorequal(\n    roaring_uint32_iterator_t
      *newit, uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22749
      start: 22744
    functionDepth: 0
    functionLinenumber: 22744
    functionLinenumberEnd: 22749
    functionName: roaring::api::roaring_iterator_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::api::loadfirstvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_iterator_init(const roaring_bitmap_t *r,\n                           roaring_uint32_iterator_t
      *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22756
      start: 22751
    functionDepth: 0
    functionLinenumber: 22751
    functionLinenumberEnd: 22756
    functionName: roaring::api::roaring_iterator_init_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    linkageType: ''
    returnType: void
    signature: "void roaring_iterator_init_last(const roaring_bitmap_t *r,\n                                roaring_uint32_iterator_t
      *newit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22760,1
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22765
      start: 22758
    functionDepth: 1
    functionLinenumber: 22758
    functionLinenumberEnd: 22765
    functionName: roaring::api::roaring_iterator_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: roaring_uint32_iterator_t *roaring_iterator_create(const roaring_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22770,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22774
      start: 22767
    functionDepth: 0
    functionLinenumber: 22767
    functionLinenumberEnd: 22774
    functionName: roaring::api::roaring_uint32_iterator_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring_uint32_iterator_t
    signature: "roaring_uint32_iterator_t *roaring_uint32_iterator_copy(\n    const
      roaring_uint32_iterator_t *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22779,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22782,1
    - Dst: roaring::api::loadfirstvalue_largeorequal
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22791,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22800
      start: 22776
    functionDepth: 0
    functionLinenumber: 22776
    functionLinenumberEnd: 22800
    functionName: roaring::api::roaring_uint32_iterator_move_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - container_maximum
    - ra_get_index
    - roaring::api::loadfirstvalue
    - roaring::api::loadfirstvalue_largeorequal
    linkageType: ''
    returnType: bool
    signature: "bool roaring_uint32_iterator_move_equalorlarger(roaring_uint32_iterator_t
      *it,\n                                                uint32_t val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22808,1
    - Dst: container_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22811,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22818
      start: 22802
    functionDepth: 0
    functionLinenumber: 22802
    functionLinenumberEnd: 22818
    functionName: roaring::api::roaring_uint32_iterator_advance
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadfirstvalue
    - container_iterator_next
    linkageType: ''
    returnType: bool
    signature: bool roaring_uint32_iterator_advance(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22826,1
    - Dst: container_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22829,1
    - Dst: roaring::api::loadlastvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22836
      start: 22820
    functionDepth: 0
    functionLinenumber: 22820
    functionLinenumberEnd: 22836
    functionName: roaring::api::roaring_uint32_iterator_previous
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::loadlastvalue
    - container_iterator_prev
    linkageType: ''
    returnType: bool
    signature: bool roaring_uint32_iterator_previous(roaring_uint32_iterator_t *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_iterator_read_into_uint32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22844,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22852,1
    - Dst: roaring::api::loadfirstvalue
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts:
    - condition: (ret == count)
      pos:
        line_end: 22851
        line_start: 22851
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 22859
      start: 22838
    functionDepth: 0
    functionLinenumber: 22838
    functionLinenumberEnd: 22859
    functionName: roaring::api::roaring_uint32_iterator_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring::api::loadfirstvalue
    - container_iterator_read_into_uint32
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t roaring_uint32_iterator_read(roaring_uint32_iterator_t *it,\n
      \                                     uint32_t *buf, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22863
      start: 22861
    functionDepth: 0
    functionLinenumber: 22861
    functionLinenumberEnd: 22863
    functionName: roaring::api::roaring_uint32_iterator_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_uint32_iterator_free(roaring_uint32_iterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22890
      start: 22869
    functionDepth: 0
    functionLinenumber: 22869
    functionLinenumberEnd: 22890
    functionName: roaring::api::roaring_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_equals
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_equals(const roaring_bitmap_t *r1,\n                           const
      roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22902,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22903,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22908,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22910,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22911,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22917,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22924
      start: 22892
    functionDepth: 0
    functionLinenumber: 22892
    functionLinenumberEnd: 22924
    functionName: roaring::api::roaring_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_is_subset
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_subset(const roaring_bitmap_t *r1,\n                              const
      roaring_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22929,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22930,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22935,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22937,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22940,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22941,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22944,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22947,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ans_arr
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22952
      start: 22926
    functionDepth: 0
    functionLinenumber: 22926
    functionLinenumberEnd: 22952
    functionName: roaring::api::insert_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - container_not_range
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_flipped_container(roaring_array_t *ans_arr,\n                                     const
      roaring_array_t *x1_arr, uint16_t hb,\n                                     uint16_t
      lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22956,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22961,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22962,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22966,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22967,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22969,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22970,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22974,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - x1_arr
    - hb
    - lb_start
    - lb_end
    argTypes:
    - roaring_array_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22979
      start: 22954
    functionDepth: 0
    functionLinenumber: 22954
    functionLinenumberEnd: 22979
    functionName: roaring::api::inplace_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - ra_set_container_at_index
    - container_inot_range
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void inplace_flip_container(roaring_array_t *x1_arr, uint16_t hb,\n
      \                                  uint16_t lb_start, uint16_t lb_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22984,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22985,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22990,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22992,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22993,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22994,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:22997,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23000,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ans_arr
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23004
      start: 22981
    functionDepth: 0
    functionLinenumber: 22981
    functionLinenumberEnd: 23004
    functionName: roaring::api::insert_fully_flipped_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_get_index
    - container_not
    - container_range_of_ones
    - ra_get_container_at_index
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: "void insert_fully_flipped_container(roaring_array_t *ans_arr,\n                                           const
      roaring_array_t *x1_arr,\n                                           uint16_t
      hb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23007,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23012,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23014,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23016,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23017,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23019,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23020,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23024,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - x1_arr
    - hb
    argTypes:
    - roaring_array_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23028
      start: 23006
    functionDepth: 0
    functionLinenumber: 23006
    functionLinenumberEnd: 23028
    functionName: roaring::api::inplace_fully_flip_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_get_index
    - container_range_of_ones
    - ra_get_container_at_index
    - ra_remove_at_index
    - ra_set_container_at_index
    - container_inot
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    linkageType: ''
    returnType: void
    signature: void inplace_fully_flip_container(roaring_array_t *x1_arr, uint16_t
      hb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23034,1
    - Dst: roaring::api::roaring_bitmap_flip_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23038
      start: 23030
    functionDepth: 1
    functionLinenumber: 23030
    functionLinenumberEnd: 23038
    functionName: roaring::api::roaring_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_flip_closed
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip(const roaring_bitmap_t *x1,\n
      \                                     uint64_t range_start,\n                                      uint64_t
      range_end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23044,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23047,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23048,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23048,1
    - Dst: ra_append_copies_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23055,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23056,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23058,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23065,1
    - Dst: roaring::api::insert_fully_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23074,1
    - Dst: roaring::api::insert_flipped_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23081,1
    - Dst: ra_append_copies_after
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23087,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23090
      start: 23040
    functionDepth: 0
    functionLinenumber: 23040
    functionLinenumberEnd: 23090
    functionName: roaring::api::roaring_bitmap_flip_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::is_cow
    - roaring::api::insert_flipped_container
    - roaring::api::roaring_bitmap_create
    - ra_append_copies_until
    - roaring::api::roaring_bitmap_copy
    - roaring::api::insert_fully_flipped_container
    - roaring::api::roaring_bitmap_set_copy_on_write
    - ra_append_copies_after
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_flip_closed(const roaring_bitmap_t
      *x1,\n                                             uint32_t range_start,\n                                             uint32_t
      range_end)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_flip_inplace_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23099
      start: 23092
    functionDepth: 1
    functionLinenumber: 23092
    functionLinenumberEnd: 23099
    functionName: roaring::api::roaring_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_flip_inplace_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace(roaring_bitmap_t *x1, uint64_t range_start,\n
      \                                uint64_t range_end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23114,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23120,1
    - Dst: roaring::api::inplace_fully_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23128,1
    - Dst: roaring::api::inplace_flip_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - x1
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23137
      start: 23101
    functionDepth: 0
    functionLinenumber: 23101
    functionLinenumberEnd: 23137
    functionName: roaring::api::roaring_bitmap_flip_inplace_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::inplace_flip_container
    - roaring::api::inplace_fully_flip_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_flip_inplace_closed(roaring_bitmap_t *x1,\n                                        uint32_t
      range_start,\n                                        uint32_t range_end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23141,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23142,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23144,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23154,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23155,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23157,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23162,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ra
    - k
    - c
    - t
    argTypes:
    - roaring_array_t*
    - int
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23165
      start: 23139
    functionDepth: 0
    functionLinenumber: 23139
    functionLinenumberEnd: 23165
    functionName: roaring::api::offset_append_with_merge
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_append
    - ra_set_container_at_index
    - container_ior
    - container_free
    linkageType: ''
    returnType: void
    signature: "void offset_append_with_merge(roaring_array_t *ra, int k, container_t
      *c,\n                                     uint8_t t)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23183,1
    - Dst: roaring::api::roaring_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23189,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23190,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23191,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23199,1
    - Dst: ra_append_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23205,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23220,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23230,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23231,1
    - Dst: container_add_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23233,1
    - Dst: roaring::api::offset_append_with_merge
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23235,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23238,1
    - Dst: roaring::api::roaring_bitmap_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23246,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - bm
    - offset
    argTypes:
    - roaring_bitmap_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23248
      start: 23172
    functionDepth: 0
    functionLinenumber: 23172
    functionLinenumberEnd: 23248
    functionName: roaring::api::roaring_bitmap_add_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - roaring::api::offset_append_with_merge
    - roaring::api::roaring_bitmap_repair_after_lazy
    - roaring::api::roaring_bitmap_create
    - container_add_offset
    - roaring::api::roaring_bitmap_copy
    - container_unwrap_shared
    - ra_append_copy
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_add_offset(const roaring_bitmap_t
      *bm,\n                                            int64_t offset)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23257,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23260,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23263,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23264,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23267,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23268,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23271,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23273,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23277,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23278,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23280,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23281,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23283,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23285,1
    - Dst: container_lazy_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23288,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23294,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23299,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23300,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23303,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23305,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23305,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23306,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23307,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23310,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23313,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23316,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23318,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23318,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23319,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23320,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23323,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23326,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23330,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23332,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23334,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23336,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23339
      start: 23250
    functionDepth: 0
    functionLinenumber: 23250
    functionLinenumberEnd: 23339
    functionName: roaring::api::roaring_bitmap_lazy_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_ior
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    - container_mutable_unwrap_shared
    - container_lazy_or
    - get_container_type
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_or(const roaring_bitmap_t *x1,\n
      \                                        const roaring_bitmap_t *x2,\n                                         const
      bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23351,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23356,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23357,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23360,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23362,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23364,1
    - Dst: get_writable_copy_if_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23365,1
    - Dst: container_mutable_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23370,1
    - Dst: container_to_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23371,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23372,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23376,1
    - Dst: container_lazy_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23379,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23383,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23386,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23393,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23394,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23399,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23402,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23405,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23405,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23406,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23407,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23410,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23416,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23420,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23421,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - x1
    - x2
    - bitsetconversion
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23423
      start: 23341
    functionDepth: 0
    functionLinenumber: 23341
    functionLinenumberEnd: 23423
    functionName: roaring::api::roaring_bitmap_lazy_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - ra_get_key_at_index
    - container_is_full
    - ra_get_container_at_index
    - roaring::api::is_cow
    - get_writable_copy_if_shared
    - container_to_bitset
    - ra_append_copy_range
    - ra_set_container_at_index
    - roaring::api::roaring_bitmap_overwrite
    - container_lazy_ior
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    - container_mutable_unwrap_shared
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_or_inplace(roaring_bitmap_t *x1,\n                                    const
      roaring_bitmap_t *x2,\n                                    const bool bitsetconversion)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23431,1
    - Dst: roaring::api::roaring_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23434,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23437,1
    - Dst: roaring::api::roaring_bitmap_set_copy_on_write
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23438,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23441,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23442,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23445,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23447,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23450,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23452,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23453,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23455,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23462,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23463,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23466,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23468,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23468,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23469,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23470,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23473,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23476,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23479,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23481,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23481,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23482,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23483,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23486,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23489,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23493,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23495,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23497,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23499,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23502
      start: 23425
    functionDepth: 0
    functionLinenumber: 23425
    functionLinenumberEnd: 23502
    functionName: roaring::api::roaring_bitmap_lazy_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ra_get_key_at_index
    - get_copy_of_container
    - ra_get_container_at_index
    - roaring::api::is_cow
    - ra_append
    - ra_append_copy_range
    - ra_set_container_at_index
    - container_lazy_xor
    - container_nonzero_cardinality
    - container_free
    - roaring::api::roaring_bitmap_copy
    - roaring::api::roaring_bitmap_create_with_capacity
    - roaring::api::roaring_bitmap_set_copy_on_write
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_lazy_xor(const roaring_bitmap_t *x1,\n
      \                                         const roaring_bitmap_t *x2)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23506,1
    - Dst: roaring::api::roaring_bitmap_overwrite
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23514,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23519,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23520,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23523,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23525,1
    - Dst: container_lazy_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23536,1
    - Dst: shared_container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23537,1
    - Dst: CAST_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23537,1
    - Dst: container_lazy_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23539,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23542,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23543,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23547,1
    - Dst: ra_remove_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23548,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23554,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23555,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23560,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23563,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23566,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23566,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23567,1
    - Dst: ra_set_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23568,1
    - Dst: ra_insert_new_key_value_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23571,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23577,1
    - Dst: ra_append_copy_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23581,1
    - Dst: roaring::api::is_cow
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23582,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts:
    - condition: (x1 != x2)
      pos:
        line_end: 23505
        line_start: 23505
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 23584
      start: 23504
    functionDepth: 0
    functionLinenumber: 23504
    functionLinenumberEnd: 23584
    functionName: roaring::api::roaring_bitmap_lazy_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - ra_get_key_at_index
    - ra_get_container_at_index
    - ra_remove_at_index
    - assert
    - CAST_shared
    - container_lazy_ixor
    - roaring::api::is_cow
    - ra_set_container_at_index
    - ra_append_copy_range
    - container_lazy_xor
    - roaring::api::roaring_bitmap_overwrite
    - shared_container_free
    - container_nonzero_cardinality
    - container_free
    - ra_insert_new_key_value_at
    - get_copy_of_container
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_lazy_xor_inplace(roaring_bitmap_t *x1,\n                                     const
      roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_repair_after_lazy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23597
      start: 23586
    functionDepth: 0
    functionLinenumber: 23586
    functionLinenumberEnd: 23597
    functionName: roaring::api::roaring_bitmap_repair_after_lazy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 28
    functionsReached:
    - container_repair_after_lazy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_repair_after_lazy(roaring_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23610,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23621
      start: 23603
    functionDepth: 0
    functionLinenumber: 23603
    functionLinenumberEnd: 23621
    functionName: roaring::api::roaring_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring_bitmap_rank(const roaring_bitmap_t *bm, uint32_t x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23634,1
    - Dst: container_rank_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - bm
    - begin
    - end
    - ans
    argTypes:
    - roaring_bitmap_t*
    - uint32_t*
    - uint32_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23648
      start: 23622
    functionDepth: 0
    functionLinenumber: 23622
    functionLinenumberEnd: 23648
    functionName: roaring::api::roaring_bitmap_rank_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_cardinality
    - container_rank_many
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_rank_many(const roaring_bitmap_t *bm, const uint32_t
      *begin,\n                              const uint32_t *end, uint64_t *ans)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23656,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23663,1
    - Dst: container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - bm
    - x
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23676
      start: 23653
    functionDepth: 0
    functionLinenumber: 23653
    functionLinenumberEnd: 23676
    functionName: roaring::api::roaring_bitmap_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_index
    - container_get_cardinality
    - ra_get_index
    linkageType: ''
    returnType: int64_t
    signature: int64_t roaring_bitmap_get_index(const roaring_bitmap_t *bm, uint32_t
      x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23691
      start: 23682
    functionDepth: 0
    functionLinenumber: 23682
    functionLinenumberEnd: 23691
    functionName: roaring::api::roaring_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - container_minimum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_minimum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bm
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23709
      start: 23697
    functionDepth: 0
    functionLinenumber: 23697
    functionLinenumberEnd: 23709
    functionName: roaring::api::roaring_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - container_maximum
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t roaring_bitmap_maximum(const roaring_bitmap_t *bm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bm
    - rank
    - element
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23733
      start: 23711
    functionDepth: 0
    functionLinenumber: 23711
    functionLinenumberEnd: 23733
    functionName: roaring::api::roaring_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_select
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_select(const roaring_bitmap_t *bm, uint32_t rank,\n
      \                          uint32_t *element)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23744,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23746,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23750,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23752,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23754,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23758,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23760,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23764
      start: 23735
    functionDepth: 0
    functionLinenumber: 23735
    functionLinenumberEnd: 23764
    functionName: roaring::api::roaring_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_intersect
    - ra_get_key_at_index
    - ra_advance_until
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect(const roaring_bitmap_t *x1,\n                              const
      roaring_bitmap_t *x2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23773,1
    - Dst: roaring::api::roaring_uint32_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - bm
    - x
    - y
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23783
      start: 23766
    functionDepth: 1
    functionLinenumber: 23766
    functionLinenumberEnd: 23783
    functionName: roaring::api::roaring_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init
    - roaring::api::roaring_uint32_iterator_move_equalorlarger
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_intersect_with_range(const roaring_bitmap_t *bm,
      uint64_t x,\n                                         uint64_t y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23793,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23795,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23799,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23801,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23803,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23807,1
    - Dst: ra_advance_until
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23813
      start: 23785
    functionDepth: 0
    functionLinenumber: 23785
    functionLinenumberEnd: 23813
    functionName: roaring::api::roaring_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 28
    functionsReached:
    - ra_advance_until
    - ra_get_key_at_index
    - container_and_cardinality
    - ra_get_container_at_index
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_and_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23817,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23818,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23821
      start: 23815
    functionDepth: 0
    functionLinenumber: 23815
    functionLinenumberEnd: 23821
    functionName: roaring::api::roaring_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring_bitmap_jaccard_index(const roaring_bitmap_t *x1,\n
      \                                   const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23825,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23826,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23829
      start: 23823
    functionDepth: 0
    functionLinenumber: 23823
    functionLinenumberEnd: 23829
    functionName: roaring::api::roaring_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_or_cardinality(const roaring_bitmap_t *x1,\n
      \                                      const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23833,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23836
      start: 23831
    functionDepth: 0
    functionLinenumber: 23831
    functionLinenumberEnd: 23836
    functionName: roaring::api::roaring_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_andnot_cardinality(const roaring_bitmap_t
      *x1,\n                                           const roaring_bitmap_t *x2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23840,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23841,1
    - Dst: roaring::api::roaring_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x1
    - x2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23844
      start: 23838
    functionDepth: 0
    functionLinenumber: 23838
    functionLinenumberEnd: 23844
    functionName: roaring::api::roaring_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_and_cardinality
    - roaring::api::roaring_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring_bitmap_xor_cardinality(const roaring_bitmap_t *x1,\n
      \                                       const roaring_bitmap_t *x2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23851,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23856,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23861
      start: 23846
    functionDepth: 0
    functionLinenumber: 23846
    functionLinenumberEnd: 23861
    functionName: roaring::api::roaring_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - ra_get_index
    - container_contains
    - ra_get_container_at_index
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_contains(const roaring_bitmap_t *r, uint32_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_contains_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23874
      start: 23867
    functionDepth: 1
    functionLinenumber: 23867
    functionLinenumberEnd: 23874
    functionName: roaring::api::roaring_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_contains_range_closed
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_range(const roaring_bitmap_t *r,\n                                   uint64_t
      range_start, uint64_t range_end)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23887,1
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23892,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23896,1
    - Dst: ra_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23897,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23905,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23907,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23909,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23912,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23913,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23917,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23919,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - r
    - range_start
    - range_end
    argTypes:
    - roaring_bitmap_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23924
      start: 23880
    functionDepth: 0
    functionLinenumber: 23880
    functionLinenumberEnd: 23924
    functionName: roaring::api::roaring_bitmap_contains_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_get_size
    - container_is_full
    - ra_get_index
    - ra_get_container_at_index
    - roaring::api::roaring_bitmap_contains
    - container_contains_range
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_contains_range_closed(const roaring_bitmap_t *r,\n
      \                                         uint32_t range_start,\n                                          uint32_t
      range_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23928,1
    - Dst: roaring::api::roaring_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23929,1
    - Dst: roaring::api::roaring_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring_bitmap_t*
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23931
      start: 23926
    functionDepth: 0
    functionLinenumber: 23926
    functionLinenumberEnd: 23931
    functionName: roaring::api::roaring_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_get_cardinality
    - roaring::api::roaring_bitmap_is_subset
    linkageType: ''
    returnType: bool
    signature: "bool roaring_bitmap_is_strict_subset(const roaring_bitmap_t *r1,\n
      \                                    const roaring_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23971,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:23977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - rb
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23988
      start: 23961
    functionDepth: 0
    functionLinenumber: 23961
    functionLinenumberEnd: 23988
    functionName: roaring::api::roaring_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_run
    - const_CAST_array
    linkageType: ''
    returnType: size_t
    signature: size_t roaring_bitmap_frozen_size_in_bytes(const roaring_bitmap_t *rb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arena
    - num_bytes
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23994
      start: 23990
    functionDepth: 0
    functionLinenumber: 23990
    functionLinenumberEnd: 23994
    functionName: roaring::api::arena_alloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *arena_alloc(char **arena, size_t num_bytes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24015,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24021,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24030,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24031,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24032,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24033,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24034,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24035,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24036,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24043,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24044,1
    - Dst: bitset_container_compute_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24051,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24057,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24059,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24066,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24068,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24076,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24078,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24079,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24081,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - rb
    - buf
    argTypes:
    - roaring_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24082
      start: 23996
    functionDepth: 0
    functionLinenumber: 23996
    functionLinenumberEnd: 24082
    functionName: roaring::api::roaring_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - const_CAST_bitset
    - bitset_container_compute_cardinality
    - const_CAST_run
    - roaring::api::arena_alloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_frozen_serialize(const roaring_bitmap_t *rb, char
      *buf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24095,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24129,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24150,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24156,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24162,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24169,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24175,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24178,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24184,1
    - Dst: roaring::api::arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24194,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24196,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24197,1
    - Dst: UINT32_C
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24200,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24204,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - char*
    - size_t
    assertStmts:
    - condition: "(rb ==\n           (roaring_bitmap_t *)((char *)rb->high_low_container.containers
        -\n                                sizeof(roaring_bitmap_t)))"
      pos:
        line_end: 24170
        line_start: 24168
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 24210
      start: 24084
    functionDepth: 0
    functionLinenumber: 24084
    functionLinenumberEnd: 24210
    functionName: roaring::api::roaring_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring_malloc
    - roaring_free
    - roaring::api::arena_alloc
    - memcpy
    - UINT32_C
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: "roaring_bitmap_t *roaring_bitmap_frozen_view(const char *buf,\n                                                   size_t
      length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24223,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24226,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24255,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24285,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24291,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24295,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24299,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24301,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24308,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24323,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24336,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24340,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24346,1
    - Dst: arena_alloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24355,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24370
      start: 24212
    functionDepth: 0
    functionLinenumber: 24212
    functionLinenumberEnd: 24370
    functionName: roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - arena_alloc
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: ALLOW_UNALIGNED
    signature: ALLOW_UNALIGNED roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const
      char *buf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24373,1
    - Dst: bitset_resize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24375,1
    - Dst: container_unwrap_shared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24385,1
    - Dst: const_CAST_bitset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24393,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24394,1
    - Dst: const_CAST_array
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24397,1
    - Dst: roaring::api::bitset_set_list
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24398,1
    - Dst: const_CAST_run
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24401,1
    - Dst: bitset_set_lenrange
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - r
    - bitset
    argTypes:
    - roaring_bitmap_t*
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24412
      start: 24372
    functionDepth: 2
    functionLinenumber: 24372
    functionLinenumberEnd: 24412
    functionName: roaring::api::roaring_bitmap_to_bitset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - const_CAST_array
    - roaring::api::bitset_set_list
    - const_CAST_bitset
    - const_CAST_run
    - bitset_set_lenrange
    - bitset_resize
    - container_unwrap_shared
    - memcpy
    - roaring::api::roaring_bitmap_maximum
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_to_bitset(const roaring_bitmap_t *r, bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - alignment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24434
      start: 24431
    functionDepth: 0
    functionLinenumber: 24431
    functionLinenumberEnd: 24434
    functionName: CROARING_ALIGN_BUF
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_ALIGN_BUF(buf, alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24480
      start: 24478
    functionDepth: 0
    functionLinenumber: 24478
    functionLinenumberEnd: 24480
    functionName: roaring::api::is_frozen64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen64(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: croaring_htobe64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24485,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - high48_out
    argTypes:
    - uint64_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24488
      start: 24484
    functionDepth: 1
    functionLinenumber: 24484
    functionLinenumberEnd: 24488
    functionName: roaring::api::split_key
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - croaring_htobe64
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t split_key(uint64_t key, uint8_t high48_out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24494,1
    - Dst: croaring_be64toh
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - high48
    - low16
    argTypes:
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24496
      start: 24492
    functionDepth: 1
    functionLinenumber: 24492
    functionLinenumberEnd: 24496
    functionName: roaring::api::combine_key
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - croaring_be64toh
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t combine_key(const uint8_t high48[], uint16_t low16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24500
      start: 24498
    functionDepth: 0
    functionLinenumber: 24498
    functionLinenumberEnd: 24500
    functionName: roaring::api::minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - container_index
    - typecode
    argTypes:
    - uint64_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24504
      start: 24502
    functionDepth: 0
    functionLinenumber: 24502
    functionLinenumberEnd: 24504
    functionName: roaring::api::create_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: leaf_t
    signature: leaf_t create_leaf(uint64_t container_index, uint8_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - leaf
    argTypes:
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24506
      start: 24506
    functionDepth: 0
    functionLinenumber: 24506
    functionLinenumberEnd: 24506
    functionName: roaring::api::get_typecode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_typecode(leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - leaf
    argTypes:
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24508
      start: 24508
    functionDepth: 0
    functionLinenumber: 24508
    functionLinenumberEnd: 24508
    functionName: roaring::api::get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_index(leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24513
      start: 24510
    functionDepth: 1
    functionLinenumber: 24510
    functionLinenumberEnd: 24513
    functionName: roaring::api::get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::get_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_container(const roaring64_bitmap_t *r,\n                                         leaf_t
      leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24520,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - r
    - leaf
    - container
    - typecode
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t*
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24524
      start: 24517
    functionDepth: 1
    functionLinenumber: 24517
    functionLinenumberEnd: 24524
    functionName: roaring::api::replace_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::create_leaf
    - roaring::api::get_index
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t replace_container(roaring64_bitmap_t *r, leaf_t *leaf,\n                                       container_t
      *container,\n                                       uint8_t typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24543,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24547
      start: 24529
    functionDepth: 0
    functionLinenumber: 24529
    functionLinenumberEnd: 24547
    functionName: roaring::api::extend_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void extend_containers(roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24556
      start: 24549
    functionDepth: 0
    functionLinenumber: 24549
    functionLinenumberEnd: 24556
    functionName: roaring::api::next_free_container_idx
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_free_container_idx(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::extend_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24561,1
    - Dst: roaring::api::next_free_container_idx
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24565
      start: 24558
    functionDepth: 1
    functionLinenumber: 24558
    functionLinenumberEnd: 24565
    functionName: roaring::api::allocate_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::extend_containers
    - roaring::api::next_free_container_idx
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t allocate_index(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24569,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - container
    - typecode
    argTypes:
    - roaring64_bitmap_t*
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24572
      start: 24567
    functionDepth: 2
    functionLinenumber: 24567
    functionLinenumberEnd: 24572
    functionName: roaring::api::add_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::allocate_index
    - roaring::api::create_leaf
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t add_container(roaring64_bitmap_t *r, container_t *container,\n
      \                           uint8_t typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24580
      start: 24574
    functionDepth: 1
    functionLinenumber: 24574
    functionLinenumberEnd: 24580
    functionName: roaring::api::remove_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::get_index
    linkageType: ''
    returnType: void
    signature: void remove_container(roaring64_bitmap_t *r, leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24585,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24587,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24588,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r1
    - r2
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24590
      start: 24583
    functionDepth: 3
    functionLinenumber: 24583
    functionLinenumberEnd: 24590
    functionName: roaring::api::copy_leaf_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::get_typecode
    - get_copy_of_container
    - roaring::api::get_container
    - roaring::api::add_container
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t copy_leaf_container(const roaring64_bitmap_t *r1,\n                                         roaring64_bitmap_t
      *r2, leaf_t leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - art_key_chunk_t[]
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24595
      start: 24592
    functionDepth: 0
    functionLinenumber: 24592
    functionLinenumberEnd: 24595
    functionName: roaring::api::compare_high48
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_compare_keys
    linkageType: ''
    returnType: int
    signature: "int compare_high48(art_key_chunk_t key1[],\n                                 art_key_chunk_t
      key2[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24599,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24602,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24602,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24606
      start: 24597
    functionDepth: 2
    functionLinenumber: 24597
    functionLinenumberEnd: 24606
    functionName: roaring::api::roaring64_iterator_init_at_leaf_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - container_init_iterator
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_init_at_leaf_first(\n    roaring64_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24610,1
    - Dst: container_init_iterator_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24613,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24613,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24617
      start: 24608
    functionDepth: 2
    functionLinenumber: 24608
    functionLinenumberEnd: 24617
    functionName: roaring::api::roaring64_iterator_init_at_leaf_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - container_init_iterator_last
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_init_at_leaf_last(\n    roaring64_iterator_t
      *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24622,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24626,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - r
    - it
    - first
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24634
      start: 24619
    functionDepth: 3
    functionLinenumber: 24619
    functionLinenumberEnd: 24634
    functionName: roaring::api::roaring64_iterator_init_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at_leaf_last
    - art_init_iterator
    - roaring::api::roaring64_iterator_init_at_leaf_first
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: "roaring64_iterator_t *roaring64_iterator_init_at(\n    const roaring64_bitmap_t
      *r, roaring64_iterator_t *it, bool first)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24638,1
    - Dst: art_init_cleared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24645
      start: 24636
    functionDepth: 0
    functionLinenumber: 24636
    functionLinenumberEnd: 24645
    functionName: roaring::api::roaring64_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_cleared
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: roaring64_bitmap_t *roaring64_bitmap_create(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24651,1
    - Dst: roaring::api::is_frozen64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24654,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24657,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24657,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24661,1
    - Dst: roaring::api::is_frozen64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24663,1
    - Dst: art_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24664,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24666,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24668
      start: 24647
    functionDepth: 2
    functionLinenumber: 24647
    functionLinenumberEnd: 24668
    functionName: roaring::api::roaring64_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_free
    - roaring::api::is_frozen64
    - roaring_free
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_free(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24671,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24673,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24676,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24677,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24678,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24680,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24681,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24685
      start: 24670
    functionDepth: 3
    functionLinenumber: 24670
    functionLinenumberEnd: 24685
    functionName: roaring::api::roaring64_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - roaring::api::get_typecode
    - get_copy_of_container
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: roaring64_bitmap_t *roaring64_bitmap_copy(const roaring64_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24698,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24700,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24702,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24707,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24708,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - src
    - high_bits
    argTypes:
    - roaring64_bitmap_t*
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24713
      start: 24694
    functionDepth: 3
    functionLinenumber: 24694
    functionLinenumberEnd: 24713
    functionName: roaring::api::move_from_roaring32_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - roaring::api::split_key
    - roaring::api::add_container
    - ra_get_container_at_index
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void move_from_roaring32_offset(roaring64_bitmap_t *dst,\n                                       roaring_bitmap_t
      *src,\n                                       uint32_t high_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24717,1
    - Dst: roaring::api::move_from_roaring32_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitmap32
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24722
      start: 24715
    functionDepth: 4
    functionLinenumber: 24715
    functionLinenumberEnd: 24722
    functionName: roaring::api::roaring64_bitmap_move_from_roaring32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_create
    - roaring::api::move_from_roaring32_offset
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_move_from_roaring32(\n    roaring_bitmap_t
      *bitmap32)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24729,1
    - Dst: roaring::api::roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24733,1
    - Dst: roaring::api::minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24743,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24746,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24750,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24751,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24752,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24762
      start: 24724
    functionDepth: 3
    functionLinenumber: 24724
    functionLinenumberEnd: 24762
    functionName: roaring::api::roaring64_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - roaring::api::roaring64_bitmap_add
    - roaring::api::add_container
    - roaring::api::minimum
    - roaring::api::roaring64_bitmap_create
    - container_from_range
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                                uint64_t step)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24766,1
    - Dst: roaring::api::roaring64_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24769
      start: 24764
    functionDepth: 1
    functionLinenumber: 24764
    functionLinenumberEnd: 24769
    functionName: roaring::api::roaring64_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_add_many
    - roaring::api::roaring64_bitmap_create
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_of_ptr(size_t n_args,\n                                            const
      uint64_t *vals)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24776,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24777,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24780,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24782,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24783,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24787,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24790,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24791,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24792,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - r
    - high48
    - low16
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t*
    - uint16_t
    - leaf_t*
    assertStmts:
    - condition: (ac == container)
      pos:
        line_end: 24790
        line_start: 24790
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 24795
      start: 24771
    functionDepth: 3
    functionLinenumber: 24771
    functionLinenumberEnd: 24795
    functionName: roaring::api::containerptr_roaring64_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::add_container
    - assert
    - container_add
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - array_container_create
    - art_insert
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t *containerptr_roaring64_bitmap_add(roaring64_bitmap_t *r,\n
      \                                                       uint8_t *high48,\n                                                        uint16_t
      low16,\n                                                        leaf_t *leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24799,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24800,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24802
      start: 24797
    functionDepth: 4
    functionLinenumber: 24797
    functionLinenumberEnd: 24802
    functionName: roaring::api::roaring64_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - art_find
    - roaring::api::split_key
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_add(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24806,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24807,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24811,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24811,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24812,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24814,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24818
      start: 24804
    functionDepth: 4
    functionLinenumber: 24804
    functionLinenumberEnd: 24818
    functionName: roaring::api::roaring64_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_get_cardinality
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_add_checked(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24824,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24826,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24828,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24829,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24832,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24834,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24835,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24840,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24842,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24845
      start: 24820
    functionDepth: 4
    functionLinenumber: 24820
    functionLinenumberEnd: 24845
    functionName: roaring::api::roaring64_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_add
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - memcpy
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_bulk(roaring64_bitmap_t *r,\n                               roaring64_bulk_context_t
      *context,\n                               uint64_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring64_bitmap_t*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24858
      start: 24847
    functionDepth: 5
    functionLinenumber: 24847
    functionLinenumberEnd: 24858
    functionName: roaring::api::roaring64_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::api::roaring64_bitmap_add_bulk
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_many(roaring64_bitmap_t *r, size_t n_args,\n
      \                              const uint64_t *vals)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24863,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24865,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24866,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24869,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24871,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24872,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24879,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24880,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - r
    - art
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - art_t*
    - uint8_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24882
      start: 24860
    functionDepth: 3
    functionLinenumber: 24860
    functionLinenumberEnd: 24882
    functionName: roaring::api::add_range_closed_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_range_of_ones
    - container_add_range
    - roaring::api::add_container
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void add_range_closed_at(roaring64_bitmap_t *r, art_t *art,\n                                       uint8_t
      *high48, uint16_t min,\n                                       uint16_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24890
      start: 24884
    functionDepth: 1
    functionLinenumber: 24884
    functionLinenumberEnd: 24890
    functionName: roaring::api::roaring64_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_range(roaring64_bitmap_t *r, uint64_t min,\n
      \                               uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24900,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24902,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24903,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24905,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24911,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24917,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24918,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24921
      start: 24892
    functionDepth: 4
    functionLinenumber: 24892
    functionLinenumberEnd: 24921
    functionName: roaring::api::roaring64_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::api::compare_high48
    - roaring::api::split_key
    - roaring::api::add_range_closed_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_range_closed(roaring64_bitmap_t *r, uint64_t
      min,\n                                       uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24925,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24926,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24928,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24928,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24932
      start: 24923
    functionDepth: 2
    functionLinenumber: 24923
    functionLinenumberEnd: 24932
    functionName: roaring::api::roaring64_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_contains
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_contains(const roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24941,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24943,1
    - Dst: art_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24946,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24947,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24952,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24965,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24969,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24976,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24976,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24977,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24980,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24980,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24982,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24986,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24989
      start: 24934
    functionDepth: 2
    functionLinenumber: 24934
    functionLinenumberEnd: 24989
    functionName: roaring::api::roaring64_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_is_full
    - art_iterator_next
    - roaring::api::split_key
    - art_lower_bound
    - container_contains_range
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_contains_range(const roaring64_bitmap_t *r,
      uint64_t min,\n                                     uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24995,1
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24998,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25001,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25006,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25008,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25008,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25010
      start: 24991
    functionDepth: 2
    functionLinenumber: 24991
    functionLinenumberEnd: 25010
    functionName: roaring::api::roaring64_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_contains
    - art_compare_keys
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_contains_bulk(const roaring64_bitmap_t *r,\n
      \                                   roaring64_bulk_context_t *context,\n                                    uint64_t
      val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25014,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25018,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25018,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25019,1
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25026,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - r
    - rank
    - element
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25035
      start: 25012
    functionDepth: 2
    functionLinenumber: 25012
    functionLinenumberEnd: 25035
    functionName: roaring::api::roaring64_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - container_get_cardinality
    - container_select
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_select(const roaring64_bitmap_t *r, uint64_t
      rank,\n                             uint64_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25039,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25041,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25045,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25047,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25047,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25048,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25050,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25050,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25051,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25058
      start: 25037
    functionDepth: 2
    functionLinenumber: 25037
    functionLinenumberEnd: 25058
    functionName: roaring::api::roaring64_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::split_key
    - art_iterator_next
    - container_get_cardinality
    - container_rank
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_rank(const roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25063,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25065,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25069,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25071,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25071,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25072,1
    - Dst: container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25074,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25074,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25075,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - r
    - val
    - out_index
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25087
      start: 25060
    functionDepth: 2
    functionLinenumber: 25060
    functionLinenumberEnd: 25087
    functionName: roaring::api::roaring64_bitmap_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_index
    - art_init_iterator
    - roaring::api::split_key
    - art_iterator_next
    - container_get_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_get_index(const roaring64_bitmap_t *r, uint64_t
      val,\n                                uint64_t *out_index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25098,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25099,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25102,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25104,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25105,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25107,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25108,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25109,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25110,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - r
    - high48
    - low16
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t*
    - uint16_t
    - leaf_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25109
        line_start: 25109
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25116
      start: 25090
    functionDepth: 2
    functionLinenumber: 25090
    functionLinenumberEnd: 25116
    functionName: roaring::api::containerptr_roaring64_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_remove
    - art_erase
    - roaring::api::remove_container
    - assert
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: bool
    signature: "bool containerptr_roaring64_bitmap_remove(roaring64_bitmap_t *r,\n
      \                                                       uint8_t *high48,\n                                                        uint16_t
      low16,\n                                                        leaf_t *leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25121,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25123,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25125
      start: 25118
    functionDepth: 3
    functionLinenumber: 25118
    functionLinenumberEnd: 25125
    functionName: roaring::api::roaring64_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_find
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::split_key
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_remove(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25130,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25131,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25138,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25144
      start: 25127
    functionDepth: 3
    functionLinenumber: 25127
    functionLinenumberEnd: 25144
    functionName: roaring::api::roaring64_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_get_cardinality
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_remove_checked(roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25151,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25153,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25155,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25156,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25159,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25161,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25162,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25164,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25165,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25167,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25168,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25170,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25175,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25176,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25167
        line_start: 25167
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25180
      start: 25146
    functionDepth: 3
    functionLinenumber: 25146
    functionLinenumberEnd: 25180
    functionName: roaring::api::roaring64_bitmap_remove_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_remove
    - roaring::api::split_key
    - art_erase
    - assert
    - roaring::api::remove_container
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - memcpy
    - art_find
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_bulk(roaring64_bitmap_t *r,\n                                  roaring64_bulk_context_t
      *context,\n                                  uint64_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring64_bitmap_t*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25193
      start: 25182
    functionDepth: 4
    functionLinenumber: 25182
    functionLinenumberEnd: 25193
    functionName: roaring::api::roaring64_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_bulk
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_many(roaring64_bitmap_t *r, size_t n_args,\n
      \                                 const uint64_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25198,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25202,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25203,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25206,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25208,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25210,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25212,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25213,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - r
    - art
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - art_t*
    - uint8_t*
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25212
        line_start: 25212
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25218
      start: 25195
    functionDepth: 2
    functionLinenumber: 25195
    functionLinenumberEnd: 25218
    functionName: roaring::api::remove_range_closed_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_erase
    - roaring::api::remove_container
    - container_remove_range
    - assert
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: void
    signature: "void remove_range_closed_at(roaring64_bitmap_t *r, art_t *art,\n                                          uint8_t
      *high48, uint16_t min,\n                                          uint16_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25226
      start: 25220
    functionDepth: 1
    functionLinenumber: 25220
    functionLinenumberEnd: 25226
    functionName: roaring::api::roaring64_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_range(roaring64_bitmap_t *r, uint64_t
      min,\n                                   uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25236,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25238,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25239,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25241,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25247,1
    - Dst: art_upper_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25249,1
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25250,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25252,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25253,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25256,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25252
        line_start: 25252
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25259
      start: 25228
    functionDepth: 3
    functionLinenumber: 25228
    functionLinenumberEnd: 25259
    functionName: roaring::api::roaring64_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::api::remove_range_closed_at
    - roaring::api::split_key
    - art_upper_bound
    - assert
    - roaring::api::remove_container
    - art_compare_keys
    - roaring::api::get_typecode
    - roaring::api::get_container
    - container_free
    - art_iterator_erase
    - roaring::api::compare_high48
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_range_closed(roaring64_bitmap_t *r, uint64_t
      min,\n                                          uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25263
      start: 25261
    functionDepth: 4
    functionLinenumber: 25261
    functionLinenumberEnd: 25263
    functionName: roaring::api::roaring64_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_clear(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25266,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25270,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25270,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25271,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25275
      start: 25265
    functionDepth: 2
    functionLinenumber: 25265
    functionLinenumberEnd: 25275
    functionName: roaring::api::roaring64_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_next
    - art_init_iterator
    - container_get_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_get_cardinality(const roaring64_bitmap_t
      *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_range_closed_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25286
      start: 25277
    functionDepth: 1
    functionLinenumber: 25277
    functionLinenumberEnd: 25286
    functionName: roaring::api::roaring64_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_range_closed_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_range_cardinality(const roaring64_bitmap_t
      *r,\n                                            uint64_t min, uint64_t max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25296,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25298,1
    - Dst: art_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25300,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25302,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25309,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25310,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25314,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25318,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25320,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25323,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25328
      start: 25288
    functionDepth: 2
    functionLinenumber: 25288
    functionLinenumberEnd: 25328
    functionName: roaring::api::roaring64_bitmap_range_closed_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - art_iterator_next
    - roaring::api::split_key
    - container_get_cardinality
    - container_rank
    - art_lower_bound
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_range_closed_cardinality(const roaring64_bitmap_t
      *r,\n                                                   uint64_t min, uint64_t
      max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_is_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25332
      start: 25330
    functionDepth: 0
    functionLinenumber: 25330
    functionLinenumberEnd: 25332
    functionName: roaring::api::roaring64_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_is_empty
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_is_empty(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25335,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25340,1
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25342
      start: 25334
    functionDepth: 2
    functionLinenumber: 25334
    functionLinenumberEnd: 25342
    functionName: roaring::api::roaring64_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_minimum
    - art_init_iterator
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_minimum(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25345,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25350,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25352
      start: 25344
    functionDepth: 2
    functionLinenumber: 25344
    functionLinenumberEnd: 25352
    functionName: roaring::api::roaring64_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_maximum
    - art_init_iterator
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_maximum(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25355,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25362,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25363,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25363,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25364,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25369
      start: 25354
    functionDepth: 2
    functionLinenumber: 25354
    functionLinenumberEnd: 25369
    functionName: roaring::api::roaring64_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - convert_run_optimize
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_run_optimize(roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25372,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25376,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25378,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25378,1
    - Dst: roaring::api::next_free_container_idx
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25380
      start: 25371
    functionDepth: 2
    functionLinenumber: 25371
    functionLinenumberEnd: 25380
    functionName: roaring::api::move_to_shrink
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::next_free_container_idx
    - roaring::api::create_leaf
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::get_index
    linkageType: ''
    returnType: void
    signature: void move_to_shrink(roaring64_bitmap_t *r, leaf_t *leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25384
      start: 25382
    functionDepth: 0
    functionLinenumber: 25382
    functionLinenumberEnd: 25384
    functionName: roaring::api::is_shrunken
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_is_shrunken
    linkageType: ''
    returnType: bool
    signature: bool is_shrunken(const roaring64_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25387,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25388,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25391,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25391,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25392,1
    - Dst: roaring::api::move_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25393,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25394,1
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25396,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25407
      start: 25386
    functionDepth: 3
    functionLinenumber: 25386
    functionLinenumberEnd: 25407
    functionName: roaring::api::roaring64_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_shrink_to_fit
    - container_shrink_to_fit
    - roaring::api::is_shrunken
    - roaring::api::get_container
    - roaring_realloc
    - roaring::api::get_typecode
    - roaring::api::move_to_shrink
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_shrink_to_fit(roaring64_bitmap_t *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25415,1
    - Dst: roaring::api::roaring64_bitmap_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25416,1
    - Dst: roaring::api::roaring64_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25417,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25419,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25425,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25425,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25426,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25447,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 25446
        line_start: 25446
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25452
      start: 25413
    functionDepth: 3
    functionLinenumber: 25413
    functionLinenumberEnd: 25452
    functionName: roaring::api::roaring64_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::roaring64_bitmap_maximum
    - container_get_cardinality
    - assert
    - roaring::api::roaring64_bitmap_minimum
    - roaring::api::get_typecode
    - container_size_in_bytes
    - roaring::api::get_container
    - memset
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_statistics(const roaring64_bitmap_t *r,\n                                 roaring64_statistics_t
      *stat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25459,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25459,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - reason
    - context
    argTypes:
    - art_val_t
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25461
      start: 25454
    functionDepth: 2
    functionLinenumber: 25454
    functionLinenumberEnd: 25461
    functionName: roaring::api::roaring64_leaf_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::get_typecode
    - container_internal_validate
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_leaf_internal_validate(const art_val_t val,\n                                             const
      char **reason,\n                                             void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - reason
    argTypes:
    - roaring64_bitmap_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25467
      start: 25463
    functionDepth: 0
    functionLinenumber: 25463
    functionLinenumberEnd: 25467
    functionName: roaring::api::roaring64_bitmap_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_internal_validate
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_internal_validate(const roaring64_bitmap_t *r,\n
      \                                       const char **reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25471,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25472,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25475,1
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25481,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25481,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25484,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25488
      start: 25469
    functionDepth: 2
    functionLinenumber: 25469
    functionLinenumberEnd: 25488
    functionName: roaring::api::roaring64_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_equals
    - art_init_iterator
    - art_iterator_next
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_equals(const roaring64_bitmap_t *r1,\n                             const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25492,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25493,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25500,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25504,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25505,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25505,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25506,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25506,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25509,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25510,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25520
      start: 25490
    functionDepth: 2
    functionLinenumber: 25490
    functionLinenumberEnd: 25520
    functionName: roaring::api::roaring64_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - container_is_subset
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_is_subset(const roaring64_bitmap_t *r1,\n                                const
      roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25524,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25525,1
    - Dst: roaring::api::roaring64_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25527
      start: 25522
    functionDepth: 3
    functionLinenumber: 25522
    functionLinenumberEnd: 25527
    functionName: roaring::api::roaring64_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_is_subset
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_is_strict_subset(const roaring64_bitmap_t *r1,\n
      \                                      const roaring64_bitmap_t *r2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25531,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25533,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25534,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25541,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25549,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25549,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25551,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25554,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25555,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25557,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25559,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25560,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25563,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25570
      start: 25529
    functionDepth: 3
    functionLinenumber: 25529
    functionLinenumberEnd: 25570
    functionName: roaring::api::roaring64_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - container_and
    - container_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_and(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25576,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25577,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25584,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25589,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25590,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25590,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25591,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25591,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25592,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25593,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25596,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25603
      start: 25572
    functionDepth: 2
    functionLinenumber: 25572
    functionLinenumberEnd: 25603
    functionName: roaring::api::roaring64_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - container_and_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_and_cardinality(const roaring64_bitmap_t
      *r1,\n                                          const roaring64_bitmap_t *r2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25611,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25612,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25624,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25636,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25637,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25641,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25642,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25643,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25645,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25646,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25647,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25651,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25653,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25654,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25655,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25656,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25659,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25663,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25665,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25672,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25673,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25676,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25679,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25672
        line_start: 25672
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25682
      start: 25606
    functionDepth: 2
    functionLinenumber: 25606
    functionLinenumberEnd: 25682
    functionName: roaring::api::roaring64_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::remove_container
    - assert
    - container_and
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_and_inplace(roaring64_bitmap_t *r1,\n                                  const
      roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25687,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25688,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25695,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25700,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25701,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25701,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25702,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25702,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25703,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25704,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25707,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25714
      start: 25684
    functionDepth: 2
    functionLinenumber: 25684
    functionLinenumberEnd: 25714
    functionName: roaring::api::roaring64_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::get_container
    - container_intersect
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_intersect(const roaring64_bitmap_t *r1,\n                                const
      roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25722,1
    - Dst: roaring::api::roaring64_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25723,1
    - Dst: roaring::api::roaring64_iterator_has_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25726,1
    - Dst: roaring::api::roaring64_iterator_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25728
      start: 25716
    functionDepth: 4
    functionLinenumber: 25716
    functionLinenumberEnd: 25728
    functionName: roaring::api::roaring64_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring::api::roaring64_iterator_value
    - roaring::api::roaring64_iterator_move_equalorlarger
    - roaring::api::roaring64_iterator_has_value
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_intersect_with_range(const roaring64_bitmap_t
      *r,\n                                           uint64_t min, uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25732,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25733,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25736
      start: 25730
    functionDepth: 3
    functionLinenumber: 25730
    functionLinenumberEnd: 25736
    functionName: roaring::api::roaring64_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring64_bitmap_jaccard_index(const roaring64_bitmap_t *r1,\n
      \                                     const roaring64_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25740,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25742,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25743,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25758,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25766,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25766,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25769,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25770,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25771,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25772,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25778,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25779,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25780,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25784,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25785,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25786,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25790
      start: 25738
    functionDepth: 4
    functionLinenumber: 25738
    functionLinenumberEnd: 25790
    functionName: roaring::api::roaring64_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::copy_leaf_container
    - roaring::api::roaring64_bitmap_create
    - container_or
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_or(const roaring64_bitmap_t *r1,\n
      \                                       const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25794,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25795,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25798
      start: 25792
    functionDepth: 3
    functionLinenumber: 25792
    functionLinenumberEnd: 25798
    functionName: roaring::api::roaring64_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_or_cardinality(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25805,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25806,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25821,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25826,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25827,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25830,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25831,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25832,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25833,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25835,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25836,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25837,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25840,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25841,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25843,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25844,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25849,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25853,1
    - Dst: art_iterator_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25854,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25855,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25858
      start: 25800
    functionDepth: 4
    functionLinenumber: 25800
    functionLinenumberEnd: 25858
    functionName: roaring::api::roaring64_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_iterator_insert
    - roaring::api::copy_leaf_container
    - container_ior
    - container_or
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_or_inplace(roaring64_bitmap_t *r1,\n                                 const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25862,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25864,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25865,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25880,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25888,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25888,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25890,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25892,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25894,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25896,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25898,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25899,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25905,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25906,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25907,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25911,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25912,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25913,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25917
      start: 25860
    functionDepth: 4
    functionLinenumber: 25860
    functionLinenumberEnd: 25917
    functionName: roaring::api::roaring64_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_xor
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::copy_leaf_container
    - container_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_xor(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25921,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25922,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25925
      start: 25919
    functionDepth: 3
    functionLinenumber: 25919
    functionLinenumberEnd: 25925
    functionName: roaring::api::roaring64_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_xor_cardinality(const roaring64_bitmap_t
      *r1,\n                                          const roaring64_bitmap_t *r2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25929,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25930,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25931,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25946,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25951,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25952,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25956,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25957,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25958,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25963,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25966,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25967,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25968,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25971,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25972,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25973,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25974,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25976,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25979,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25983,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25985,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25990,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25994,1
    - Dst: art_iterator_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25996,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25997,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25999,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26001,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (r1 != r2)
      pos:
        line_end: 25928
        line_start: 25928
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (erased)
      pos:
        line_end: 25973
        line_start: 25973
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26004
      start: 25927
    functionDepth: 4
    functionLinenumber: 25927
    functionLinenumberEnd: 26004
    functionName: roaring::api::roaring64_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_xor
    - art_init_iterator
    - art_iterator_next
    - roaring::api::remove_container
    - assert
    - art_iterator_insert
    - roaring::api::copy_leaf_container
    - container_ixor
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_xor_inplace(roaring64_bitmap_t *r1,\n                                  const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26008,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26010,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26011,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26023,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26029,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26030,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26030,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26031,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26031,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26034,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26036,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26038,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26040,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26042,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26043,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26049,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26050,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26051,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26058
      start: 26006
    functionDepth: 4
    functionLinenumber: 26006
    functionLinenumberEnd: 26058
    functionName: roaring::api::roaring64_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - container_andnot
    - container_free
    - roaring::api::copy_leaf_container
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_andnot(const roaring64_bitmap_t
      *r1,\n                                            const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26062,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26065
      start: 26060
    functionDepth: 3
    functionLinenumber: 26060
    functionLinenumberEnd: 26065
    functionName: roaring::api::roaring64_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_andnot_cardinality(const roaring64_bitmap_t
      *r1,\n                                             const roaring64_bitmap_t
      *r2)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26069,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26070,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26082,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26087,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26088,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26092,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26093,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26094,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26099,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26102,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26103,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26104,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26107,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26108,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26109,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26110,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26112,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26115,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26119,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26121,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26126,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 26109
        line_start: 26109
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26132
      start: 26067
    functionDepth: 2
    functionLinenumber: 26067
    functionLinenumberEnd: 26132
    functionName: roaring::api::roaring64_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - container_iandnot
    - roaring::api::remove_container
    - art_iterator_next
    - assert
    - container_andnot
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_andnot_inplace(roaring64_bitmap_t *r1,\n                                     const
      roaring64_bitmap_t *r2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26141,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26146,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26149,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26149,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26150,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26157,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26158,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26159,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - r1
    - r2
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    - uint8_t[]
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26163
      start: 26138
    functionDepth: 3
    functionLinenumber: 26138
    functionLinenumberEnd: 26163
    functionName: roaring::api::roaring64_flip_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_not_range
    - container_not
    - container_range_of_ones
    - roaring::api::add_container
    - container_free
    - roaring::api::get_container
    - container_nonzero_cardinality
    - art_find
    - roaring::api::get_typecode
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_flip_leaf(const roaring64_bitmap_t *r1,\n                                roaring64_bitmap_t
      *r2, uint8_t high48[],\n                                uint32_t min, uint32_t
      max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26172,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26177,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26178,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26179,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26185,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26185,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26186,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26189,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26190,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26190,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26193,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26194,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26196,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26197,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26199,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - r
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t[]
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 26196
        line_start: 26196
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26202
      start: 26170
    functionDepth: 3
    functionLinenumber: 26170
    functionLinenumberEnd: 26202
    functionName: roaring::api::roaring64_flip_leaf_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_range_of_ones
    - roaring::api::add_container
    - art_erase
    - assert
    - roaring::api::remove_container
    - container_free
    - container_inot_range
    - container_inot
    - roaring::api::get_container
    - container_nonzero_cardinality
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_flip_leaf_inplace(roaring64_bitmap_t *r, uint8_t high48[],\n
      \                                       uint32_t min, uint32_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26207,1
    - Dst: roaring::api::roaring64_bitmap_flip_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26210
      start: 26204
    functionDepth: 4
    functionLinenumber: 26204
    functionLinenumberEnd: 26210
    functionName: roaring::api::roaring64_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_flip_closed
    - roaring::api::roaring64_bitmap_copy
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_flip(const roaring64_bitmap_t
      *r,\n                                          uint64_t min, uint64_t max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26215,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26218,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26220,1
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26224,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26225,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26228,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26230,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26231,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26232,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26233,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26234,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26235,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26243,1
    - Dst: roaring::api::roaring64_flip_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26254,1
    - Dst: art_upper_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26259,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26262,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26263,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26264,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26265,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26266,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - r1
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26271
      start: 26212
    functionDepth: 4
    functionLinenumber: 26212
    functionLinenumberEnd: 26271
    functionName: roaring::api::roaring64_bitmap_flip_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - art_init_iterator
    - roaring::api::split_key
    - roaring::api::add_container
    - art_iterator_next
    - roaring::api::roaring64_flip_leaf
    - art_upper_bound
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - get_copy_of_container
    - roaring::api::roaring64_bitmap_copy
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_flip_closed(const roaring64_bitmap_t
      *r1,\n                                                 uint64_t min, uint64_t
      max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_flip_closed_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26279
      start: 26273
    functionDepth: 1
    functionLinenumber: 26273
    functionLinenumberEnd: 26279
    functionName: roaring::api::roaring64_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_flip_closed_inplace
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_flip_inplace(roaring64_bitmap_t *r, uint64_t
      min,\n                                   uint64_t max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26296,1
    - Dst: roaring::api::roaring64_flip_leaf_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26310
      start: 26281
    functionDepth: 4
    functionLinenumber: 26281
    functionLinenumberEnd: 26310
    functionName: roaring::api::roaring64_bitmap_flip_closed_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::api::split_key
    - roaring::api::roaring64_flip_leaf_inplace
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_flip_closed_inplace(roaring64_bitmap_t *r, uint64_t
      min,\n                                          uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26314,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26318,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26326
      start: 26313
    functionDepth: 2
    functionLinenumber: 26313
    functionLinenumberEnd: 26326
    functionName: roaring::api::count_high32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_next
    - roaring::api::combine_key
    - art_init_iterator
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t count_high32(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26330,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26332
      start: 26329
    functionDepth: 0
    functionLinenumber: 26329
    functionLinenumberEnd: 26332
    functionName: roaring::api::roaring_bitmap_free_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - ra_clear_without_containers
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free_without_containers(roaring_bitmap_t *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26343,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26349,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26358,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26359,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26365,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26368,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26371,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26376,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26377,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26378,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26379,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26388,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26393
      start: 26334
    functionDepth: 2
    functionLinenumber: 26334
    functionLinenumberEnd: 26393
    functionName: roaring::api::roaring64_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_next
    - art_init_iterator
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_append
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::get_container
    - roaring::api::roaring_bitmap_free_without_containers
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_portable_size_in_bytes(const roaring64_bitmap_t
      *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::count_high32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26405,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26406,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26409,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26415,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26421,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26426,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26427,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26434,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26436,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26439,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26444,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26445,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26446,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26447,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26452,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26457,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring64_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26462
      start: 26395
    functionDepth: 3
    functionLinenumber: 26395
    functionLinenumberEnd: 26462
    functionName: roaring::api::roaring64_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::roaring_bitmap_portable_serialize
    - art_iterator_next
    - roaring::api::count_high32
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_append
    - roaring::api::get_container
    - roaring::api::roaring_bitmap_free_without_containers
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_portable_serialize(const roaring64_bitmap_t
      *r,\n                                           char *buf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26478,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26499,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26508
      start: 26464
    functionDepth: 0
    functionLinenumber: 26464
    functionLinenumberEnd: 26508
    functionName: roaring::api::roaring64_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_size
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_portable_deserialize_size(const char *buf,\n
      \                                                 size_t maxbytes)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26524,1
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26533,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26540,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26543,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26548,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26555,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26558,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26562,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26565,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26582,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26583,1
    - Dst: roaring::api::move_from_roaring32_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26590,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26594
      start: 26510
    functionDepth: 4
    functionLinenumber: 26510
    functionLinenumberEnd: 26594
    functionName: roaring::api::roaring64_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    - roaring::api::roaring_bitmap_free
    - roaring::api::roaring_bitmap_portable_deserialize_size
    - roaring::api::roaring64_bitmap_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::move_from_roaring32_offset
    - memcpy
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_portable_deserialize_safe(\n
      \   const char *buf, size_t maxbytes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26611
        line_start: 26611
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26617
      start: 26599
    functionDepth: 0
    functionLinenumber: 26599
    functionLinenumberEnd: 26617
    functionName: roaring::api::container_get_element_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t container_get_element_count(const container_t *c,\n                                                   uint8_t
      typecode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26626,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26629,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26631
        line_start: 26631
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26637
      start: 26619
    functionDepth: 1
    functionLinenumber: 26619
    functionLinenumberEnd: 26637
    functionName: roaring::api::container_get_frozen_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::container_get_element_count
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t container_get_frozen_size(const container_t *c,\n                                               uint8_t
      typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26641
      start: 26639
    functionDepth: 0
    functionLinenumber: 26639
    functionLinenumberEnd: 26641
    functionName: roaring::api::align_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t align_size(uint64_t size, uint64_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26644,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26656,1
    - Dst: art_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26657,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26661,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26664,1
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26666,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26666,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26667,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26670,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26672,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26674,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26679
      start: 26643
    functionDepth: 2
    functionLinenumber: 26643
    functionLinenumberEnd: 26679
    functionName: roaring::api::roaring64_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::container_get_frozen_size
    - art_iterator_next
    - art_size_in_bytes
    - roaring::api::is_shrunken
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::align_size
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_frozen_size_in_bytes(const roaring64_bitmap_t
      *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26686,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26690,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26696,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26697,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26702,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26703,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - container
    - typecode
    - bitsets
    - arrays
    - runs
    argTypes:
    - container_t*
    - uint8_t
    - uint64_t**
    - uint16_t**
    - rle16_t**
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26706
        line_start: 26706
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26711
      start: 26681
    functionDepth: 2
    functionLinenumber: 26681
    functionLinenumberEnd: 26711
    functionName: roaring::api::container_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::container_get_element_count
    - assert
    - memcpy
    - roaring::api::container_get_frozen_size
    linkageType: ''
    returnType: void
    signature: "void container_frozen_serialize(const container_t *container,\n                                              uint8_t
      typecode,\n                                              uint64_t **bitsets,\n
      \                                             uint16_t **arrays,\n                                              rle16_t
      **runs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26716,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - initial_buf
    - alignment
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26719
      start: 26713
    functionDepth: 1
    functionLinenumber: 26713
    functionLinenumberEnd: 26719
    functionName: roaring::api::pad_align
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memset
    - roaring::api::align_size
    linkageType: ''
    returnType: char
    signature: "char *pad_align(char *buf, const char *initial_buf,\n                              size_t
      alignment)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26726,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26732,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26736,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26742,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26745,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26746,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26748,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26750,1
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26753,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26754,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26758,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26760,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26762,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26766,1
    - Dst: art_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26767,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26772,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26775,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26778,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26782,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26785,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26786,1
    - Dst: roaring::api::container_frozen_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26787,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26789,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring64_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26796
      start: 26721
    functionDepth: 3
    functionLinenumber: 26721
    functionLinenumberEnd: 26796
    functionName: roaring::api::roaring64_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::container_get_frozen_size
    - art_iterator_next
    - roaring::api::pad_align
    - roaring::api::container_get_element_count
    - roaring::api::is_shrunken
    - roaring::api::container_frozen_serialize
    - roaring::api::get_container
    - roaring::api::get_typecode
    - art_serialize
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_frozen_serialize(const roaring64_bitmap_t
      *r,\n                                         char *buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26804,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26813,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26822,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 5
    argNames:
    - typecode
    - elem_count
    - bitsets
    - arrays
    - runs
    argTypes:
    - uint8_t
    - uint32_t
    - uint64_t**
    - uint16_t**
    - rle16_t**
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26829
        line_start: 26829
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26835
      start: 26798
    functionDepth: 0
    functionLinenumber: 26798
    functionLinenumberEnd: 26835
    functionName: roaring::api::container_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - assert
    - roaring_malloc
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_frozen_view(uint8_t typecode, uint32_t elem_count,\n
      \                                         const uint64_t **bitsets,\n                                          const
      uint16_t **arrays,\n                                          const rle16_t
      **runs)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26846,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26850,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26853,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26860,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26863,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26868,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26872,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26882,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26885,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26888,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26891,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26896,1
    - Dst: art_frozen_view
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26897,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26899,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26907,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26910,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26913,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26917,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26923,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26926,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26929,1
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26934,1
    - Dst: roaring::api::container_frozen_view
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26935,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26938,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26942,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 67
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26945
      start: 26837
    functionDepth: 3
    functionLinenumber: 26837
    functionLinenumberEnd: 26945
    functionName: roaring::api::roaring64_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::container_frozen_view
    - roaring_malloc
    - roaring::api::roaring64_bitmap_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_typecode
    - CROARING_ALIGN_BUF
    - art_frozen_view
    - memcpy
    - roaring::api::get_index
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_frozen_view(const char *buf,\n
      \                                                size_t maxbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26949,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26951,1
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring64_bitmap_t*
    - roaring_iterator64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26962
      start: 26947
    functionDepth: 2
    functionLinenumber: 26947
    functionLinenumberEnd: 26962
    functionName: roaring::api::roaring64_bitmap_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - container_iterate64
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_iterate(const roaring64_bitmap_t *r,\n                              roaring_iterator64
      iterator, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26967,1
    - Dst: roaring::api::roaring64_iterator_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - out
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26969
      start: 26964
    functionDepth: 4
    functionLinenumber: 26964
    functionLinenumberEnd: 26969
    functionName: roaring::api::roaring64_bitmap_to_uint64_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring::api::roaring64_iterator_read
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_to_uint64_array(const roaring64_bitmap_t *r,\n
      \                                     uint64_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26973,1
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26975
      start: 26971
    functionDepth: 4
    functionLinenumber: 26971
    functionLinenumberEnd: 26975
    functionName: roaring::api::roaring64_iterator_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: roaring64_iterator_t *roaring64_iterator_create(const roaring64_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26980,1
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26982
      start: 26977
    functionDepth: 4
    functionLinenumber: 26977
    functionLinenumberEnd: 26982
    functionName: roaring::api::roaring64_iterator_create_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: "roaring64_iterator_t *roaring64_iterator_create_last(\n    const roaring64_bitmap_t
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - it
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26987
      start: 26984
    functionDepth: 4
    functionLinenumber: 26984
    functionLinenumberEnd: 26987
    functionName: roaring::api::roaring64_iterator_reinit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_iterator_reinit(const roaring64_bitmap_t *r,\n                               roaring64_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - it
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26992
      start: 26989
    functionDepth: 4
    functionLinenumber: 26989
    functionLinenumberEnd: 26992
    functionName: roaring::api::roaring64_iterator_reinit_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_iterator_reinit_last(const roaring64_bitmap_t *r,\n
      \                                   roaring64_iterator_t *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26996,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26999
      start: 26994
    functionDepth: 0
    functionLinenumber: 26994
    functionLinenumberEnd: 26999
    functionName: roaring::api::roaring64_iterator_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: roaring64_iterator_t *roaring64_iterator_copy(const roaring64_iterator_t
      *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27001
      start: 27001
    functionDepth: 0
    functionLinenumber: 27001
    functionLinenumberEnd: 27001
    functionName: roaring::api::roaring64_iterator_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring64_iterator_free(roaring64_iterator_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27005
      start: 27003
    functionDepth: 0
    functionLinenumber: 27003
    functionLinenumberEnd: 27005
    functionName: roaring::api::roaring64_iterator_has_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_has_value(const roaring64_iterator_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27009
      start: 27007
    functionDepth: 0
    functionLinenumber: 27007
    functionLinenumberEnd: 27009
    functionName: roaring::api::roaring64_iterator_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_iterator_value(const roaring64_iterator_t *it)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27016,1
    - Dst: container_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27026,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27027,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27031
      start: 27011
    functionDepth: 4
    functionLinenumber: 27011
    functionLinenumberEnd: 27031
    functionName: roaring::api::roaring64_iterator_advance
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - art_iterator_next
    - container_iterator_next
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_advance(roaring64_iterator_t *it)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27039,1
    - Dst: container_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: art_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27049,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27054
      start: 27033
    functionDepth: 4
    functionLinenumber: 27033
    functionLinenumberEnd: 27054
    functionName: roaring::api::roaring64_iterator_previous
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - art_iterator_prev
    - container_iterator_prev
    - roaring::api::roaring64_iterator_init_at_leaf_last
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_previous(roaring64_iterator_t *it)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27059,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27064,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27069,1
    - Dst: container_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27078,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27079,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27079,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27085,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27093,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring64_iterator_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27094
      start: 27056
    functionDepth: 3
    functionLinenumber: 27056
    functionLinenumberEnd: 27094
    functionName: roaring::api::roaring64_iterator_move_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - art_iterator_lower_bound
    - art_iterator_next
    - roaring::api::split_key
    - container_iterator_lower_bound
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_move_equalorlarger(roaring64_iterator_t *it,\n
      \                                          uint64_t val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_iterator_read_into_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27107,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27108,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27108,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27115,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27118,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring64_iterator_t*
    - uint64_t*
    - uint64_t
    assertStmts:
    - condition: (consumed == count)
      pos:
        line_end: 27114
        line_start: 27114
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 27124
      start: 27096
    functionDepth: 3
    functionLinenumber: 27096
    functionLinenumberEnd: 27124
    functionName: roaring::api::roaring64_iterator_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - art_iterator_next
    - assert
    - container_iterator_read_into_uint64
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_iterator_read(roaring64_iterator_t *it, uint64_t
      *buf,\n                                 uint64_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24480
      start: 24478
    functionDepth: 0
    functionLinenumber: 24478
    functionLinenumberEnd: 24480
    functionName: roaring::api::is_frozen64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen64(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: croaring_htobe64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24485,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - high48_out
    argTypes:
    - uint64_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24488
      start: 24484
    functionDepth: 1
    functionLinenumber: 24484
    functionLinenumberEnd: 24488
    functionName: roaring::api::split_key
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 19
    functionsReached:
    - croaring_htobe64
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t split_key(uint64_t key, uint8_t high48_out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24494,1
    - Dst: croaring_be64toh
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - high48
    - low16
    argTypes:
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24496
      start: 24492
    functionDepth: 1
    functionLinenumber: 24492
    functionLinenumberEnd: 24496
    functionName: roaring::api::combine_key
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 11
    functionsReached:
    - croaring_be64toh
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t combine_key(const uint8_t high48[], uint16_t low16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24500
      start: 24498
    functionDepth: 0
    functionLinenumber: 24498
    functionLinenumberEnd: 24500
    functionName: roaring::api::minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - container_index
    - typecode
    argTypes:
    - uint64_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24504
      start: 24502
    functionDepth: 0
    functionLinenumber: 24502
    functionLinenumberEnd: 24504
    functionName: roaring::api::create_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: leaf_t
    signature: leaf_t create_leaf(uint64_t container_index, uint8_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - leaf
    argTypes:
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24506
      start: 24506
    functionDepth: 0
    functionLinenumber: 24506
    functionLinenumberEnd: 24506
    functionName: roaring::api::get_typecode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_typecode(leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - leaf
    argTypes:
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24508
      start: 24508
    functionDepth: 0
    functionLinenumber: 24508
    functionLinenumberEnd: 24508
    functionName: roaring::api::get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_index(leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24513
      start: 24510
    functionDepth: 1
    functionLinenumber: 24510
    functionLinenumberEnd: 24513
    functionName: roaring::api::get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 53
    functionsReached:
    - roaring::api::get_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_container(const roaring64_bitmap_t *r,\n                                         leaf_t
      leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24520,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - r
    - leaf
    - container
    - typecode
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t*
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24524
      start: 24517
    functionDepth: 1
    functionLinenumber: 24517
    functionLinenumberEnd: 24524
    functionName: roaring::api::replace_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::api::create_leaf
    - roaring::api::get_index
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t replace_container(roaring64_bitmap_t *r, leaf_t *leaf,\n                                       container_t
      *container,\n                                       uint8_t typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24543,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24547
      start: 24529
    functionDepth: 0
    functionLinenumber: 24529
    functionLinenumberEnd: 24547
    functionName: roaring::api::extend_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - memset
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void extend_containers(roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24556
      start: 24549
    functionDepth: 0
    functionLinenumber: 24549
    functionLinenumberEnd: 24556
    functionName: roaring::api::next_free_container_idx
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_free_container_idx(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::extend_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24561,1
    - Dst: roaring::api::next_free_container_idx
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24565
      start: 24558
    functionDepth: 1
    functionLinenumber: 24558
    functionLinenumberEnd: 24565
    functionName: roaring::api::allocate_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::api::extend_containers
    - roaring::api::next_free_container_idx
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t allocate_index(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24569,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - container
    - typecode
    argTypes:
    - roaring64_bitmap_t*
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24572
      start: 24567
    functionDepth: 2
    functionLinenumber: 24567
    functionLinenumberEnd: 24572
    functionName: roaring::api::add_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 13
    functionsReached:
    - roaring::api::allocate_index
    - roaring::api::create_leaf
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t add_container(roaring64_bitmap_t *r, container_t *container,\n
      \                           uint8_t typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24580
      start: 24574
    functionDepth: 1
    functionLinenumber: 24574
    functionLinenumberEnd: 24580
    functionName: roaring::api::remove_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::api::get_index
    linkageType: ''
    returnType: void
    signature: void remove_container(roaring64_bitmap_t *r, leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24585,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24587,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24588,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r1
    - r2
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24590
      start: 24583
    functionDepth: 3
    functionLinenumber: 24583
    functionLinenumberEnd: 24590
    functionName: roaring::api::copy_leaf_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::api::get_typecode
    - get_copy_of_container
    - roaring::api::get_container
    - roaring::api::add_container
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t copy_leaf_container(const roaring64_bitmap_t *r1,\n                                         roaring64_bitmap_t
      *r2, leaf_t leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - art_key_chunk_t[]
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24595
      start: 24592
    functionDepth: 0
    functionLinenumber: 24592
    functionLinenumberEnd: 24595
    functionName: roaring::api::compare_high48
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 21
    functionsReached:
    - art_compare_keys
    linkageType: ''
    returnType: int
    signature: "int compare_high48(art_key_chunk_t key1[],\n                                 art_key_chunk_t
      key2[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24599,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24602,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24602,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24606
      start: 24597
    functionDepth: 2
    functionLinenumber: 24597
    functionLinenumberEnd: 24606
    functionName: roaring::api::roaring64_iterator_init_at_leaf_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - container_init_iterator
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_init_at_leaf_first(\n    roaring64_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24610,1
    - Dst: container_init_iterator_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24613,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24613,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24617
      start: 24608
    functionDepth: 2
    functionLinenumber: 24608
    functionLinenumberEnd: 24617
    functionName: roaring::api::roaring64_iterator_init_at_leaf_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - container_init_iterator_last
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_init_at_leaf_last(\n    roaring64_iterator_t
      *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24622,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24626,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - r
    - it
    - first
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24634
      start: 24619
    functionDepth: 3
    functionLinenumber: 24619
    functionLinenumberEnd: 24634
    functionName: roaring::api::roaring64_iterator_init_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::api::roaring64_iterator_init_at_leaf_last
    - art_init_iterator
    - roaring::api::roaring64_iterator_init_at_leaf_first
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: "roaring64_iterator_t *roaring64_iterator_init_at(\n    const roaring64_bitmap_t
      *r, roaring64_iterator_t *it, bool first)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24638,1
    - Dst: art_init_cleared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24645
      start: 24636
    functionDepth: 0
    functionLinenumber: 24636
    functionLinenumberEnd: 24645
    functionName: roaring::api::roaring64_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 11
    functionsReached:
    - art_init_cleared
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: roaring64_bitmap_t *roaring64_bitmap_create(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24651,1
    - Dst: roaring::api::is_frozen64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24654,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24657,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24657,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24661,1
    - Dst: roaring::api::is_frozen64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24663,1
    - Dst: art_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24664,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24666,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24668
      start: 24647
    functionDepth: 2
    functionLinenumber: 24647
    functionLinenumberEnd: 24668
    functionName: roaring::api::roaring64_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_free
    - roaring::api::is_frozen64
    - roaring_free
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_free(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24671,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24673,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24676,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24677,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24678,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24680,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24681,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24685
      start: 24670
    functionDepth: 3
    functionLinenumber: 24670
    functionLinenumberEnd: 24685
    functionName: roaring::api::roaring64_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - roaring::api::get_typecode
    - get_copy_of_container
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: roaring64_bitmap_t *roaring64_bitmap_copy(const roaring64_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24698,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24700,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24702,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24707,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24708,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - src
    - high_bits
    argTypes:
    - roaring64_bitmap_t*
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24713
      start: 24694
    functionDepth: 3
    functionLinenumber: 24694
    functionLinenumberEnd: 24713
    functionName: roaring::api::move_from_roaring32_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - roaring::api::split_key
    - roaring::api::add_container
    - ra_get_container_at_index
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void move_from_roaring32_offset(roaring64_bitmap_t *dst,\n                                       roaring_bitmap_t
      *src,\n                                       uint32_t high_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24717,1
    - Dst: roaring::api::move_from_roaring32_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitmap32
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24722
      start: 24715
    functionDepth: 4
    functionLinenumber: 24715
    functionLinenumberEnd: 24722
    functionName: roaring::api::roaring64_bitmap_move_from_roaring32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_create
    - roaring::api::move_from_roaring32_offset
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_move_from_roaring32(\n    roaring_bitmap_t
      *bitmap32)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24729,1
    - Dst: roaring::api::roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24733,1
    - Dst: roaring::api::minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24743,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24746,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24750,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24751,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24752,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24762
      start: 24724
    functionDepth: 5
    functionLinenumber: 24724
    functionLinenumberEnd: 24762
    functionName: roaring::api::roaring64_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - roaring::api::roaring64_bitmap_add
    - roaring::api::add_container
    - roaring::api::minimum
    - roaring::api::roaring64_bitmap_create
    - container_from_range
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                                uint64_t step)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24766,1
    - Dst: roaring::api::roaring64_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24769
      start: 24764
    functionDepth: 6
    functionLinenumber: 24764
    functionLinenumberEnd: 24769
    functionName: roaring::api::roaring64_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_add_many
    - roaring::api::roaring64_bitmap_create
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_of_ptr(size_t n_args,\n                                            const
      uint64_t *vals)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24776,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24777,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24780,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24782,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24783,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24787,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24790,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24791,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24792,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - r
    - high48
    - low16
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t*
    - uint16_t
    - leaf_t*
    assertStmts:
    - condition: (ac == container)
      pos:
        line_end: 24790
        line_start: 24790
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 24795
      start: 24771
    functionDepth: 3
    functionLinenumber: 24771
    functionLinenumberEnd: 24795
    functionName: roaring::api::containerptr_roaring64_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::add_container
    - assert
    - container_add
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - array_container_create
    - art_insert
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t *containerptr_roaring64_bitmap_add(roaring64_bitmap_t *r,\n
      \                                                       uint8_t *high48,\n                                                        uint16_t
      low16,\n                                                        leaf_t *leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24799,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24800,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24802
      start: 24797
    functionDepth: 4
    functionLinenumber: 24797
    functionLinenumberEnd: 24802
    functionName: roaring::api::roaring64_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - art_find
    - roaring::api::split_key
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_add(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24806,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24807,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24811,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24811,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24812,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24814,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24818
      start: 24804
    functionDepth: 4
    functionLinenumber: 24804
    functionLinenumberEnd: 24818
    functionName: roaring::api::roaring64_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_get_cardinality
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_add_checked(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24824,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24826,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24828,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24829,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24832,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24834,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24835,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24840,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24842,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24845
      start: 24820
    functionDepth: 4
    functionLinenumber: 24820
    functionLinenumberEnd: 24845
    functionName: roaring::api::roaring64_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::api::split_key
    - container_add
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - memcpy
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_bulk(roaring64_bitmap_t *r,\n                               roaring64_bulk_context_t
      *context,\n                               uint64_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring64_bitmap_t*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24858
      start: 24847
    functionDepth: 5
    functionLinenumber: 24847
    functionLinenumberEnd: 24858
    functionName: roaring::api::roaring64_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::api::roaring64_bitmap_add_bulk
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_many(roaring64_bitmap_t *r, size_t n_args,\n
      \                              const uint64_t *vals)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24863,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24865,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24866,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24869,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24871,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24872,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24879,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24880,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - r
    - art
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - art_t*
    - uint8_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24882
      start: 24860
    functionDepth: 3
    functionLinenumber: 24860
    functionLinenumberEnd: 24882
    functionName: roaring::api::add_range_closed_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - container_range_of_ones
    - container_add_range
    - roaring::api::add_container
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void add_range_closed_at(roaring64_bitmap_t *r, art_t *art,\n                                       uint8_t
      *high48, uint16_t min,\n                                       uint16_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24890
      start: 24884
    functionDepth: 5
    functionLinenumber: 24884
    functionLinenumberEnd: 24890
    functionName: roaring::api::roaring64_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_range(roaring64_bitmap_t *r, uint64_t min,\n
      \                               uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24900,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24902,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24903,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24905,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24911,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24917,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24918,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24921
      start: 24892
    functionDepth: 4
    functionLinenumber: 24892
    functionLinenumberEnd: 24921
    functionName: roaring::api::roaring64_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::api::compare_high48
    - roaring::api::split_key
    - roaring::api::add_range_closed_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_range_closed(roaring64_bitmap_t *r, uint64_t
      min,\n                                       uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24925,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24926,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24928,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24928,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24932
      start: 24923
    functionDepth: 2
    functionLinenumber: 24923
    functionLinenumberEnd: 24932
    functionName: roaring::api::roaring64_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_contains
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_contains(const roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24941,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24943,1
    - Dst: art_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24946,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24947,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24952,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24965,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24969,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24976,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24976,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24977,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24980,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24980,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24982,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24986,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24989
      start: 24934
    functionDepth: 2
    functionLinenumber: 24934
    functionLinenumberEnd: 24989
    functionName: roaring::api::roaring64_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_is_full
    - art_iterator_next
    - roaring::api::split_key
    - art_lower_bound
    - container_contains_range
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_contains_range(const roaring64_bitmap_t *r,
      uint64_t min,\n                                     uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24995,1
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24998,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25001,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25006,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25008,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25008,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25010
      start: 24991
    functionDepth: 2
    functionLinenumber: 24991
    functionLinenumberEnd: 25010
    functionName: roaring::api::roaring64_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_contains
    - art_compare_keys
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_contains_bulk(const roaring64_bitmap_t *r,\n
      \                                   roaring64_bulk_context_t *context,\n                                    uint64_t
      val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25014,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25018,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25018,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25019,1
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25026,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - r
    - rank
    - element
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25035
      start: 25012
    functionDepth: 2
    functionLinenumber: 25012
    functionLinenumberEnd: 25035
    functionName: roaring::api::roaring64_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - container_get_cardinality
    - container_select
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_select(const roaring64_bitmap_t *r, uint64_t
      rank,\n                             uint64_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25039,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25041,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25045,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25047,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25047,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25048,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25050,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25050,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25051,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25058
      start: 25037
    functionDepth: 2
    functionLinenumber: 25037
    functionLinenumberEnd: 25058
    functionName: roaring::api::roaring64_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::split_key
    - art_iterator_next
    - container_get_cardinality
    - container_rank
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_rank(const roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25063,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25065,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25069,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25071,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25071,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25072,1
    - Dst: container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25074,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25074,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25075,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - r
    - val
    - out_index
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25087
      start: 25060
    functionDepth: 2
    functionLinenumber: 25060
    functionLinenumberEnd: 25087
    functionName: roaring::api::roaring64_bitmap_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_index
    - art_init_iterator
    - roaring::api::split_key
    - art_iterator_next
    - container_get_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_get_index(const roaring64_bitmap_t *r, uint64_t
      val,\n                                uint64_t *out_index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25098,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25099,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25102,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25104,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25105,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25107,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25108,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25109,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25110,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - r
    - high48
    - low16
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t*
    - uint16_t
    - leaf_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25109
        line_start: 25109
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25116
      start: 25090
    functionDepth: 2
    functionLinenumber: 25090
    functionLinenumberEnd: 25116
    functionName: roaring::api::containerptr_roaring64_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - container_remove
    - art_erase
    - roaring::api::remove_container
    - assert
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: bool
    signature: "bool containerptr_roaring64_bitmap_remove(roaring64_bitmap_t *r,\n
      \                                                       uint8_t *high48,\n                                                        uint16_t
      low16,\n                                                        leaf_t *leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25121,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25123,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25125
      start: 25118
    functionDepth: 3
    functionLinenumber: 25118
    functionLinenumberEnd: 25125
    functionName: roaring::api::roaring64_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_find
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::split_key
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_remove(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25130,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25131,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25138,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25144
      start: 25127
    functionDepth: 3
    functionLinenumber: 25127
    functionLinenumberEnd: 25144
    functionName: roaring::api::roaring64_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_get_cardinality
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_remove_checked(roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25151,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25153,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25155,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25156,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25159,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25161,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25162,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25164,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25165,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25167,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25168,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25170,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25175,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25176,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25167
        line_start: 25167
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25180
      start: 25146
    functionDepth: 3
    functionLinenumber: 25146
    functionLinenumberEnd: 25180
    functionName: roaring::api::roaring64_bitmap_remove_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - container_remove
    - roaring::api::split_key
    - art_erase
    - assert
    - roaring::api::remove_container
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - memcpy
    - art_find
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_bulk(roaring64_bitmap_t *r,\n                                  roaring64_bulk_context_t
      *context,\n                                  uint64_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring64_bitmap_t*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25193
      start: 25182
    functionDepth: 4
    functionLinenumber: 25182
    functionLinenumberEnd: 25193
    functionName: roaring::api::roaring64_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_bulk
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_many(roaring64_bitmap_t *r, size_t n_args,\n
      \                                 const uint64_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25198,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25202,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25203,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25206,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25208,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25210,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25212,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25213,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - r
    - art
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - art_t*
    - uint8_t*
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25212
        line_start: 25212
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25218
      start: 25195
    functionDepth: 2
    functionLinenumber: 25195
    functionLinenumberEnd: 25218
    functionName: roaring::api::remove_range_closed_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - art_erase
    - roaring::api::remove_container
    - container_remove_range
    - assert
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: void
    signature: "void remove_range_closed_at(roaring64_bitmap_t *r, art_t *art,\n                                          uint8_t
      *high48, uint16_t min,\n                                          uint16_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25226
      start: 25220
    functionDepth: 4
    functionLinenumber: 25220
    functionLinenumberEnd: 25226
    functionName: roaring::api::roaring64_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_range(roaring64_bitmap_t *r, uint64_t
      min,\n                                   uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25236,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25238,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25239,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25241,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25247,1
    - Dst: art_upper_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25249,1
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25250,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25252,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25253,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25256,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25252
        line_start: 25252
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25259
      start: 25228
    functionDepth: 3
    functionLinenumber: 25228
    functionLinenumberEnd: 25259
    functionName: roaring::api::roaring64_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::remove_range_closed_at
    - roaring::api::split_key
    - art_upper_bound
    - assert
    - roaring::api::remove_container
    - art_compare_keys
    - roaring::api::get_typecode
    - roaring::api::get_container
    - container_free
    - art_iterator_erase
    - roaring::api::compare_high48
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_range_closed(roaring64_bitmap_t *r, uint64_t
      min,\n                                          uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25263
      start: 25261
    functionDepth: 4
    functionLinenumber: 25261
    functionLinenumberEnd: 25263
    functionName: roaring::api::roaring64_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_clear(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25266,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25270,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25270,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25271,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25275
      start: 25265
    functionDepth: 2
    functionLinenumber: 25265
    functionLinenumberEnd: 25275
    functionName: roaring::api::roaring64_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - art_iterator_next
    - art_init_iterator
    - container_get_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_get_cardinality(const roaring64_bitmap_t
      *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_range_closed_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25286
      start: 25277
    functionDepth: 3
    functionLinenumber: 25277
    functionLinenumberEnd: 25286
    functionName: roaring::api::roaring64_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_range_closed_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_range_cardinality(const roaring64_bitmap_t
      *r,\n                                            uint64_t min, uint64_t max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25296,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25298,1
    - Dst: art_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25300,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25302,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25309,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25310,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25314,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25318,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25320,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25323,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25328
      start: 25288
    functionDepth: 2
    functionLinenumber: 25288
    functionLinenumberEnd: 25328
    functionName: roaring::api::roaring64_bitmap_range_closed_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - art_iterator_next
    - roaring::api::split_key
    - container_get_cardinality
    - container_rank
    - art_lower_bound
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_range_closed_cardinality(const roaring64_bitmap_t
      *r,\n                                                   uint64_t min, uint64_t
      max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_is_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25332
      start: 25330
    functionDepth: 0
    functionLinenumber: 25330
    functionLinenumberEnd: 25332
    functionName: roaring::api::roaring64_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_is_empty
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_is_empty(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25335,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25340,1
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25342
      start: 25334
    functionDepth: 2
    functionLinenumber: 25334
    functionLinenumberEnd: 25342
    functionName: roaring::api::roaring64_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - container_minimum
    - art_init_iterator
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_minimum(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25345,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25350,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25352
      start: 25344
    functionDepth: 2
    functionLinenumber: 25344
    functionLinenumberEnd: 25352
    functionName: roaring::api::roaring64_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - container_maximum
    - art_init_iterator
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_maximum(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25355,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25362,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25363,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25363,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25364,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25369
      start: 25354
    functionDepth: 2
    functionLinenumber: 25354
    functionLinenumberEnd: 25369
    functionName: roaring::api::roaring64_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - convert_run_optimize
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_run_optimize(roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25372,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25376,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25378,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25378,1
    - Dst: roaring::api::next_free_container_idx
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25380
      start: 25371
    functionDepth: 2
    functionLinenumber: 25371
    functionLinenumberEnd: 25380
    functionName: roaring::api::move_to_shrink
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::api::next_free_container_idx
    - roaring::api::create_leaf
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::get_index
    linkageType: ''
    returnType: void
    signature: void move_to_shrink(roaring64_bitmap_t *r, leaf_t *leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25384
      start: 25382
    functionDepth: 0
    functionLinenumber: 25382
    functionLinenumberEnd: 25384
    functionName: roaring::api::is_shrunken
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - art_is_shrunken
    linkageType: ''
    returnType: bool
    signature: bool is_shrunken(const roaring64_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25387,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25388,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25391,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25391,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25392,1
    - Dst: roaring::api::move_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25393,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25394,1
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25396,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25407
      start: 25386
    functionDepth: 3
    functionLinenumber: 25386
    functionLinenumberEnd: 25407
    functionName: roaring::api::roaring64_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_shrink_to_fit
    - container_shrink_to_fit
    - roaring::api::is_shrunken
    - roaring::api::get_container
    - roaring_realloc
    - roaring::api::get_typecode
    - roaring::api::move_to_shrink
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_shrink_to_fit(roaring64_bitmap_t *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25415,1
    - Dst: roaring::api::roaring64_bitmap_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25416,1
    - Dst: roaring::api::roaring64_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25417,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25419,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25425,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25425,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25426,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25447,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 25446
        line_start: 25446
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25452
      start: 25413
    functionDepth: 3
    functionLinenumber: 25413
    functionLinenumberEnd: 25452
    functionName: roaring::api::roaring64_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::roaring64_bitmap_maximum
    - container_get_cardinality
    - assert
    - roaring::api::roaring64_bitmap_minimum
    - roaring::api::get_typecode
    - container_size_in_bytes
    - roaring::api::get_container
    - memset
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_statistics(const roaring64_bitmap_t *r,\n                                 roaring64_statistics_t
      *stat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25459,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25459,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - reason
    - context
    argTypes:
    - art_val_t
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25461
      start: 25454
    functionDepth: 2
    functionLinenumber: 25454
    functionLinenumberEnd: 25461
    functionName: roaring::api::roaring64_leaf_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::get_typecode
    - container_internal_validate
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_leaf_internal_validate(const art_val_t val,\n                                             const
      char **reason,\n                                             void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - reason
    argTypes:
    - roaring64_bitmap_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25467
      start: 25463
    functionDepth: 0
    functionLinenumber: 25463
    functionLinenumberEnd: 25467
    functionName: roaring::api::roaring64_bitmap_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_internal_validate
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_internal_validate(const roaring64_bitmap_t *r,\n
      \                                       const char **reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25471,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25472,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25475,1
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25481,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25481,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25484,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25488
      start: 25469
    functionDepth: 2
    functionLinenumber: 25469
    functionLinenumberEnd: 25488
    functionName: roaring::api::roaring64_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_equals
    - art_init_iterator
    - art_iterator_next
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_equals(const roaring64_bitmap_t *r1,\n                             const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25492,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25493,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25500,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25504,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25505,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25505,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25506,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25506,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25509,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25510,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25520
      start: 25490
    functionDepth: 2
    functionLinenumber: 25490
    functionLinenumberEnd: 25520
    functionName: roaring::api::roaring64_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - container_is_subset
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_is_subset(const roaring64_bitmap_t *r1,\n                                const
      roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25524,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25525,1
    - Dst: roaring::api::roaring64_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25527
      start: 25522
    functionDepth: 3
    functionLinenumber: 25522
    functionLinenumberEnd: 25527
    functionName: roaring::api::roaring64_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_is_subset
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_is_strict_subset(const roaring64_bitmap_t *r1,\n
      \                                      const roaring64_bitmap_t *r2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25531,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25533,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25534,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25541,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25549,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25549,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25551,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25554,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25555,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25557,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25559,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25560,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25563,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25570
      start: 25529
    functionDepth: 3
    functionLinenumber: 25529
    functionLinenumberEnd: 25570
    functionName: roaring::api::roaring64_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - container_and
    - container_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_and(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25576,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25577,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25584,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25589,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25590,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25590,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25591,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25591,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25592,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25593,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25596,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25603
      start: 25572
    functionDepth: 2
    functionLinenumber: 25572
    functionLinenumberEnd: 25603
    functionName: roaring::api::roaring64_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - container_and_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_and_cardinality(const roaring64_bitmap_t
      *r1,\n                                          const roaring64_bitmap_t *r2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25611,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25612,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25624,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25636,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25637,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25641,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25642,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25643,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25645,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25646,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25647,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25651,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25653,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25654,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25655,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25656,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25659,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25663,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25665,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25672,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25673,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25676,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25679,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25672
        line_start: 25672
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25682
      start: 25606
    functionDepth: 2
    functionLinenumber: 25606
    functionLinenumberEnd: 25682
    functionName: roaring::api::roaring64_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::remove_container
    - assert
    - container_and
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_and_inplace(roaring64_bitmap_t *r1,\n                                  const
      roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25687,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25688,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25695,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25700,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25701,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25701,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25702,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25702,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25703,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25704,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25707,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25714
      start: 25684
    functionDepth: 2
    functionLinenumber: 25684
    functionLinenumberEnd: 25714
    functionName: roaring::api::roaring64_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::get_container
    - container_intersect
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_intersect(const roaring64_bitmap_t *r1,\n                                const
      roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25722,1
    - Dst: roaring::api::roaring64_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25723,1
    - Dst: roaring::api::roaring64_iterator_has_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25726,1
    - Dst: roaring::api::roaring64_iterator_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25728
      start: 25716
    functionDepth: 4
    functionLinenumber: 25716
    functionLinenumberEnd: 25728
    functionName: roaring::api::roaring64_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring::api::roaring64_iterator_value
    - roaring::api::roaring64_iterator_move_equalorlarger
    - roaring::api::roaring64_iterator_has_value
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_intersect_with_range(const roaring64_bitmap_t
      *r,\n                                           uint64_t min, uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25732,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25733,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25736
      start: 25730
    functionDepth: 3
    functionLinenumber: 25730
    functionLinenumberEnd: 25736
    functionName: roaring::api::roaring64_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring64_bitmap_jaccard_index(const roaring64_bitmap_t *r1,\n
      \                                     const roaring64_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25740,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25742,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25743,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25758,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25766,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25766,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25769,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25770,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25771,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25772,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25778,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25779,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25780,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25784,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25785,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25786,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25790
      start: 25738
    functionDepth: 4
    functionLinenumber: 25738
    functionLinenumberEnd: 25790
    functionName: roaring::api::roaring64_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::copy_leaf_container
    - roaring::api::roaring64_bitmap_create
    - container_or
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_or(const roaring64_bitmap_t *r1,\n
      \                                       const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25794,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25795,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25798
      start: 25792
    functionDepth: 3
    functionLinenumber: 25792
    functionLinenumberEnd: 25798
    functionName: roaring::api::roaring64_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_or_cardinality(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25805,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25806,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25821,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25826,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25827,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25830,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25831,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25832,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25833,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25835,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25836,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25837,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25840,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25841,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25843,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25844,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25849,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25853,1
    - Dst: art_iterator_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25854,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25855,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25858
      start: 25800
    functionDepth: 4
    functionLinenumber: 25800
    functionLinenumberEnd: 25858
    functionName: roaring::api::roaring64_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_iterator_insert
    - roaring::api::copy_leaf_container
    - container_ior
    - container_or
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_or_inplace(roaring64_bitmap_t *r1,\n                                 const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25862,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25864,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25865,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25880,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25888,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25888,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25890,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25892,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25894,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25896,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25898,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25899,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25905,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25906,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25907,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25911,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25912,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25913,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25917
      start: 25860
    functionDepth: 4
    functionLinenumber: 25860
    functionLinenumberEnd: 25917
    functionName: roaring::api::roaring64_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_xor
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::copy_leaf_container
    - container_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_xor(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25921,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25922,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25925
      start: 25919
    functionDepth: 3
    functionLinenumber: 25919
    functionLinenumberEnd: 25925
    functionName: roaring::api::roaring64_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_xor_cardinality(const roaring64_bitmap_t
      *r1,\n                                          const roaring64_bitmap_t *r2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25929,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25930,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25931,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25946,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25951,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25952,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25956,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25957,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25958,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25963,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25966,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25967,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25968,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25971,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25972,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25973,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25974,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25976,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25979,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25983,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25985,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25990,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25994,1
    - Dst: art_iterator_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25996,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25997,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25999,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26001,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (r1 != r2)
      pos:
        line_end: 25928
        line_start: 25928
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (erased)
      pos:
        line_end: 25973
        line_start: 25973
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26004
      start: 25927
    functionDepth: 4
    functionLinenumber: 25927
    functionLinenumberEnd: 26004
    functionName: roaring::api::roaring64_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_xor
    - art_init_iterator
    - art_iterator_next
    - roaring::api::remove_container
    - assert
    - art_iterator_insert
    - roaring::api::copy_leaf_container
    - container_ixor
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_xor_inplace(roaring64_bitmap_t *r1,\n                                  const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26008,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26010,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26011,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26023,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26029,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26030,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26030,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26031,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26031,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26034,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26036,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26038,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26040,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26042,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26043,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26049,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26050,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26051,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26058
      start: 26006
    functionDepth: 4
    functionLinenumber: 26006
    functionLinenumberEnd: 26058
    functionName: roaring::api::roaring64_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - container_andnot
    - container_free
    - roaring::api::copy_leaf_container
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_andnot(const roaring64_bitmap_t
      *r1,\n                                            const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26062,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26065
      start: 26060
    functionDepth: 3
    functionLinenumber: 26060
    functionLinenumberEnd: 26065
    functionName: roaring::api::roaring64_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_andnot_cardinality(const roaring64_bitmap_t
      *r1,\n                                             const roaring64_bitmap_t
      *r2)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26069,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26070,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26082,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26087,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26088,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26092,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26093,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26094,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26099,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26102,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26103,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26104,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26107,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26108,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26109,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26110,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26112,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26115,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26119,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26121,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26126,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 26109
        line_start: 26109
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26132
      start: 26067
    functionDepth: 2
    functionLinenumber: 26067
    functionLinenumberEnd: 26132
    functionName: roaring::api::roaring64_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - container_iandnot
    - roaring::api::remove_container
    - art_iterator_next
    - assert
    - container_andnot
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_andnot_inplace(roaring64_bitmap_t *r1,\n                                     const
      roaring64_bitmap_t *r2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26141,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26146,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26149,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26149,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26150,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26157,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26158,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26159,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - r1
    - r2
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    - uint8_t[]
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26163
      start: 26138
    functionDepth: 3
    functionLinenumber: 26138
    functionLinenumberEnd: 26163
    functionName: roaring::api::roaring64_flip_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - container_not_range
    - container_not
    - container_range_of_ones
    - roaring::api::add_container
    - container_free
    - roaring::api::get_container
    - container_nonzero_cardinality
    - art_find
    - roaring::api::get_typecode
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_flip_leaf(const roaring64_bitmap_t *r1,\n                                roaring64_bitmap_t
      *r2, uint8_t high48[],\n                                uint32_t min, uint32_t
      max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26172,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26177,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26178,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26179,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26185,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26185,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26186,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26189,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26190,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26190,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26193,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26194,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26196,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26197,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26199,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - r
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t[]
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 26196
        line_start: 26196
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26202
      start: 26170
    functionDepth: 3
    functionLinenumber: 26170
    functionLinenumberEnd: 26202
    functionName: roaring::api::roaring64_flip_leaf_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - container_range_of_ones
    - roaring::api::add_container
    - art_erase
    - assert
    - roaring::api::remove_container
    - container_free
    - container_inot_range
    - container_inot
    - roaring::api::get_container
    - container_nonzero_cardinality
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_flip_leaf_inplace(roaring64_bitmap_t *r, uint8_t high48[],\n
      \                                       uint32_t min, uint32_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26207,1
    - Dst: roaring::api::roaring64_bitmap_flip_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26210
      start: 26204
    functionDepth: 5
    functionLinenumber: 26204
    functionLinenumberEnd: 26210
    functionName: roaring::api::roaring64_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_flip_closed
    - roaring::api::roaring64_bitmap_copy
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_flip(const roaring64_bitmap_t
      *r,\n                                          uint64_t min, uint64_t max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26215,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26218,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26220,1
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26224,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26225,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26228,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26230,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26231,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26232,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26233,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26234,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26235,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26243,1
    - Dst: roaring::api::roaring64_flip_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26254,1
    - Dst: art_upper_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26259,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26262,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26263,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26264,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26265,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26266,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - r1
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26271
      start: 26212
    functionDepth: 4
    functionLinenumber: 26212
    functionLinenumberEnd: 26271
    functionName: roaring::api::roaring64_bitmap_flip_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - art_init_iterator
    - roaring::api::split_key
    - roaring::api::add_container
    - art_iterator_next
    - roaring::api::roaring64_flip_leaf
    - art_upper_bound
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - get_copy_of_container
    - roaring::api::roaring64_bitmap_copy
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_flip_closed(const roaring64_bitmap_t
      *r1,\n                                                 uint64_t min, uint64_t
      max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_flip_closed_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26279
      start: 26273
    functionDepth: 5
    functionLinenumber: 26273
    functionLinenumberEnd: 26279
    functionName: roaring::api::roaring64_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_flip_closed_inplace
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_flip_inplace(roaring64_bitmap_t *r, uint64_t
      min,\n                                   uint64_t max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26296,1
    - Dst: roaring::api::roaring64_flip_leaf_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26310
      start: 26281
    functionDepth: 4
    functionLinenumber: 26281
    functionLinenumberEnd: 26310
    functionName: roaring::api::roaring64_bitmap_flip_closed_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::api::split_key
    - roaring::api::roaring64_flip_leaf_inplace
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_flip_closed_inplace(roaring64_bitmap_t *r, uint64_t
      min,\n                                          uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26314,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26318,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26326
      start: 26313
    functionDepth: 2
    functionLinenumber: 26313
    functionLinenumberEnd: 26326
    functionName: roaring::api::count_high32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - art_iterator_next
    - roaring::api::combine_key
    - art_init_iterator
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t count_high32(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26330,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26332
      start: 26329
    functionDepth: 0
    functionLinenumber: 26329
    functionLinenumberEnd: 26332
    functionName: roaring::api::roaring_bitmap_free_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - ra_clear_without_containers
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free_without_containers(roaring_bitmap_t *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26343,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26349,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26358,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26359,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26365,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26368,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26371,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26376,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26377,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26378,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26379,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26388,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26393
      start: 26334
    functionDepth: 2
    functionLinenumber: 26334
    functionLinenumberEnd: 26393
    functionName: roaring::api::roaring64_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_next
    - art_init_iterator
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_append
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::get_container
    - roaring::api::roaring_bitmap_free_without_containers
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_portable_size_in_bytes(const roaring64_bitmap_t
      *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::count_high32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26405,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26406,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26409,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26415,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26421,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26426,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26427,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26434,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26436,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26439,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26444,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26445,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26446,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26447,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26452,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26457,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring64_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26462
      start: 26395
    functionDepth: 3
    functionLinenumber: 26395
    functionLinenumberEnd: 26462
    functionName: roaring::api::roaring64_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::roaring_bitmap_portable_serialize
    - art_iterator_next
    - roaring::api::count_high32
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_append
    - roaring::api::get_container
    - roaring::api::roaring_bitmap_free_without_containers
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_portable_serialize(const roaring64_bitmap_t
      *r,\n                                           char *buf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26478,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26499,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26508
      start: 26464
    functionDepth: 0
    functionLinenumber: 26464
    functionLinenumberEnd: 26508
    functionName: roaring::api::roaring64_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_size
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_portable_deserialize_size(const char *buf,\n
      \                                                 size_t maxbytes)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26524,1
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26533,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26540,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26543,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26548,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26555,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26558,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26562,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26565,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26582,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26583,1
    - Dst: roaring::api::move_from_roaring32_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26590,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26594
      start: 26510
    functionDepth: 4
    functionLinenumber: 26510
    functionLinenumberEnd: 26594
    functionName: roaring::api::roaring64_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    - roaring::api::roaring_bitmap_free
    - roaring::api::roaring_bitmap_portable_deserialize_size
    - roaring::api::roaring64_bitmap_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::move_from_roaring32_offset
    - memcpy
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_portable_deserialize_safe(\n
      \   const char *buf, size_t maxbytes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26611
        line_start: 26611
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26617
      start: 26599
    functionDepth: 0
    functionLinenumber: 26599
    functionLinenumberEnd: 26617
    functionName: roaring::api::container_get_element_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t container_get_element_count(const container_t *c,\n                                                   uint8_t
      typecode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26626,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26629,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26631
        line_start: 26631
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26637
      start: 26619
    functionDepth: 1
    functionLinenumber: 26619
    functionLinenumberEnd: 26637
    functionName: roaring::api::container_get_frozen_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::container_get_element_count
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t container_get_frozen_size(const container_t *c,\n                                               uint8_t
      typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26641
      start: 26639
    functionDepth: 0
    functionLinenumber: 26639
    functionLinenumberEnd: 26641
    functionName: roaring::api::align_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t align_size(uint64_t size, uint64_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26644,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26656,1
    - Dst: art_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26657,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26661,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26664,1
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26666,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26666,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26667,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26670,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26672,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26674,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26679
      start: 26643
    functionDepth: 2
    functionLinenumber: 26643
    functionLinenumberEnd: 26679
    functionName: roaring::api::roaring64_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::container_get_frozen_size
    - art_iterator_next
    - art_size_in_bytes
    - roaring::api::is_shrunken
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::align_size
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_frozen_size_in_bytes(const roaring64_bitmap_t
      *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26686,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26690,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26696,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26697,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26702,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26703,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - container
    - typecode
    - bitsets
    - arrays
    - runs
    argTypes:
    - container_t*
    - uint8_t
    - uint64_t**
    - uint16_t**
    - rle16_t**
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26706
        line_start: 26706
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26711
      start: 26681
    functionDepth: 2
    functionLinenumber: 26681
    functionLinenumberEnd: 26711
    functionName: roaring::api::container_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - roaring::api::container_get_element_count
    - assert
    - memcpy
    - roaring::api::container_get_frozen_size
    linkageType: ''
    returnType: void
    signature: "void container_frozen_serialize(const container_t *container,\n                                              uint8_t
      typecode,\n                                              uint64_t **bitsets,\n
      \                                             uint16_t **arrays,\n                                              rle16_t
      **runs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26716,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - initial_buf
    - alignment
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26719
      start: 26713
    functionDepth: 1
    functionLinenumber: 26713
    functionLinenumberEnd: 26719
    functionName: roaring::api::pad_align
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - memset
    - roaring::api::align_size
    linkageType: ''
    returnType: char
    signature: "char *pad_align(char *buf, const char *initial_buf,\n                              size_t
      alignment)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26726,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26732,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26736,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26742,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26745,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26746,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26748,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26750,1
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26753,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26754,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26758,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26760,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26762,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26766,1
    - Dst: art_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26767,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26772,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26775,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26778,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26782,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26785,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26786,1
    - Dst: roaring::api::container_frozen_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26787,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26789,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring64_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26796
      start: 26721
    functionDepth: 3
    functionLinenumber: 26721
    functionLinenumberEnd: 26796
    functionName: roaring::api::roaring64_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::container_get_frozen_size
    - art_iterator_next
    - roaring::api::pad_align
    - roaring::api::container_get_element_count
    - roaring::api::is_shrunken
    - roaring::api::container_frozen_serialize
    - roaring::api::get_container
    - roaring::api::get_typecode
    - art_serialize
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_frozen_serialize(const roaring64_bitmap_t
      *r,\n                                         char *buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26804,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26813,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26822,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 5
    argNames:
    - typecode
    - elem_count
    - bitsets
    - arrays
    - runs
    argTypes:
    - uint8_t
    - uint32_t
    - uint64_t**
    - uint16_t**
    - rle16_t**
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26829
        line_start: 26829
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26835
      start: 26798
    functionDepth: 0
    functionLinenumber: 26798
    functionLinenumberEnd: 26835
    functionName: roaring::api::container_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 1
    functionsReached:
    - assert
    - roaring_malloc
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_frozen_view(uint8_t typecode, uint32_t elem_count,\n
      \                                         const uint64_t **bitsets,\n                                          const
      uint16_t **arrays,\n                                          const rle16_t
      **runs)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26846,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26850,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26853,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26860,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26863,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26868,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26872,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26882,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26885,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26888,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26891,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26896,1
    - Dst: art_frozen_view
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26897,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26899,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26907,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26910,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26913,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26917,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26923,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26926,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26929,1
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26934,1
    - Dst: roaring::api::container_frozen_view
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26935,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26938,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26942,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 67
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26945
      start: 26837
    functionDepth: 3
    functionLinenumber: 26837
    functionLinenumberEnd: 26945
    functionName: roaring::api::roaring64_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::container_frozen_view
    - roaring_malloc
    - roaring::api::roaring64_bitmap_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_typecode
    - CROARING_ALIGN_BUF
    - art_frozen_view
    - memcpy
    - roaring::api::get_index
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_frozen_view(const char *buf,\n
      \                                                size_t maxbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26949,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26951,1
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring64_bitmap_t*
    - roaring_iterator64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26962
      start: 26947
    functionDepth: 2
    functionLinenumber: 26947
    functionLinenumberEnd: 26962
    functionName: roaring::api::roaring64_bitmap_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - container_iterate64
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_iterate(const roaring64_bitmap_t *r,\n                              roaring_iterator64
      iterator, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26967,1
    - Dst: roaring::api::roaring64_iterator_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - out
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26969
      start: 26964
    functionDepth: 4
    functionLinenumber: 26964
    functionLinenumberEnd: 26969
    functionName: roaring::api::roaring64_bitmap_to_uint64_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring::api::roaring64_iterator_read
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_to_uint64_array(const roaring64_bitmap_t *r,\n
      \                                     uint64_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26973,1
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26975
      start: 26971
    functionDepth: 4
    functionLinenumber: 26971
    functionLinenumberEnd: 26975
    functionName: roaring::api::roaring64_iterator_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: roaring64_iterator_t *roaring64_iterator_create(const roaring64_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26980,1
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26982
      start: 26977
    functionDepth: 4
    functionLinenumber: 26977
    functionLinenumberEnd: 26982
    functionName: roaring::api::roaring64_iterator_create_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: "roaring64_iterator_t *roaring64_iterator_create_last(\n    const roaring64_bitmap_t
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - it
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26987
      start: 26984
    functionDepth: 4
    functionLinenumber: 26984
    functionLinenumberEnd: 26987
    functionName: roaring::api::roaring64_iterator_reinit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_iterator_reinit(const roaring64_bitmap_t *r,\n                               roaring64_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - it
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26992
      start: 26989
    functionDepth: 4
    functionLinenumber: 26989
    functionLinenumberEnd: 26992
    functionName: roaring::api::roaring64_iterator_reinit_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_iterator_reinit_last(const roaring64_bitmap_t *r,\n
      \                                   roaring64_iterator_t *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26996,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26999
      start: 26994
    functionDepth: 0
    functionLinenumber: 26994
    functionLinenumberEnd: 26999
    functionName: roaring::api::roaring64_iterator_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: roaring64_iterator_t *roaring64_iterator_copy(const roaring64_iterator_t
      *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27001
      start: 27001
    functionDepth: 0
    functionLinenumber: 27001
    functionLinenumberEnd: 27001
    functionName: roaring::api::roaring64_iterator_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring64_iterator_free(roaring64_iterator_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27005
      start: 27003
    functionDepth: 0
    functionLinenumber: 27003
    functionLinenumberEnd: 27005
    functionName: roaring::api::roaring64_iterator_has_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_has_value(const roaring64_iterator_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27009
      start: 27007
    functionDepth: 0
    functionLinenumber: 27007
    functionLinenumberEnd: 27009
    functionName: roaring::api::roaring64_iterator_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_iterator_value(const roaring64_iterator_t *it)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27016,1
    - Dst: container_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27026,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27027,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27031
      start: 27011
    functionDepth: 4
    functionLinenumber: 27011
    functionLinenumberEnd: 27031
    functionName: roaring::api::roaring64_iterator_advance
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - art_iterator_next
    - container_iterator_next
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_advance(roaring64_iterator_t *it)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27039,1
    - Dst: container_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: art_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27049,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27054
      start: 27033
    functionDepth: 4
    functionLinenumber: 27033
    functionLinenumberEnd: 27054
    functionName: roaring::api::roaring64_iterator_previous
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - art_iterator_prev
    - container_iterator_prev
    - roaring::api::roaring64_iterator_init_at_leaf_last
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_previous(roaring64_iterator_t *it)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27059,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27064,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27069,1
    - Dst: container_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27078,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27079,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27079,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27085,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27093,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring64_iterator_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27094
      start: 27056
    functionDepth: 3
    functionLinenumber: 27056
    functionLinenumberEnd: 27094
    functionName: roaring::api::roaring64_iterator_move_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - art_iterator_lower_bound
    - art_iterator_next
    - roaring::api::split_key
    - container_iterator_lower_bound
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_move_equalorlarger(roaring64_iterator_t *it,\n
      \                                          uint64_t val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_iterator_read_into_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27107,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27108,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27108,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27115,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27118,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring64_iterator_t*
    - uint64_t*
    - uint64_t
    assertStmts:
    - condition: (consumed == count)
      pos:
        line_end: 27114
        line_start: 27114
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 27124
      start: 27096
    functionDepth: 3
    functionLinenumber: 27096
    functionLinenumberEnd: 27124
    functionName: roaring::api::roaring64_iterator_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - art_iterator_next
    - assert
    - container_iterator_read_into_uint64
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_iterator_read(roaring64_iterator_t *it, uint64_t
      *buf,\n                                 uint64_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24480
      start: 24478
    functionDepth: 0
    functionLinenumber: 24478
    functionLinenumberEnd: 24480
    functionName: roaring::api::is_frozen64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen64(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: croaring_htobe64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24485,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - high48_out
    argTypes:
    - uint64_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24488
      start: 24484
    functionDepth: 1
    functionLinenumber: 24484
    functionLinenumberEnd: 24488
    functionName: roaring::api::split_key
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 38
    functionsReached:
    - croaring_htobe64
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t split_key(uint64_t key, uint8_t high48_out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24494,1
    - Dst: croaring_be64toh
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - high48
    - low16
    argTypes:
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24496
      start: 24492
    functionDepth: 1
    functionLinenumber: 24492
    functionLinenumberEnd: 24496
    functionName: roaring::api::combine_key
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 22
    functionsReached:
    - croaring_be64toh
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t combine_key(const uint8_t high48[], uint16_t low16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24500
      start: 24498
    functionDepth: 0
    functionLinenumber: 24498
    functionLinenumberEnd: 24500
    functionName: roaring::api::minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - container_index
    - typecode
    argTypes:
    - uint64_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24504
      start: 24502
    functionDepth: 0
    functionLinenumber: 24502
    functionLinenumberEnd: 24504
    functionName: roaring::api::create_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: leaf_t
    signature: leaf_t create_leaf(uint64_t container_index, uint8_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - leaf
    argTypes:
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24506
      start: 24506
    functionDepth: 0
    functionLinenumber: 24506
    functionLinenumberEnd: 24506
    functionName: roaring::api::get_typecode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_typecode(leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - leaf
    argTypes:
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24508
      start: 24508
    functionDepth: 0
    functionLinenumber: 24508
    functionLinenumberEnd: 24508
    functionName: roaring::api::get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_index(leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24513
      start: 24510
    functionDepth: 1
    functionLinenumber: 24510
    functionLinenumberEnd: 24513
    functionName: roaring::api::get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 106
    functionsReached:
    - roaring::api::get_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_container(const roaring64_bitmap_t *r,\n                                         leaf_t
      leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24520,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - r
    - leaf
    - container
    - typecode
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t*
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24524
      start: 24517
    functionDepth: 1
    functionLinenumber: 24517
    functionLinenumberEnd: 24524
    functionName: roaring::api::replace_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - roaring::api::create_leaf
    - roaring::api::get_index
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t replace_container(roaring64_bitmap_t *r, leaf_t *leaf,\n                                       container_t
      *container,\n                                       uint8_t typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24543,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24547
      start: 24529
    functionDepth: 0
    functionLinenumber: 24529
    functionLinenumberEnd: 24547
    functionName: roaring::api::extend_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - memset
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void extend_containers(roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24556
      start: 24549
    functionDepth: 0
    functionLinenumber: 24549
    functionLinenumberEnd: 24556
    functionName: roaring::api::next_free_container_idx
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_free_container_idx(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::extend_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24561,1
    - Dst: roaring::api::next_free_container_idx
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24565
      start: 24558
    functionDepth: 1
    functionLinenumber: 24558
    functionLinenumberEnd: 24565
    functionName: roaring::api::allocate_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::api::extend_containers
    - roaring::api::next_free_container_idx
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t allocate_index(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24569,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - container
    - typecode
    argTypes:
    - roaring64_bitmap_t*
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24572
      start: 24567
    functionDepth: 2
    functionLinenumber: 24567
    functionLinenumberEnd: 24572
    functionName: roaring::api::add_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 26
    functionsReached:
    - roaring::api::allocate_index
    - roaring::api::create_leaf
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t add_container(roaring64_bitmap_t *r, container_t *container,\n
      \                           uint8_t typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24580
      start: 24574
    functionDepth: 1
    functionLinenumber: 24574
    functionLinenumberEnd: 24580
    functionName: roaring::api::remove_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::api::get_index
    linkageType: ''
    returnType: void
    signature: void remove_container(roaring64_bitmap_t *r, leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24585,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24587,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24588,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r1
    - r2
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24590
      start: 24583
    functionDepth: 3
    functionLinenumber: 24583
    functionLinenumberEnd: 24590
    functionName: roaring::api::copy_leaf_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - roaring::api::get_typecode
    - get_copy_of_container
    - roaring::api::get_container
    - roaring::api::add_container
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t copy_leaf_container(const roaring64_bitmap_t *r1,\n                                         roaring64_bitmap_t
      *r2, leaf_t leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - art_key_chunk_t[]
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24595
      start: 24592
    functionDepth: 0
    functionLinenumber: 24592
    functionLinenumberEnd: 24595
    functionName: roaring::api::compare_high48
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 42
    functionsReached:
    - art_compare_keys
    linkageType: ''
    returnType: int
    signature: "int compare_high48(art_key_chunk_t key1[],\n                                 art_key_chunk_t
      key2[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24599,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24602,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24602,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24606
      start: 24597
    functionDepth: 2
    functionLinenumber: 24597
    functionLinenumberEnd: 24606
    functionName: roaring::api::roaring64_iterator_init_at_leaf_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - container_init_iterator
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_init_at_leaf_first(\n    roaring64_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24610,1
    - Dst: container_init_iterator_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24613,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24613,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24617
      start: 24608
    functionDepth: 2
    functionLinenumber: 24608
    functionLinenumberEnd: 24617
    functionName: roaring::api::roaring64_iterator_init_at_leaf_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - container_init_iterator_last
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_init_at_leaf_last(\n    roaring64_iterator_t
      *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24622,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24626,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - r
    - it
    - first
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24634
      start: 24619
    functionDepth: 3
    functionLinenumber: 24619
    functionLinenumberEnd: 24634
    functionName: roaring::api::roaring64_iterator_init_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 16
    functionsReached:
    - roaring::api::roaring64_iterator_init_at_leaf_last
    - art_init_iterator
    - roaring::api::roaring64_iterator_init_at_leaf_first
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: "roaring64_iterator_t *roaring64_iterator_init_at(\n    const roaring64_bitmap_t
      *r, roaring64_iterator_t *it, bool first)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24638,1
    - Dst: art_init_cleared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24645
      start: 24636
    functionDepth: 0
    functionLinenumber: 24636
    functionLinenumberEnd: 24645
    functionName: roaring::api::roaring64_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 22
    functionsReached:
    - art_init_cleared
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: roaring64_bitmap_t *roaring64_bitmap_create(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24651,1
    - Dst: roaring::api::is_frozen64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24654,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24657,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24657,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24661,1
    - Dst: roaring::api::is_frozen64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24663,1
    - Dst: art_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24664,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24666,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24668
      start: 24647
    functionDepth: 2
    functionLinenumber: 24647
    functionLinenumberEnd: 24668
    functionName: roaring::api::roaring64_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_free
    - roaring::api::is_frozen64
    - roaring_free
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_free(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24671,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24673,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24676,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24677,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24678,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24680,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24681,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24685
      start: 24670
    functionDepth: 3
    functionLinenumber: 24670
    functionLinenumberEnd: 24685
    functionName: roaring::api::roaring64_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - roaring::api::get_typecode
    - get_copy_of_container
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: roaring64_bitmap_t *roaring64_bitmap_copy(const roaring64_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24698,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24700,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24702,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24707,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24708,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - src
    - high_bits
    argTypes:
    - roaring64_bitmap_t*
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24713
      start: 24694
    functionDepth: 3
    functionLinenumber: 24694
    functionLinenumberEnd: 24713
    functionName: roaring::api::move_from_roaring32_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - roaring::api::split_key
    - roaring::api::add_container
    - ra_get_container_at_index
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void move_from_roaring32_offset(roaring64_bitmap_t *dst,\n                                       roaring_bitmap_t
      *src,\n                                       uint32_t high_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24717,1
    - Dst: roaring::api::move_from_roaring32_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitmap32
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24722
      start: 24715
    functionDepth: 4
    functionLinenumber: 24715
    functionLinenumberEnd: 24722
    functionName: roaring::api::roaring64_bitmap_move_from_roaring32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_create
    - roaring::api::move_from_roaring32_offset
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_move_from_roaring32(\n    roaring_bitmap_t
      *bitmap32)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24729,1
    - Dst: roaring::api::roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24733,1
    - Dst: roaring::api::minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24743,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24746,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24750,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24751,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24752,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24762
      start: 24724
    functionDepth: 5
    functionLinenumber: 24724
    functionLinenumberEnd: 24762
    functionName: roaring::api::roaring64_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - roaring::api::roaring64_bitmap_add
    - roaring::api::add_container
    - roaring::api::minimum
    - roaring::api::roaring64_bitmap_create
    - container_from_range
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                                uint64_t step)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24766,1
    - Dst: roaring::api::roaring64_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24769
      start: 24764
    functionDepth: 6
    functionLinenumber: 24764
    functionLinenumberEnd: 24769
    functionName: roaring::api::roaring64_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_add_many
    - roaring::api::roaring64_bitmap_create
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_of_ptr(size_t n_args,\n                                            const
      uint64_t *vals)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24776,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24777,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24780,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24782,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24783,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24787,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24790,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24791,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24792,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - r
    - high48
    - low16
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t*
    - uint16_t
    - leaf_t*
    assertStmts:
    - condition: (ac == container)
      pos:
        line_end: 24790
        line_start: 24790
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 24795
      start: 24771
    functionDepth: 3
    functionLinenumber: 24771
    functionLinenumberEnd: 24795
    functionName: roaring::api::containerptr_roaring64_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::api::add_container
    - assert
    - container_add
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - array_container_create
    - art_insert
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t *containerptr_roaring64_bitmap_add(roaring64_bitmap_t *r,\n
      \                                                       uint8_t *high48,\n                                                        uint16_t
      low16,\n                                                        leaf_t *leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24799,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24800,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24802
      start: 24797
    functionDepth: 4
    functionLinenumber: 24797
    functionLinenumberEnd: 24802
    functionName: roaring::api::roaring64_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - art_find
    - roaring::api::split_key
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_add(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24806,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24807,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24811,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24811,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24812,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24814,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24818
      start: 24804
    functionDepth: 4
    functionLinenumber: 24804
    functionLinenumberEnd: 24818
    functionName: roaring::api::roaring64_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_get_cardinality
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_add_checked(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24824,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24826,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24828,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24829,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24832,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24834,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24835,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24840,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24842,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24845
      start: 24820
    functionDepth: 4
    functionLinenumber: 24820
    functionLinenumberEnd: 24845
    functionName: roaring::api::roaring64_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::api::split_key
    - container_add
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - memcpy
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_bulk(roaring64_bitmap_t *r,\n                               roaring64_bulk_context_t
      *context,\n                               uint64_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring64_bitmap_t*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24858
      start: 24847
    functionDepth: 5
    functionLinenumber: 24847
    functionLinenumberEnd: 24858
    functionName: roaring::api::roaring64_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::roaring64_bitmap_add_bulk
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_many(roaring64_bitmap_t *r, size_t n_args,\n
      \                              const uint64_t *vals)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24863,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24865,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24866,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24869,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24871,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24872,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24879,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24880,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - r
    - art
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - art_t*
    - uint8_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24882
      start: 24860
    functionDepth: 3
    functionLinenumber: 24860
    functionLinenumberEnd: 24882
    functionName: roaring::api::add_range_closed_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - container_range_of_ones
    - container_add_range
    - roaring::api::add_container
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void add_range_closed_at(roaring64_bitmap_t *r, art_t *art,\n                                       uint8_t
      *high48, uint16_t min,\n                                       uint16_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24890
      start: 24884
    functionDepth: 5
    functionLinenumber: 24884
    functionLinenumberEnd: 24890
    functionName: roaring::api::roaring64_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_range(roaring64_bitmap_t *r, uint64_t min,\n
      \                               uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24900,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24902,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24903,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24905,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24911,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24917,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24918,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24921
      start: 24892
    functionDepth: 4
    functionLinenumber: 24892
    functionLinenumberEnd: 24921
    functionName: roaring::api::roaring64_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::compare_high48
    - roaring::api::split_key
    - roaring::api::add_range_closed_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_range_closed(roaring64_bitmap_t *r, uint64_t
      min,\n                                       uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24925,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24926,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24928,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24928,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24932
      start: 24923
    functionDepth: 2
    functionLinenumber: 24923
    functionLinenumberEnd: 24932
    functionName: roaring::api::roaring64_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_contains
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_contains(const roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24941,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24943,1
    - Dst: art_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24946,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24947,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24952,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24965,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24969,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24976,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24976,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24977,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24980,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24980,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24982,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24986,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24989
      start: 24934
    functionDepth: 2
    functionLinenumber: 24934
    functionLinenumberEnd: 24989
    functionName: roaring::api::roaring64_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_is_full
    - art_iterator_next
    - roaring::api::split_key
    - art_lower_bound
    - container_contains_range
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_contains_range(const roaring64_bitmap_t *r,
      uint64_t min,\n                                     uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24995,1
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24998,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25001,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25006,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25008,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25008,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25010
      start: 24991
    functionDepth: 2
    functionLinenumber: 24991
    functionLinenumberEnd: 25010
    functionName: roaring::api::roaring64_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_contains
    - art_compare_keys
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_contains_bulk(const roaring64_bitmap_t *r,\n
      \                                   roaring64_bulk_context_t *context,\n                                    uint64_t
      val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25014,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25018,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25018,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25019,1
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25026,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - r
    - rank
    - element
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25035
      start: 25012
    functionDepth: 2
    functionLinenumber: 25012
    functionLinenumberEnd: 25035
    functionName: roaring::api::roaring64_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - container_get_cardinality
    - container_select
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_select(const roaring64_bitmap_t *r, uint64_t
      rank,\n                             uint64_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25039,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25041,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25045,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25047,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25047,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25048,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25050,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25050,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25051,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25058
      start: 25037
    functionDepth: 2
    functionLinenumber: 25037
    functionLinenumberEnd: 25058
    functionName: roaring::api::roaring64_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::split_key
    - art_iterator_next
    - container_get_cardinality
    - container_rank
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_rank(const roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25063,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25065,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25069,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25071,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25071,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25072,1
    - Dst: container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25074,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25074,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25075,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - r
    - val
    - out_index
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25087
      start: 25060
    functionDepth: 2
    functionLinenumber: 25060
    functionLinenumberEnd: 25087
    functionName: roaring::api::roaring64_bitmap_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_index
    - art_init_iterator
    - roaring::api::split_key
    - art_iterator_next
    - container_get_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_get_index(const roaring64_bitmap_t *r, uint64_t
      val,\n                                uint64_t *out_index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25098,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25099,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25102,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25104,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25105,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25107,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25108,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25109,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25110,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - r
    - high48
    - low16
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t*
    - uint16_t
    - leaf_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25109
        line_start: 25109
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25116
      start: 25090
    functionDepth: 2
    functionLinenumber: 25090
    functionLinenumberEnd: 25116
    functionName: roaring::api::containerptr_roaring64_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - container_remove
    - art_erase
    - roaring::api::remove_container
    - assert
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: bool
    signature: "bool containerptr_roaring64_bitmap_remove(roaring64_bitmap_t *r,\n
      \                                                       uint8_t *high48,\n                                                        uint16_t
      low16,\n                                                        leaf_t *leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25121,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25123,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25125
      start: 25118
    functionDepth: 3
    functionLinenumber: 25118
    functionLinenumberEnd: 25125
    functionName: roaring::api::roaring64_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_find
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::split_key
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_remove(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25130,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25131,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25138,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25144
      start: 25127
    functionDepth: 3
    functionLinenumber: 25127
    functionLinenumberEnd: 25144
    functionName: roaring::api::roaring64_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_get_cardinality
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_remove_checked(roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25151,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25153,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25155,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25156,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25159,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25161,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25162,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25164,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25165,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25167,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25168,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25170,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25175,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25176,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25167
        line_start: 25167
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25180
      start: 25146
    functionDepth: 3
    functionLinenumber: 25146
    functionLinenumberEnd: 25180
    functionName: roaring::api::roaring64_bitmap_remove_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - container_remove
    - roaring::api::split_key
    - art_erase
    - assert
    - roaring::api::remove_container
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - memcpy
    - art_find
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_bulk(roaring64_bitmap_t *r,\n                                  roaring64_bulk_context_t
      *context,\n                                  uint64_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring64_bitmap_t*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25193
      start: 25182
    functionDepth: 4
    functionLinenumber: 25182
    functionLinenumberEnd: 25193
    functionName: roaring::api::roaring64_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_bulk
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_many(roaring64_bitmap_t *r, size_t n_args,\n
      \                                 const uint64_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25198,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25202,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25203,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25206,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25208,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25210,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25212,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25213,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - r
    - art
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - art_t*
    - uint8_t*
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25212
        line_start: 25212
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25218
      start: 25195
    functionDepth: 2
    functionLinenumber: 25195
    functionLinenumberEnd: 25218
    functionName: roaring::api::remove_range_closed_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - art_erase
    - roaring::api::remove_container
    - container_remove_range
    - assert
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: void
    signature: "void remove_range_closed_at(roaring64_bitmap_t *r, art_t *art,\n                                          uint8_t
      *high48, uint16_t min,\n                                          uint16_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25226
      start: 25220
    functionDepth: 4
    functionLinenumber: 25220
    functionLinenumberEnd: 25226
    functionName: roaring::api::roaring64_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_range(roaring64_bitmap_t *r, uint64_t
      min,\n                                   uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25236,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25238,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25239,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25241,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25247,1
    - Dst: art_upper_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25249,1
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25250,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25252,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25253,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25256,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25252
        line_start: 25252
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25259
      start: 25228
    functionDepth: 3
    functionLinenumber: 25228
    functionLinenumberEnd: 25259
    functionName: roaring::api::roaring64_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 5
    functionsReached:
    - roaring::api::remove_range_closed_at
    - roaring::api::split_key
    - art_upper_bound
    - assert
    - roaring::api::remove_container
    - art_compare_keys
    - roaring::api::get_typecode
    - roaring::api::get_container
    - container_free
    - art_iterator_erase
    - roaring::api::compare_high48
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_range_closed(roaring64_bitmap_t *r, uint64_t
      min,\n                                          uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25263
      start: 25261
    functionDepth: 4
    functionLinenumber: 25261
    functionLinenumberEnd: 25263
    functionName: roaring::api::roaring64_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_clear(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25266,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25270,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25270,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25271,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25275
      start: 25265
    functionDepth: 2
    functionLinenumber: 25265
    functionLinenumberEnd: 25275
    functionName: roaring::api::roaring64_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 10
    functionsReached:
    - art_iterator_next
    - art_init_iterator
    - container_get_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_get_cardinality(const roaring64_bitmap_t
      *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_range_closed_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25286
      start: 25277
    functionDepth: 3
    functionLinenumber: 25277
    functionLinenumberEnd: 25286
    functionName: roaring::api::roaring64_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_range_closed_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_range_cardinality(const roaring64_bitmap_t
      *r,\n                                            uint64_t min, uint64_t max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25296,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25298,1
    - Dst: art_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25300,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25302,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25309,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25310,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25314,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25318,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25320,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25323,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25328
      start: 25288
    functionDepth: 2
    functionLinenumber: 25288
    functionLinenumberEnd: 25328
    functionName: roaring::api::roaring64_bitmap_range_closed_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - art_iterator_next
    - roaring::api::split_key
    - container_get_cardinality
    - container_rank
    - art_lower_bound
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_range_closed_cardinality(const roaring64_bitmap_t
      *r,\n                                                   uint64_t min, uint64_t
      max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_is_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25332
      start: 25330
    functionDepth: 0
    functionLinenumber: 25330
    functionLinenumberEnd: 25332
    functionName: roaring::api::roaring64_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_is_empty
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_is_empty(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25335,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25340,1
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25342
      start: 25334
    functionDepth: 2
    functionLinenumber: 25334
    functionLinenumberEnd: 25342
    functionName: roaring::api::roaring64_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - container_minimum
    - art_init_iterator
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_minimum(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25345,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25350,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25352
      start: 25344
    functionDepth: 2
    functionLinenumber: 25344
    functionLinenumberEnd: 25352
    functionName: roaring::api::roaring64_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - container_maximum
    - art_init_iterator
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_maximum(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25355,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25362,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25363,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25363,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25364,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25369
      start: 25354
    functionDepth: 2
    functionLinenumber: 25354
    functionLinenumberEnd: 25369
    functionName: roaring::api::roaring64_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - convert_run_optimize
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_run_optimize(roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25372,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25376,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25378,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25378,1
    - Dst: roaring::api::next_free_container_idx
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25380
      start: 25371
    functionDepth: 2
    functionLinenumber: 25371
    functionLinenumberEnd: 25380
    functionName: roaring::api::move_to_shrink
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::api::next_free_container_idx
    - roaring::api::create_leaf
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::get_index
    linkageType: ''
    returnType: void
    signature: void move_to_shrink(roaring64_bitmap_t *r, leaf_t *leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25384
      start: 25382
    functionDepth: 0
    functionLinenumber: 25382
    functionLinenumberEnd: 25384
    functionName: roaring::api::is_shrunken
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - art_is_shrunken
    linkageType: ''
    returnType: bool
    signature: bool is_shrunken(const roaring64_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25387,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25388,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25391,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25391,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25392,1
    - Dst: roaring::api::move_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25393,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25394,1
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25396,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25407
      start: 25386
    functionDepth: 3
    functionLinenumber: 25386
    functionLinenumberEnd: 25407
    functionName: roaring::api::roaring64_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_shrink_to_fit
    - container_shrink_to_fit
    - roaring::api::is_shrunken
    - roaring::api::get_container
    - roaring_realloc
    - roaring::api::get_typecode
    - roaring::api::move_to_shrink
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_shrink_to_fit(roaring64_bitmap_t *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25415,1
    - Dst: roaring::api::roaring64_bitmap_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25416,1
    - Dst: roaring::api::roaring64_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25417,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25419,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25425,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25425,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25426,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25447,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 25446
        line_start: 25446
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25452
      start: 25413
    functionDepth: 3
    functionLinenumber: 25413
    functionLinenumberEnd: 25452
    functionName: roaring::api::roaring64_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::roaring64_bitmap_maximum
    - container_get_cardinality
    - assert
    - roaring::api::roaring64_bitmap_minimum
    - roaring::api::get_typecode
    - container_size_in_bytes
    - roaring::api::get_container
    - memset
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_statistics(const roaring64_bitmap_t *r,\n                                 roaring64_statistics_t
      *stat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25459,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25459,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - reason
    - context
    argTypes:
    - art_val_t
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25461
      start: 25454
    functionDepth: 2
    functionLinenumber: 25454
    functionLinenumberEnd: 25461
    functionName: roaring::api::roaring64_leaf_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::get_typecode
    - container_internal_validate
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_leaf_internal_validate(const art_val_t val,\n                                             const
      char **reason,\n                                             void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - reason
    argTypes:
    - roaring64_bitmap_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25467
      start: 25463
    functionDepth: 0
    functionLinenumber: 25463
    functionLinenumberEnd: 25467
    functionName: roaring::api::roaring64_bitmap_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_internal_validate
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_internal_validate(const roaring64_bitmap_t *r,\n
      \                                       const char **reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25471,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25472,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25475,1
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25481,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25481,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25484,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25488
      start: 25469
    functionDepth: 2
    functionLinenumber: 25469
    functionLinenumberEnd: 25488
    functionName: roaring::api::roaring64_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_equals
    - art_init_iterator
    - art_iterator_next
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_equals(const roaring64_bitmap_t *r1,\n                             const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25492,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25493,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25500,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25504,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25505,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25505,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25506,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25506,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25509,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25510,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25520
      start: 25490
    functionDepth: 2
    functionLinenumber: 25490
    functionLinenumberEnd: 25520
    functionName: roaring::api::roaring64_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - container_is_subset
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_is_subset(const roaring64_bitmap_t *r1,\n                                const
      roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25524,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25525,1
    - Dst: roaring::api::roaring64_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25527
      start: 25522
    functionDepth: 3
    functionLinenumber: 25522
    functionLinenumberEnd: 25527
    functionName: roaring::api::roaring64_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_is_subset
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_is_strict_subset(const roaring64_bitmap_t *r1,\n
      \                                      const roaring64_bitmap_t *r2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25531,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25533,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25534,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25541,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25549,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25549,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25551,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25554,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25555,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25557,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25559,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25560,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25563,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25570
      start: 25529
    functionDepth: 3
    functionLinenumber: 25529
    functionLinenumberEnd: 25570
    functionName: roaring::api::roaring64_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - container_and
    - container_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_and(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25576,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25577,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25584,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25589,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25590,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25590,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25591,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25591,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25592,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25593,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25596,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25603
      start: 25572
    functionDepth: 2
    functionLinenumber: 25572
    functionLinenumberEnd: 25603
    functionName: roaring::api::roaring64_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 8
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - container_and_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_and_cardinality(const roaring64_bitmap_t
      *r1,\n                                          const roaring64_bitmap_t *r2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25611,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25612,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25624,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25636,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25637,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25641,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25642,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25643,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25645,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25646,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25647,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25651,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25653,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25654,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25655,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25656,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25659,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25663,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25665,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25672,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25673,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25676,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25679,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25672
        line_start: 25672
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25682
      start: 25606
    functionDepth: 2
    functionLinenumber: 25606
    functionLinenumberEnd: 25682
    functionName: roaring::api::roaring64_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::remove_container
    - assert
    - container_and
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_and_inplace(roaring64_bitmap_t *r1,\n                                  const
      roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25687,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25688,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25695,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25700,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25701,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25701,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25702,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25702,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25703,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25704,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25707,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25714
      start: 25684
    functionDepth: 2
    functionLinenumber: 25684
    functionLinenumberEnd: 25714
    functionName: roaring::api::roaring64_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::get_container
    - container_intersect
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_intersect(const roaring64_bitmap_t *r1,\n                                const
      roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25722,1
    - Dst: roaring::api::roaring64_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25723,1
    - Dst: roaring::api::roaring64_iterator_has_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25726,1
    - Dst: roaring::api::roaring64_iterator_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25728
      start: 25716
    functionDepth: 4
    functionLinenumber: 25716
    functionLinenumberEnd: 25728
    functionName: roaring::api::roaring64_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring::api::roaring64_iterator_value
    - roaring::api::roaring64_iterator_move_equalorlarger
    - roaring::api::roaring64_iterator_has_value
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_intersect_with_range(const roaring64_bitmap_t
      *r,\n                                           uint64_t min, uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25732,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25733,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25736
      start: 25730
    functionDepth: 3
    functionLinenumber: 25730
    functionLinenumberEnd: 25736
    functionName: roaring::api::roaring64_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring64_bitmap_jaccard_index(const roaring64_bitmap_t *r1,\n
      \                                     const roaring64_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25740,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25742,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25743,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25758,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25766,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25766,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25769,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25770,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25771,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25772,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25778,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25779,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25780,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25784,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25785,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25786,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25790
      start: 25738
    functionDepth: 4
    functionLinenumber: 25738
    functionLinenumberEnd: 25790
    functionName: roaring::api::roaring64_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::copy_leaf_container
    - roaring::api::roaring64_bitmap_create
    - container_or
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_or(const roaring64_bitmap_t *r1,\n
      \                                       const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25794,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25795,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25798
      start: 25792
    functionDepth: 3
    functionLinenumber: 25792
    functionLinenumberEnd: 25798
    functionName: roaring::api::roaring64_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_or_cardinality(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25805,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25806,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25821,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25826,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25827,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25830,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25831,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25832,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25833,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25835,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25836,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25837,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25840,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25841,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25843,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25844,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25849,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25853,1
    - Dst: art_iterator_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25854,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25855,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25858
      start: 25800
    functionDepth: 4
    functionLinenumber: 25800
    functionLinenumberEnd: 25858
    functionName: roaring::api::roaring64_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_iterator_insert
    - roaring::api::copy_leaf_container
    - container_ior
    - container_or
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_or_inplace(roaring64_bitmap_t *r1,\n                                 const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25862,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25864,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25865,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25880,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25888,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25888,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25890,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25892,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25894,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25896,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25898,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25899,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25905,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25906,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25907,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25911,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25912,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25913,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25917
      start: 25860
    functionDepth: 4
    functionLinenumber: 25860
    functionLinenumberEnd: 25917
    functionName: roaring::api::roaring64_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_xor
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::copy_leaf_container
    - container_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_xor(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25921,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25922,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25925
      start: 25919
    functionDepth: 3
    functionLinenumber: 25919
    functionLinenumberEnd: 25925
    functionName: roaring::api::roaring64_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_xor_cardinality(const roaring64_bitmap_t
      *r1,\n                                          const roaring64_bitmap_t *r2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25929,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25930,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25931,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25946,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25951,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25952,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25956,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25957,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25958,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25963,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25966,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25967,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25968,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25971,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25972,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25973,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25974,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25976,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25979,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25983,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25985,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25990,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25994,1
    - Dst: art_iterator_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25996,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25997,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25999,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26001,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (r1 != r2)
      pos:
        line_end: 25928
        line_start: 25928
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (erased)
      pos:
        line_end: 25973
        line_start: 25973
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26004
      start: 25927
    functionDepth: 4
    functionLinenumber: 25927
    functionLinenumberEnd: 26004
    functionName: roaring::api::roaring64_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_xor
    - art_init_iterator
    - art_iterator_next
    - roaring::api::remove_container
    - assert
    - art_iterator_insert
    - roaring::api::copy_leaf_container
    - container_ixor
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_xor_inplace(roaring64_bitmap_t *r1,\n                                  const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26008,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26010,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26011,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26023,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26029,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26030,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26030,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26031,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26031,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26034,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26036,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26038,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26040,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26042,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26043,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26049,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26050,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26051,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26058
      start: 26006
    functionDepth: 4
    functionLinenumber: 26006
    functionLinenumberEnd: 26058
    functionName: roaring::api::roaring64_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - container_andnot
    - container_free
    - roaring::api::copy_leaf_container
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_andnot(const roaring64_bitmap_t
      *r1,\n                                            const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26062,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26065
      start: 26060
    functionDepth: 3
    functionLinenumber: 26060
    functionLinenumberEnd: 26065
    functionName: roaring::api::roaring64_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_andnot_cardinality(const roaring64_bitmap_t
      *r1,\n                                             const roaring64_bitmap_t
      *r2)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26069,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26070,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26082,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26087,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26088,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26092,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26093,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26094,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26099,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26102,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26103,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26104,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26107,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26108,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26109,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26110,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26112,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26115,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26119,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26121,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26126,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 26109
        line_start: 26109
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26132
      start: 26067
    functionDepth: 2
    functionLinenumber: 26067
    functionLinenumberEnd: 26132
    functionName: roaring::api::roaring64_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - container_iandnot
    - roaring::api::remove_container
    - art_iterator_next
    - assert
    - container_andnot
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_andnot_inplace(roaring64_bitmap_t *r1,\n                                     const
      roaring64_bitmap_t *r2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26141,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26146,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26149,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26149,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26150,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26157,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26158,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26159,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - r1
    - r2
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    - uint8_t[]
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26163
      start: 26138
    functionDepth: 3
    functionLinenumber: 26138
    functionLinenumberEnd: 26163
    functionName: roaring::api::roaring64_flip_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - container_not_range
    - container_not
    - container_range_of_ones
    - roaring::api::add_container
    - container_free
    - roaring::api::get_container
    - container_nonzero_cardinality
    - art_find
    - roaring::api::get_typecode
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_flip_leaf(const roaring64_bitmap_t *r1,\n                                roaring64_bitmap_t
      *r2, uint8_t high48[],\n                                uint32_t min, uint32_t
      max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26172,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26177,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26178,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26179,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26185,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26185,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26186,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26189,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26190,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26190,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26193,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26194,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26196,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26197,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26199,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - r
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t[]
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 26196
        line_start: 26196
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26202
      start: 26170
    functionDepth: 3
    functionLinenumber: 26170
    functionLinenumberEnd: 26202
    functionName: roaring::api::roaring64_flip_leaf_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - container_range_of_ones
    - roaring::api::add_container
    - art_erase
    - assert
    - roaring::api::remove_container
    - container_free
    - container_inot_range
    - container_inot
    - roaring::api::get_container
    - container_nonzero_cardinality
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_flip_leaf_inplace(roaring64_bitmap_t *r, uint8_t high48[],\n
      \                                       uint32_t min, uint32_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26207,1
    - Dst: roaring::api::roaring64_bitmap_flip_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26210
      start: 26204
    functionDepth: 5
    functionLinenumber: 26204
    functionLinenumberEnd: 26210
    functionName: roaring::api::roaring64_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_flip_closed
    - roaring::api::roaring64_bitmap_copy
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_flip(const roaring64_bitmap_t
      *r,\n                                          uint64_t min, uint64_t max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26215,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26218,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26220,1
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26224,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26225,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26228,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26230,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26231,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26232,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26233,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26234,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26235,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26243,1
    - Dst: roaring::api::roaring64_flip_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26254,1
    - Dst: art_upper_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26259,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26262,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26263,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26264,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26265,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26266,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - r1
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26271
      start: 26212
    functionDepth: 4
    functionLinenumber: 26212
    functionLinenumberEnd: 26271
    functionName: roaring::api::roaring64_bitmap_flip_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - art_init_iterator
    - roaring::api::split_key
    - roaring::api::add_container
    - art_iterator_next
    - roaring::api::roaring64_flip_leaf
    - art_upper_bound
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - get_copy_of_container
    - roaring::api::roaring64_bitmap_copy
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_flip_closed(const roaring64_bitmap_t
      *r1,\n                                                 uint64_t min, uint64_t
      max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_flip_closed_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26279
      start: 26273
    functionDepth: 5
    functionLinenumber: 26273
    functionLinenumberEnd: 26279
    functionName: roaring::api::roaring64_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_flip_closed_inplace
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_flip_inplace(roaring64_bitmap_t *r, uint64_t
      min,\n                                   uint64_t max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26296,1
    - Dst: roaring::api::roaring64_flip_leaf_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26310
      start: 26281
    functionDepth: 4
    functionLinenumber: 26281
    functionLinenumberEnd: 26310
    functionName: roaring::api::roaring64_bitmap_flip_closed_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::split_key
    - roaring::api::roaring64_flip_leaf_inplace
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_flip_closed_inplace(roaring64_bitmap_t *r, uint64_t
      min,\n                                          uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26314,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26318,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26326
      start: 26313
    functionDepth: 2
    functionLinenumber: 26313
    functionLinenumberEnd: 26326
    functionName: roaring::api::count_high32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - art_iterator_next
    - roaring::api::combine_key
    - art_init_iterator
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t count_high32(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26330,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26332
      start: 26329
    functionDepth: 0
    functionLinenumber: 26329
    functionLinenumberEnd: 26332
    functionName: roaring::api::roaring_bitmap_free_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - ra_clear_without_containers
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free_without_containers(roaring_bitmap_t *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26343,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26349,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26358,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26359,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26365,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26368,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26371,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26376,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26377,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26378,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26379,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26388,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26393
      start: 26334
    functionDepth: 2
    functionLinenumber: 26334
    functionLinenumberEnd: 26393
    functionName: roaring::api::roaring64_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_next
    - art_init_iterator
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_append
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::get_container
    - roaring::api::roaring_bitmap_free_without_containers
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_portable_size_in_bytes(const roaring64_bitmap_t
      *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::count_high32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26405,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26406,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26409,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26415,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26421,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26426,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26427,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26434,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26436,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26439,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26444,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26445,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26446,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26447,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26452,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26457,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring64_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26462
      start: 26395
    functionDepth: 3
    functionLinenumber: 26395
    functionLinenumberEnd: 26462
    functionName: roaring::api::roaring64_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::roaring_bitmap_portable_serialize
    - art_iterator_next
    - roaring::api::count_high32
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_append
    - roaring::api::get_container
    - roaring::api::roaring_bitmap_free_without_containers
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_portable_serialize(const roaring64_bitmap_t
      *r,\n                                           char *buf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26478,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26499,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26508
      start: 26464
    functionDepth: 0
    functionLinenumber: 26464
    functionLinenumberEnd: 26508
    functionName: roaring::api::roaring64_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_size
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_portable_deserialize_size(const char *buf,\n
      \                                                 size_t maxbytes)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26524,1
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26533,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26540,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26543,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26548,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26555,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26558,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26562,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26565,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26582,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26583,1
    - Dst: roaring::api::move_from_roaring32_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26590,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26594
      start: 26510
    functionDepth: 4
    functionLinenumber: 26510
    functionLinenumberEnd: 26594
    functionName: roaring::api::roaring64_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    - roaring::api::roaring_bitmap_free
    - roaring::api::roaring_bitmap_portable_deserialize_size
    - roaring::api::roaring64_bitmap_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::move_from_roaring32_offset
    - memcpy
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_portable_deserialize_safe(\n
      \   const char *buf, size_t maxbytes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26611
        line_start: 26611
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26617
      start: 26599
    functionDepth: 0
    functionLinenumber: 26599
    functionLinenumberEnd: 26617
    functionName: roaring::api::container_get_element_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t container_get_element_count(const container_t *c,\n                                                   uint8_t
      typecode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26626,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26629,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26631
        line_start: 26631
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26637
      start: 26619
    functionDepth: 1
    functionLinenumber: 26619
    functionLinenumberEnd: 26637
    functionName: roaring::api::container_get_frozen_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::api::container_get_element_count
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t container_get_frozen_size(const container_t *c,\n                                               uint8_t
      typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26641
      start: 26639
    functionDepth: 0
    functionLinenumber: 26639
    functionLinenumberEnd: 26641
    functionName: roaring::api::align_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t align_size(uint64_t size, uint64_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26644,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26656,1
    - Dst: art_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26657,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26661,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26664,1
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26666,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26666,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26667,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26670,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26672,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26674,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26679
      start: 26643
    functionDepth: 2
    functionLinenumber: 26643
    functionLinenumberEnd: 26679
    functionName: roaring::api::roaring64_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::container_get_frozen_size
    - art_iterator_next
    - art_size_in_bytes
    - roaring::api::is_shrunken
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::align_size
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_frozen_size_in_bytes(const roaring64_bitmap_t
      *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26686,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26690,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26696,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26697,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26702,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26703,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - container
    - typecode
    - bitsets
    - arrays
    - runs
    argTypes:
    - container_t*
    - uint8_t
    - uint64_t**
    - uint16_t**
    - rle16_t**
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26706
        line_start: 26706
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26711
      start: 26681
    functionDepth: 2
    functionLinenumber: 26681
    functionLinenumberEnd: 26711
    functionName: roaring::api::container_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - roaring::api::container_get_element_count
    - assert
    - memcpy
    - roaring::api::container_get_frozen_size
    linkageType: ''
    returnType: void
    signature: "void container_frozen_serialize(const container_t *container,\n                                              uint8_t
      typecode,\n                                              uint64_t **bitsets,\n
      \                                             uint16_t **arrays,\n                                              rle16_t
      **runs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26716,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - initial_buf
    - alignment
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26719
      start: 26713
    functionDepth: 1
    functionLinenumber: 26713
    functionLinenumberEnd: 26719
    functionName: roaring::api::pad_align
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - memset
    - roaring::api::align_size
    linkageType: ''
    returnType: char
    signature: "char *pad_align(char *buf, const char *initial_buf,\n                              size_t
      alignment)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26726,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26732,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26736,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26742,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26745,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26746,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26748,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26750,1
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26753,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26754,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26758,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26760,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26762,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26766,1
    - Dst: art_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26767,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26772,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26775,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26778,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26782,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26785,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26786,1
    - Dst: roaring::api::container_frozen_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26787,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26789,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring64_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26796
      start: 26721
    functionDepth: 3
    functionLinenumber: 26721
    functionLinenumberEnd: 26796
    functionName: roaring::api::roaring64_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::container_get_frozen_size
    - art_iterator_next
    - roaring::api::pad_align
    - roaring::api::container_get_element_count
    - roaring::api::is_shrunken
    - roaring::api::container_frozen_serialize
    - roaring::api::get_container
    - roaring::api::get_typecode
    - art_serialize
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_frozen_serialize(const roaring64_bitmap_t
      *r,\n                                         char *buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26804,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26813,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26822,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 5
    argNames:
    - typecode
    - elem_count
    - bitsets
    - arrays
    - runs
    argTypes:
    - uint8_t
    - uint32_t
    - uint64_t**
    - uint16_t**
    - rle16_t**
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26829
        line_start: 26829
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26835
      start: 26798
    functionDepth: 0
    functionLinenumber: 26798
    functionLinenumberEnd: 26835
    functionName: roaring::api::container_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 2
    functionsReached:
    - assert
    - roaring_malloc
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_frozen_view(uint8_t typecode, uint32_t elem_count,\n
      \                                         const uint64_t **bitsets,\n                                          const
      uint16_t **arrays,\n                                          const rle16_t
      **runs)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26846,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26850,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26853,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26860,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26863,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26868,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26872,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26882,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26885,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26888,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26891,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26896,1
    - Dst: art_frozen_view
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26897,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26899,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26907,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26910,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26913,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26917,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26923,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26926,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26929,1
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26934,1
    - Dst: roaring::api::container_frozen_view
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26935,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26938,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26942,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 67
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26945
      start: 26837
    functionDepth: 3
    functionLinenumber: 26837
    functionLinenumberEnd: 26945
    functionName: roaring::api::roaring64_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::container_frozen_view
    - roaring_malloc
    - roaring::api::roaring64_bitmap_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_typecode
    - CROARING_ALIGN_BUF
    - art_frozen_view
    - memcpy
    - roaring::api::get_index
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_frozen_view(const char *buf,\n
      \                                                size_t maxbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26949,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26951,1
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring64_bitmap_t*
    - roaring_iterator64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26962
      start: 26947
    functionDepth: 2
    functionLinenumber: 26947
    functionLinenumberEnd: 26962
    functionName: roaring::api::roaring64_bitmap_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - container_iterate64
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_iterate(const roaring64_bitmap_t *r,\n                              roaring_iterator64
      iterator, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26967,1
    - Dst: roaring::api::roaring64_iterator_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - out
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26969
      start: 26964
    functionDepth: 4
    functionLinenumber: 26964
    functionLinenumberEnd: 26969
    functionName: roaring::api::roaring64_bitmap_to_uint64_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring::api::roaring64_iterator_read
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_to_uint64_array(const roaring64_bitmap_t *r,\n
      \                                     uint64_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26973,1
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26975
      start: 26971
    functionDepth: 4
    functionLinenumber: 26971
    functionLinenumberEnd: 26975
    functionName: roaring::api::roaring64_iterator_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: roaring64_iterator_t *roaring64_iterator_create(const roaring64_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26980,1
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26982
      start: 26977
    functionDepth: 4
    functionLinenumber: 26977
    functionLinenumberEnd: 26982
    functionName: roaring::api::roaring64_iterator_create_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: "roaring64_iterator_t *roaring64_iterator_create_last(\n    const roaring64_bitmap_t
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - it
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26987
      start: 26984
    functionDepth: 4
    functionLinenumber: 26984
    functionLinenumberEnd: 26987
    functionName: roaring::api::roaring64_iterator_reinit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_iterator_reinit(const roaring64_bitmap_t *r,\n                               roaring64_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - it
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26992
      start: 26989
    functionDepth: 4
    functionLinenumber: 26989
    functionLinenumberEnd: 26992
    functionName: roaring::api::roaring64_iterator_reinit_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_iterator_reinit_last(const roaring64_bitmap_t *r,\n
      \                                   roaring64_iterator_t *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26996,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26999
      start: 26994
    functionDepth: 0
    functionLinenumber: 26994
    functionLinenumberEnd: 26999
    functionName: roaring::api::roaring64_iterator_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: roaring64_iterator_t *roaring64_iterator_copy(const roaring64_iterator_t
      *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27001
      start: 27001
    functionDepth: 0
    functionLinenumber: 27001
    functionLinenumberEnd: 27001
    functionName: roaring::api::roaring64_iterator_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring64_iterator_free(roaring64_iterator_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27005
      start: 27003
    functionDepth: 0
    functionLinenumber: 27003
    functionLinenumberEnd: 27005
    functionName: roaring::api::roaring64_iterator_has_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_has_value(const roaring64_iterator_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27009
      start: 27007
    functionDepth: 0
    functionLinenumber: 27007
    functionLinenumberEnd: 27009
    functionName: roaring::api::roaring64_iterator_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_iterator_value(const roaring64_iterator_t *it)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27016,1
    - Dst: container_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27026,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27027,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27031
      start: 27011
    functionDepth: 4
    functionLinenumber: 27011
    functionLinenumberEnd: 27031
    functionName: roaring::api::roaring64_iterator_advance
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - art_iterator_next
    - container_iterator_next
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_advance(roaring64_iterator_t *it)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27039,1
    - Dst: container_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: art_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27049,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27054
      start: 27033
    functionDepth: 4
    functionLinenumber: 27033
    functionLinenumberEnd: 27054
    functionName: roaring::api::roaring64_iterator_previous
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - art_iterator_prev
    - container_iterator_prev
    - roaring::api::roaring64_iterator_init_at_leaf_last
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_previous(roaring64_iterator_t *it)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27059,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27064,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27069,1
    - Dst: container_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27078,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27079,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27079,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27085,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27093,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring64_iterator_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27094
      start: 27056
    functionDepth: 3
    functionLinenumber: 27056
    functionLinenumberEnd: 27094
    functionName: roaring::api::roaring64_iterator_move_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - art_iterator_lower_bound
    - art_iterator_next
    - roaring::api::split_key
    - container_iterator_lower_bound
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_move_equalorlarger(roaring64_iterator_t *it,\n
      \                                          uint64_t val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_iterator_read_into_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27107,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27108,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27108,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27115,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27118,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring64_iterator_t*
    - uint64_t*
    - uint64_t
    assertStmts:
    - condition: (consumed == count)
      pos:
        line_end: 27114
        line_start: 27114
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 27124
      start: 27096
    functionDepth: 3
    functionLinenumber: 27096
    functionLinenumberEnd: 27124
    functionName: roaring::api::roaring64_iterator_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - art_iterator_next
    - assert
    - container_iterator_read_into_uint64
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_iterator_read(roaring64_iterator_t *it, uint64_t
      *buf,\n                                 uint64_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24480
      start: 24478
    functionDepth: 0
    functionLinenumber: 24478
    functionLinenumberEnd: 24480
    functionName: roaring::api::is_frozen64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_frozen64(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: croaring_htobe64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24485,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - high48_out
    argTypes:
    - uint64_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24488
      start: 24484
    functionDepth: 1
    functionLinenumber: 24484
    functionLinenumberEnd: 24488
    functionName: roaring::api::split_key
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 57
    functionsReached:
    - croaring_htobe64
    - memcpy
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t split_key(uint64_t key, uint8_t high48_out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24494,1
    - Dst: croaring_be64toh
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - high48
    - low16
    argTypes:
    - uint8_t[]
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24496
      start: 24492
    functionDepth: 1
    functionLinenumber: 24492
    functionLinenumberEnd: 24496
    functionName: roaring::api::combine_key
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 33
    functionsReached:
    - croaring_be64toh
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t combine_key(const uint8_t high48[], uint16_t low16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24500
      start: 24498
    functionDepth: 0
    functionLinenumber: 24498
    functionLinenumberEnd: 24500
    functionName: roaring::api::minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t minimum(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - container_index
    - typecode
    argTypes:
    - uint64_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24504
      start: 24502
    functionDepth: 0
    functionLinenumber: 24502
    functionLinenumberEnd: 24504
    functionName: roaring::api::create_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: leaf_t
    signature: leaf_t create_leaf(uint64_t container_index, uint8_t typecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - leaf
    argTypes:
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24506
      start: 24506
    functionDepth: 0
    functionLinenumber: 24506
    functionLinenumberEnd: 24506
    functionName: roaring::api::get_typecode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 162
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_typecode(leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - leaf
    argTypes:
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24508
      start: 24508
    functionDepth: 0
    functionLinenumber: 24508
    functionLinenumberEnd: 24508
    functionName: roaring::api::get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_index(leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24513
      start: 24510
    functionDepth: 1
    functionLinenumber: 24510
    functionLinenumberEnd: 24513
    functionName: roaring::api::get_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 159
    functionsReached:
    - roaring::api::get_index
    linkageType: ''
    returnType: container_t
    signature: "container_t *get_container(const roaring64_bitmap_t *r,\n                                         leaf_t
      leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24520,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - r
    - leaf
    - container
    - typecode
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t*
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24524
      start: 24517
    functionDepth: 1
    functionLinenumber: 24517
    functionLinenumberEnd: 24524
    functionName: roaring::api::replace_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 36
    functionsReached:
    - roaring::api::create_leaf
    - roaring::api::get_index
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t replace_container(roaring64_bitmap_t *r, leaf_t *leaf,\n                                       container_t
      *container,\n                                       uint8_t typecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24543,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24547
      start: 24529
    functionDepth: 0
    functionLinenumber: 24529
    functionLinenumberEnd: 24547
    functionName: roaring::api::extend_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - memset
    - roaring_realloc
    linkageType: ''
    returnType: void
    signature: void extend_containers(roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24556
      start: 24549
    functionDepth: 0
    functionLinenumber: 24549
    functionLinenumberEnd: 24556
    functionName: roaring::api::next_free_container_idx
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t next_free_container_idx(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::extend_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24561,1
    - Dst: roaring::api::next_free_container_idx
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24565
      start: 24558
    functionDepth: 1
    functionLinenumber: 24558
    functionLinenumberEnd: 24565
    functionName: roaring::api::allocate_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::extend_containers
    - roaring::api::next_free_container_idx
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t allocate_index(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::allocate_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24569,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - r
    - container
    - typecode
    argTypes:
    - roaring64_bitmap_t*
    - container_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24572
      start: 24567
    functionDepth: 2
    functionLinenumber: 24567
    functionLinenumberEnd: 24572
    functionName: roaring::api::add_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 39
    functionsReached:
    - roaring::api::allocate_index
    - roaring::api::create_leaf
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t add_container(roaring64_bitmap_t *r, container_t *container,\n
      \                           uint8_t typecode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24580
      start: 24574
    functionDepth: 1
    functionLinenumber: 24574
    functionLinenumberEnd: 24580
    functionName: roaring::api::remove_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - roaring::api::get_index
    linkageType: ''
    returnType: void
    signature: void remove_container(roaring64_bitmap_t *r, leaf_t leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24585,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24587,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24588,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r1
    - r2
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    - leaf_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24590
      start: 24583
    functionDepth: 3
    functionLinenumber: 24583
    functionLinenumberEnd: 24590
    functionName: roaring::api::copy_leaf_container
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - roaring::api::get_typecode
    - get_copy_of_container
    - roaring::api::get_container
    - roaring::api::add_container
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t copy_leaf_container(const roaring64_bitmap_t *r1,\n                                         roaring64_bitmap_t
      *r2, leaf_t leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - art_key_chunk_t[]
    - art_key_chunk_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24595
      start: 24592
    functionDepth: 0
    functionLinenumber: 24592
    functionLinenumberEnd: 24595
    functionName: roaring::api::compare_high48
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 63
    functionsReached:
    - art_compare_keys
    linkageType: ''
    returnType: int
    signature: "int compare_high48(art_key_chunk_t key1[],\n                                 art_key_chunk_t
      key2[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24599,1
    - Dst: container_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24602,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24602,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24606
      start: 24597
    functionDepth: 2
    functionLinenumber: 24597
    functionLinenumberEnd: 24606
    functionName: roaring::api::roaring64_iterator_init_at_leaf_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - container_init_iterator
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_init_at_leaf_first(\n    roaring64_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24610,1
    - Dst: container_init_iterator_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24613,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24613,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24617
      start: 24608
    functionDepth: 2
    functionLinenumber: 24608
    functionLinenumberEnd: 24617
    functionName: roaring::api::roaring64_iterator_init_at_leaf_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - container_init_iterator_last
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_init_at_leaf_last(\n    roaring64_iterator_t
      *it)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24622,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24626,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - r
    - it
    - first
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24634
      start: 24619
    functionDepth: 3
    functionLinenumber: 24619
    functionLinenumberEnd: 24634
    functionName: roaring::api::roaring64_iterator_init_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 24
    functionsReached:
    - roaring::api::roaring64_iterator_init_at_leaf_last
    - art_init_iterator
    - roaring::api::roaring64_iterator_init_at_leaf_first
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: "roaring64_iterator_t *roaring64_iterator_init_at(\n    const roaring64_bitmap_t
      *r, roaring64_iterator_t *it, bool first)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24638,1
    - Dst: art_init_cleared
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24645
      start: 24636
    functionDepth: 0
    functionLinenumber: 24636
    functionLinenumberEnd: 24645
    functionName: roaring::api::roaring64_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 33
    functionsReached:
    - art_init_cleared
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: roaring64_bitmap_t *roaring64_bitmap_create(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24651,1
    - Dst: roaring::api::is_frozen64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24654,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24657,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24657,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24659,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24661,1
    - Dst: roaring::api::is_frozen64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24663,1
    - Dst: art_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24664,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24666,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24667,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24668
      start: 24647
    functionDepth: 2
    functionLinenumber: 24647
    functionLinenumberEnd: 24668
    functionName: roaring::api::roaring64_bitmap_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_free
    - roaring::api::is_frozen64
    - roaring_free
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_free(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24671,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24673,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24676,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24677,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24678,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24680,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24681,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24685
      start: 24670
    functionDepth: 3
    functionLinenumber: 24670
    functionLinenumberEnd: 24685
    functionName: roaring::api::roaring64_bitmap_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - roaring::api::get_typecode
    - get_copy_of_container
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: roaring64_bitmap_t *roaring64_bitmap_copy(const roaring64_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_get_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24698,1
    - Dst: ra_get_key_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24700,1
    - Dst: ra_get_container_at_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24702,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24707,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24708,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - src
    - high_bits
    argTypes:
    - roaring64_bitmap_t*
    - roaring_bitmap_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24713
      start: 24694
    functionDepth: 3
    functionLinenumber: 24694
    functionLinenumberEnd: 24713
    functionName: roaring::api::move_from_roaring32_offset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_get_size
    - ra_get_key_at_index
    - roaring::api::split_key
    - roaring::api::add_container
    - ra_get_container_at_index
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void move_from_roaring32_offset(roaring64_bitmap_t *dst,\n                                       roaring_bitmap_t
      *src,\n                                       uint32_t high_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24717,1
    - Dst: roaring::api::move_from_roaring32_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bitmap32
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24722
      start: 24715
    functionDepth: 4
    functionLinenumber: 24715
    functionLinenumberEnd: 24722
    functionName: roaring::api::roaring64_bitmap_move_from_roaring32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_create
    - roaring::api::move_from_roaring32_offset
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_move_from_roaring32(\n    roaring_bitmap_t
      *bitmap32)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24729,1
    - Dst: roaring::api::roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24733,1
    - Dst: roaring::api::minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24743,1
    - Dst: container_from_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24746,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24750,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24751,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24752,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - min
    - max
    - step
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24762
      start: 24724
    functionDepth: 5
    functionLinenumber: 24724
    functionLinenumberEnd: 24762
    functionName: roaring::api::roaring64_bitmap_from_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - roaring::api::roaring64_bitmap_add
    - roaring::api::add_container
    - roaring::api::minimum
    - roaring::api::roaring64_bitmap_create
    - container_from_range
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_from_range(uint64_t min, uint64_t
      max,\n                                                uint64_t step)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24766,1
    - Dst: roaring::api::roaring64_bitmap_add_many
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n_args
    - vals
    argTypes:
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24769
      start: 24764
    functionDepth: 6
    functionLinenumber: 24764
    functionLinenumberEnd: 24769
    functionName: roaring::api::roaring64_bitmap_of_ptr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_add_many
    - roaring::api::roaring64_bitmap_create
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_of_ptr(size_t n_args,\n                                            const
      uint64_t *vals)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24776,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24777,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24780,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24782,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24783,1
    - Dst: array_container_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24787,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24790,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24791,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24792,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - r
    - high48
    - low16
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t*
    - uint16_t
    - leaf_t*
    assertStmts:
    - condition: (ac == container)
      pos:
        line_end: 24790
        line_start: 24790
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 24795
      start: 24771
    functionDepth: 3
    functionLinenumber: 24771
    functionLinenumberEnd: 24795
    functionName: roaring::api::containerptr_roaring64_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - roaring::api::add_container
    - assert
    - container_add
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - array_container_create
    - art_insert
    linkageType: ''
    returnType: leaf_t
    signature: "leaf_t *containerptr_roaring64_bitmap_add(roaring64_bitmap_t *r,\n
      \                                                       uint8_t *high48,\n                                                        uint16_t
      low16,\n                                                        leaf_t *leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24799,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24800,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24802
      start: 24797
    functionDepth: 4
    functionLinenumber: 24797
    functionLinenumberEnd: 24802
    functionName: roaring::api::roaring64_bitmap_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - art_find
    - roaring::api::split_key
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_add(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24806,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24807,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24811,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24811,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24812,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24814,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24818
      start: 24804
    functionDepth: 4
    functionLinenumber: 24804
    functionLinenumberEnd: 24818
    functionName: roaring::api::roaring64_bitmap_add_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_get_cardinality
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_add_checked(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24824,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24826,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24828,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24829,1
    - Dst: container_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24832,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24834,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24835,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24840,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_add
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24842,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24845
      start: 24820
    functionDepth: 4
    functionLinenumber: 24820
    functionLinenumberEnd: 24845
    functionName: roaring::api::roaring64_bitmap_add_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::split_key
    - container_add
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - memcpy
    - roaring::api::containerptr_roaring64_bitmap_add
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_bulk(roaring64_bitmap_t *r,\n                               roaring64_bulk_context_t
      *context,\n                               uint64_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_add_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring64_bitmap_t*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24858
      start: 24847
    functionDepth: 5
    functionLinenumber: 24847
    functionLinenumberEnd: 24858
    functionName: roaring::api::roaring64_bitmap_add_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::roaring64_bitmap_add_bulk
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_many(roaring64_bitmap_t *r, size_t n_args,\n
      \                              const uint64_t *vals)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24863,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24865,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24866,1
    - Dst: container_add_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24869,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24871,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24872,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24879,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24880,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - r
    - art
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - art_t*
    - uint8_t*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24882
      start: 24860
    functionDepth: 3
    functionLinenumber: 24860
    functionLinenumberEnd: 24882
    functionName: roaring::api::add_range_closed_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - container_range_of_ones
    - container_add_range
    - roaring::api::add_container
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void add_range_closed_at(roaring64_bitmap_t *r, art_t *art,\n                                       uint8_t
      *high48, uint16_t min,\n                                       uint16_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24890
      start: 24884
    functionDepth: 5
    functionLinenumber: 24884
    functionLinenumberEnd: 24890
    functionName: roaring::api::roaring64_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_range(roaring64_bitmap_t *r, uint64_t min,\n
      \                               uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24900,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24902,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24903,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24905,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24911,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24917,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24918,1
    - Dst: roaring::api::add_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24921
      start: 24892
    functionDepth: 4
    functionLinenumber: 24892
    functionLinenumberEnd: 24921
    functionName: roaring::api::roaring64_bitmap_add_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::compare_high48
    - roaring::api::split_key
    - roaring::api::add_range_closed_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_add_range_closed(roaring64_bitmap_t *r, uint64_t
      min,\n                                       uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24925,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24926,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24928,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24928,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24932
      start: 24923
    functionDepth: 2
    functionLinenumber: 24923
    functionLinenumberEnd: 24932
    functionName: roaring::api::roaring64_bitmap_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_contains
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_contains(const roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24941,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24943,1
    - Dst: art_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24946,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24947,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24952,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24965,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24969,1
    - Dst: container_is_full
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24976,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24976,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24977,1
    - Dst: container_contains_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24980,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24980,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24982,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24986,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24989
      start: 24934
    functionDepth: 2
    functionLinenumber: 24934
    functionLinenumberEnd: 24989
    functionName: roaring::api::roaring64_bitmap_contains_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_is_full
    - art_iterator_next
    - roaring::api::split_key
    - art_lower_bound
    - container_contains_range
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_contains_range(const roaring64_bitmap_t *r,
      uint64_t min,\n                                     uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24995,1
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:24998,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25001,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25006,1
    - Dst: container_contains
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25008,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25008,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25009,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25010
      start: 24991
    functionDepth: 2
    functionLinenumber: 24991
    functionLinenumberEnd: 25010
    functionName: roaring::api::roaring64_bitmap_contains_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_contains
    - art_compare_keys
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    - memcpy
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_contains_bulk(const roaring64_bitmap_t *r,\n
      \                                   roaring64_bulk_context_t *context,\n                                    uint64_t
      val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25014,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25018,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25018,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25019,1
    - Dst: container_select
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25024,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25026,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - r
    - rank
    - element
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25035
      start: 25012
    functionDepth: 2
    functionLinenumber: 25012
    functionLinenumberEnd: 25035
    functionName: roaring::api::roaring64_bitmap_select
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - container_get_cardinality
    - container_select
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_select(const roaring64_bitmap_t *r, uint64_t
      rank,\n                             uint64_t *element)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25039,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25041,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25045,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25047,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25047,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25048,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25050,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25050,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25051,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25058
      start: 25037
    functionDepth: 2
    functionLinenumber: 25037
    functionLinenumberEnd: 25058
    functionName: roaring::api::roaring64_bitmap_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::split_key
    - art_iterator_next
    - container_get_cardinality
    - container_rank
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_rank(const roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25063,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25065,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25069,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25071,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25071,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25072,1
    - Dst: container_get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25074,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25074,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25075,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - r
    - val
    - out_index
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25087
      start: 25060
    functionDepth: 2
    functionLinenumber: 25060
    functionLinenumberEnd: 25087
    functionName: roaring::api::roaring64_bitmap_get_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_get_index
    - art_init_iterator
    - roaring::api::split_key
    - art_iterator_next
    - container_get_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_get_index(const roaring64_bitmap_t *r, uint64_t
      val,\n                                uint64_t *out_index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25098,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25099,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25102,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25104,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25105,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25107,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25108,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25109,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25110,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - r
    - high48
    - low16
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t*
    - uint16_t
    - leaf_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25109
        line_start: 25109
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25116
      start: 25090
    functionDepth: 2
    functionLinenumber: 25090
    functionLinenumberEnd: 25116
    functionName: roaring::api::containerptr_roaring64_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - container_remove
    - art_erase
    - roaring::api::remove_container
    - assert
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: bool
    signature: "bool containerptr_roaring64_bitmap_remove(roaring64_bitmap_t *r,\n
      \                                                       uint8_t *high48,\n                                                        uint16_t
      low16,\n                                                        leaf_t *leaf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25121,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25123,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25125
      start: 25118
    functionDepth: 3
    functionLinenumber: 25118
    functionLinenumberEnd: 25125
    functionName: roaring::api::roaring64_bitmap_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_find
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::split_key
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_remove(roaring64_bitmap_t *r, uint64_t val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25130,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25131,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25137,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25138,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - r
    - val
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25144
      start: 25127
    functionDepth: 3
    functionLinenumber: 25127
    functionLinenumberEnd: 25144
    functionName: roaring::api::roaring64_bitmap_remove_checked
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::split_key
    - container_get_cardinality
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::get_container
    - art_find
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_remove_checked(roaring64_bitmap_t *r, uint64_t
      val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25151,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25153,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25155,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25156,1
    - Dst: container_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25159,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25161,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25162,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25164,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25165,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25167,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25168,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25170,1
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25175,1
    - Dst: roaring::api::containerptr_roaring64_bitmap_remove
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25176,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - r
    - context
    - val
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bulk_context_t*
    - uint64_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25167
        line_start: 25167
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25180
      start: 25146
    functionDepth: 3
    functionLinenumber: 25146
    functionLinenumberEnd: 25180
    functionName: roaring::api::roaring64_bitmap_remove_bulk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - container_remove
    - roaring::api::split_key
    - art_erase
    - assert
    - roaring::api::remove_container
    - roaring::api::containerptr_roaring64_bitmap_remove
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - memcpy
    - art_find
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_bulk(roaring64_bitmap_t *r,\n                                  roaring64_bulk_context_t
      *context,\n                                  uint64_t val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_bulk
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - r
    - n_args
    - vals
    argTypes:
    - roaring64_bitmap_t*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25193
      start: 25182
    functionDepth: 4
    functionLinenumber: 25182
    functionLinenumberEnd: 25193
    functionName: roaring::api::roaring64_bitmap_remove_many
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_bulk
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_many(roaring64_bitmap_t *r, size_t n_args,\n
      \                                 const uint64_t *vals)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25198,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25202,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25203,1
    - Dst: container_remove_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25206,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25208,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25210,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25212,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25213,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - r
    - art
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - art_t*
    - uint8_t*
    - uint16_t
    - uint16_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25212
        line_start: 25212
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25218
      start: 25195
    functionDepth: 2
    functionLinenumber: 25195
    functionLinenumberEnd: 25218
    functionName: roaring::api::remove_range_closed_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - art_erase
    - roaring::api::remove_container
    - container_remove_range
    - assert
    - roaring::api::get_container
    - container_free
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: void
    signature: "void remove_range_closed_at(roaring64_bitmap_t *r, art_t *art,\n                                          uint8_t
      *high48, uint16_t min,\n                                          uint16_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25226
      start: 25220
    functionDepth: 4
    functionLinenumber: 25220
    functionLinenumberEnd: 25226
    functionName: roaring::api::roaring64_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_range(roaring64_bitmap_t *r, uint64_t
      min,\n                                   uint64_t max)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25236,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25238,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25239,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25241,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25247,1
    - Dst: art_upper_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25249,1
    - Dst: art_compare_keys
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25250,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25252,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25253,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25255,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25256,1
    - Dst: roaring::api::remove_range_closed_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25252
        line_start: 25252
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25259
      start: 25228
    functionDepth: 3
    functionLinenumber: 25228
    functionLinenumberEnd: 25259
    functionName: roaring::api::roaring64_bitmap_remove_range_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 7
    functionsReached:
    - roaring::api::remove_range_closed_at
    - roaring::api::split_key
    - art_upper_bound
    - assert
    - roaring::api::remove_container
    - art_compare_keys
    - roaring::api::get_typecode
    - roaring::api::get_container
    - container_free
    - art_iterator_erase
    - roaring::api::compare_high48
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_remove_range_closed(roaring64_bitmap_t *r, uint64_t
      min,\n                                          uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25263
      start: 25261
    functionDepth: 4
    functionLinenumber: 25261
    functionLinenumberEnd: 25263
    functionName: roaring::api::roaring64_bitmap_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: void roaring64_bitmap_clear(roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25266,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25270,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25270,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25271,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25275
      start: 25265
    functionDepth: 2
    functionLinenumber: 25265
    functionLinenumberEnd: 25275
    functionName: roaring::api::roaring64_bitmap_get_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 15
    functionsReached:
    - art_iterator_next
    - art_init_iterator
    - container_get_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_get_cardinality(const roaring64_bitmap_t
      *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_range_closed_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25286
      start: 25277
    functionDepth: 3
    functionLinenumber: 25277
    functionLinenumberEnd: 25286
    functionName: roaring::api::roaring64_bitmap_range_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_range_closed_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_range_cardinality(const roaring64_bitmap_t
      *r,\n                                            uint64_t min, uint64_t max)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25296,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25298,1
    - Dst: art_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25300,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25302,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25309,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25310,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25314,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25318,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25320,1
    - Dst: container_rank
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25323,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25328
      start: 25288
    functionDepth: 2
    functionLinenumber: 25288
    functionLinenumberEnd: 25328
    functionName: roaring::api::roaring64_bitmap_range_closed_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - art_iterator_next
    - roaring::api::split_key
    - container_get_cardinality
    - container_rank
    - art_lower_bound
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_range_closed_cardinality(const roaring64_bitmap_t
      *r,\n                                                   uint64_t min, uint64_t
      max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_is_empty
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25332
      start: 25330
    functionDepth: 0
    functionLinenumber: 25330
    functionLinenumberEnd: 25332
    functionName: roaring::api::roaring64_bitmap_is_empty
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_is_empty
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_is_empty(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25335,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25340,1
    - Dst: container_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25342
      start: 25334
    functionDepth: 2
    functionLinenumber: 25334
    functionLinenumberEnd: 25342
    functionName: roaring::api::roaring64_bitmap_minimum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - container_minimum
    - art_init_iterator
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_minimum(const roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25345,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25350,1
    - Dst: container_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25352
      start: 25344
    functionDepth: 2
    functionLinenumber: 25344
    functionLinenumberEnd: 25352
    functionName: roaring::api::roaring64_bitmap_maximum
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - container_maximum
    - art_init_iterator
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_bitmap_maximum(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25355,1
    - Dst: convert_run_optimize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25362,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25363,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25363,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25364,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25369
      start: 25354
    functionDepth: 2
    functionLinenumber: 25354
    functionLinenumberEnd: 25369
    functionName: roaring::api::roaring64_bitmap_run_optimize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - convert_run_optimize
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::replace_container
    linkageType: ''
    returnType: bool
    signature: bool roaring64_bitmap_run_optimize(roaring64_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25372,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25376,1
    - Dst: roaring::api::create_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25378,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25378,1
    - Dst: roaring::api::next_free_container_idx
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - r
    - leaf
    argTypes:
    - roaring64_bitmap_t*
    - leaf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25380
      start: 25371
    functionDepth: 2
    functionLinenumber: 25371
    functionLinenumberEnd: 25380
    functionName: roaring::api::move_to_shrink
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::next_free_container_idx
    - roaring::api::create_leaf
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::get_index
    linkageType: ''
    returnType: void
    signature: void move_to_shrink(roaring64_bitmap_t *r, leaf_t *leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25384
      start: 25382
    functionDepth: 0
    functionLinenumber: 25382
    functionLinenumberEnd: 25384
    functionName: roaring::api::is_shrunken
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - art_is_shrunken
    linkageType: ''
    returnType: bool
    signature: bool is_shrunken(const roaring64_bitmap_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25387,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25388,1
    - Dst: container_shrink_to_fit
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25391,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25391,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25392,1
    - Dst: roaring::api::move_to_shrink
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25393,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25394,1
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25396,1
    - Dst: roaring_realloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25407
      start: 25386
    functionDepth: 3
    functionLinenumber: 25386
    functionLinenumberEnd: 25407
    functionName: roaring::api::roaring64_bitmap_shrink_to_fit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_shrink_to_fit
    - container_shrink_to_fit
    - roaring::api::is_shrunken
    - roaring::api::get_container
    - roaring_realloc
    - roaring::api::get_typecode
    - roaring::api::move_to_shrink
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_shrink_to_fit(roaring64_bitmap_t *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25415,1
    - Dst: roaring::api::roaring64_bitmap_minimum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25416,1
    - Dst: roaring::api::roaring64_bitmap_maximum
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25417,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25419,1
    - Dst: get_container_type
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25424,1
    - Dst: container_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25425,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25425,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25426,1
    - Dst: container_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25428,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25447,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - r
    - stat
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_statistics_t*
    assertStmts:
    - condition: (false)
      pos:
        line_end: 25446
        line_start: 25446
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25452
      start: 25413
    functionDepth: 3
    functionLinenumber: 25413
    functionLinenumberEnd: 25452
    functionName: roaring::api::roaring64_bitmap_statistics
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::roaring64_bitmap_maximum
    - container_get_cardinality
    - assert
    - roaring::api::roaring64_bitmap_minimum
    - roaring::api::get_typecode
    - container_size_in_bytes
    - roaring::api::get_container
    - memset
    - get_container_type
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_statistics(const roaring64_bitmap_t *r,\n                                 roaring64_statistics_t
      *stat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25459,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25459,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - reason
    - context
    argTypes:
    - art_val_t
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25461
      start: 25454
    functionDepth: 2
    functionLinenumber: 25454
    functionLinenumberEnd: 25461
    functionName: roaring::api::roaring64_leaf_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::get_typecode
    - container_internal_validate
    - roaring::api::get_container
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_leaf_internal_validate(const art_val_t val,\n                                             const
      char **reason,\n                                             void *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_internal_validate
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - reason
    argTypes:
    - roaring64_bitmap_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25467
      start: 25463
    functionDepth: 0
    functionLinenumber: 25463
    functionLinenumberEnd: 25467
    functionName: roaring::api::roaring64_bitmap_internal_validate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_internal_validate
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_internal_validate(const roaring64_bitmap_t *r,\n
      \                                       const char **reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25471,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25472,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25475,1
    - Dst: container_equals
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25480,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25481,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25481,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25484,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25488
      start: 25469
    functionDepth: 2
    functionLinenumber: 25469
    functionLinenumberEnd: 25488
    functionName: roaring::api::roaring64_bitmap_equals
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_equals
    - art_init_iterator
    - art_iterator_next
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_equals(const roaring64_bitmap_t *r1,\n                             const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25492,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25493,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25500,1
    - Dst: container_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25504,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25505,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25505,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25506,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25506,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25509,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25510,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25520
      start: 25490
    functionDepth: 2
    functionLinenumber: 25490
    functionLinenumberEnd: 25520
    functionName: roaring::api::roaring64_bitmap_is_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - container_is_subset
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_is_subset(const roaring64_bitmap_t *r1,\n                                const
      roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25524,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25525,1
    - Dst: roaring::api::roaring64_bitmap_is_subset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25527
      start: 25522
    functionDepth: 3
    functionLinenumber: 25522
    functionLinenumberEnd: 25527
    functionName: roaring::api::roaring64_bitmap_is_strict_subset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_is_subset
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_is_strict_subset(const roaring64_bitmap_t *r1,\n
      \                                      const roaring64_bitmap_t *r2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25531,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25533,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25534,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25541,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25548,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25549,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25549,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25551,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25554,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25555,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25557,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25559,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25560,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25563,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25570
      start: 25529
    functionDepth: 3
    functionLinenumber: 25529
    functionLinenumberEnd: 25570
    functionName: roaring::api::roaring64_bitmap_and
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - container_and
    - container_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_and(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25576,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25577,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25584,1
    - Dst: container_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25589,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25590,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25590,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25591,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25591,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25592,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25593,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25596,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25603
      start: 25572
    functionDepth: 2
    functionLinenumber: 25572
    functionLinenumberEnd: 25603
    functionName: roaring::api::roaring64_bitmap_and_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 12
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - container_and_cardinality
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_and_cardinality(const roaring64_bitmap_t
      *r1,\n                                          const roaring64_bitmap_t *r2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25611,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25612,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25624,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25636,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25637,1
    - Dst: container_and
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25641,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25642,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25643,1
    - Dst: container_iand
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25645,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25646,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25647,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25651,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25653,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25654,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25655,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25656,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25659,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25663,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25665,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25672,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25673,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25675,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25676,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25679,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 25672
        line_start: 25672
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 25682
      start: 25606
    functionDepth: 2
    functionLinenumber: 25606
    functionLinenumberEnd: 25682
    functionName: roaring::api::roaring64_bitmap_and_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::remove_container
    - assert
    - container_and
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    - container_iand
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_and_inplace(roaring64_bitmap_t *r1,\n                                  const
      roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25687,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25688,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25695,1
    - Dst: container_intersect
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25700,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25701,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25701,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25702,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25702,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25703,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25704,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25707,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25714
      start: 25684
    functionDepth: 2
    functionLinenumber: 25684
    functionLinenumberEnd: 25714
    functionName: roaring::api::roaring64_bitmap_intersect
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_lower_bound
    - art_init_iterator
    - art_iterator_next
    - roaring::api::get_container
    - container_intersect
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_intersect(const roaring64_bitmap_t *r1,\n                                const
      roaring64_bitmap_t *r2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25722,1
    - Dst: roaring::api::roaring64_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25723,1
    - Dst: roaring::api::roaring64_iterator_has_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25726,1
    - Dst: roaring::api::roaring64_iterator_value
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25728
      start: 25716
    functionDepth: 4
    functionLinenumber: 25716
    functionLinenumberEnd: 25728
    functionName: roaring::api::roaring64_bitmap_intersect_with_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring::api::roaring64_iterator_value
    - roaring::api::roaring64_iterator_move_equalorlarger
    - roaring::api::roaring64_iterator_has_value
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_intersect_with_range(const roaring64_bitmap_t
      *r,\n                                           uint64_t min, uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25732,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25733,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25736
      start: 25730
    functionDepth: 3
    functionLinenumber: 25730
    functionLinenumberEnd: 25736
    functionName: roaring::api::roaring64_bitmap_jaccard_index
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: double
    signature: "double roaring64_bitmap_jaccard_index(const roaring64_bitmap_t *r1,\n
      \                                     const roaring64_bitmap_t *r2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25740,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25742,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25743,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25758,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25765,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25766,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25766,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25769,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25770,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25771,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25772,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25778,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25779,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25780,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25784,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25785,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25786,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25790
      start: 25738
    functionDepth: 4
    functionLinenumber: 25738
    functionLinenumberEnd: 25790
    functionName: roaring::api::roaring64_bitmap_or
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::copy_leaf_container
    - roaring::api::roaring64_bitmap_create
    - container_or
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_or(const roaring64_bitmap_t *r1,\n
      \                                       const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25794,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25795,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25798
      start: 25792
    functionDepth: 3
    functionLinenumber: 25792
    functionLinenumberEnd: 25798
    functionName: roaring::api::roaring64_bitmap_or_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_or_cardinality(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25805,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25806,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25821,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25826,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25827,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25830,1
    - Dst: container_or
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25831,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25832,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25833,1
    - Dst: container_ior
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25835,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25836,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25837,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25840,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25841,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25843,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25844,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25849,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25853,1
    - Dst: art_iterator_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25854,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25855,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25858
      start: 25800
    functionDepth: 4
    functionLinenumber: 25800
    functionLinenumberEnd: 25858
    functionName: roaring::api::roaring64_bitmap_or_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - art_iterator_insert
    - roaring::api::copy_leaf_container
    - container_ior
    - container_or
    - roaring::api::get_container
    - container_free
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_or_inplace(roaring64_bitmap_t *r1,\n                                 const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25862,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25864,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25865,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25880,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25887,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25888,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25888,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25890,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25892,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25894,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25896,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25898,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25899,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25905,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25906,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25907,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25911,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25912,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25913,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25917
      start: 25860
    functionDepth: 4
    functionLinenumber: 25860
    functionLinenumberEnd: 25917
    functionName: roaring::api::roaring64_bitmap_xor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_xor
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - roaring::api::copy_leaf_container
    - container_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_xor(const roaring64_bitmap_t
      *r1,\n                                         const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25921,1
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25922,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25925
      start: 25919
    functionDepth: 3
    functionLinenumber: 25919
    functionLinenumberEnd: 25925
    functionName: roaring::api::roaring64_bitmap_xor_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_xor_cardinality(const roaring64_bitmap_t
      *r1,\n                                          const roaring64_bitmap_t *r2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25929,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25930,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25931,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25946,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25951,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25952,1
    - Dst: container_xor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25956,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25957,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25958,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25963,1
    - Dst: container_ixor
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25966,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25967,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25968,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25971,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25972,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25973,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25974,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25976,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25979,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25983,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25985,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25990,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25994,1
    - Dst: art_iterator_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25996,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25997,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:25999,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26001,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (r1 != r2)
      pos:
        line_end: 25928
        line_start: 25928
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - condition: (erased)
      pos:
        line_end: 25973
        line_start: 25973
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26004
      start: 25927
    functionDepth: 4
    functionLinenumber: 25927
    functionLinenumberEnd: 26004
    functionName: roaring::api::roaring64_bitmap_xor_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - container_xor
    - art_init_iterator
    - art_iterator_next
    - roaring::api::remove_container
    - assert
    - art_iterator_insert
    - roaring::api::copy_leaf_container
    - container_ixor
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_xor_inplace(roaring64_bitmap_t *r1,\n                                  const
      roaring64_bitmap_t *r2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26008,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26010,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26011,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26023,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26029,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26030,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26030,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26031,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26031,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26034,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26036,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26038,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26040,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26042,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26043,1
    - Dst: roaring::api::copy_leaf_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26049,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26050,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26051,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26058
      start: 26006
    functionDepth: 4
    functionLinenumber: 26006
    functionLinenumberEnd: 26058
    functionName: roaring::api::roaring64_bitmap_andnot
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::add_container
    - container_andnot
    - container_free
    - roaring::api::copy_leaf_container
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_andnot(const roaring64_bitmap_t
      *r1,\n                                            const roaring64_bitmap_t *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_get_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26062,1
    - Dst: roaring::api::roaring64_bitmap_and_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26065
      start: 26060
    functionDepth: 3
    functionLinenumber: 26060
    functionLinenumberEnd: 26065
    functionName: roaring::api::roaring64_bitmap_andnot_cardinality
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_and_cardinality
    - roaring::api::roaring64_bitmap_get_cardinality
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_bitmap_andnot_cardinality(const roaring64_bitmap_t
      *r1,\n                                             const roaring64_bitmap_t
      *r2)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26069,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26070,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26082,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26087,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26088,1
    - Dst: container_andnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26092,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26093,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26094,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26099,1
    - Dst: container_iandnot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26102,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26103,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26104,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26107,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26108,1
    - Dst: art_iterator_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26109,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26110,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26112,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26115,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26119,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26121,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26126,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 26109
        line_start: 26109
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26132
      start: 26067
    functionDepth: 2
    functionLinenumber: 26067
    functionLinenumberEnd: 26132
    functionName: roaring::api::roaring64_bitmap_andnot_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - container_iandnot
    - roaring::api::remove_container
    - art_iterator_next
    - assert
    - container_andnot
    - roaring::api::get_container
    - container_free
    - container_nonzero_cardinality
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - roaring::api::compare_high48
    - art_iterator_erase
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_andnot_inplace(roaring64_bitmap_t *r1,\n                                     const
      roaring64_bitmap_t *r2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26141,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26146,1
    - Dst: container_not
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26149,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26149,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26150,1
    - Dst: container_not_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26154,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26157,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26158,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26159,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - r1
    - r2
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_bitmap_t*
    - uint8_t[]
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26163
      start: 26138
    functionDepth: 3
    functionLinenumber: 26138
    functionLinenumberEnd: 26163
    functionName: roaring::api::roaring64_flip_leaf
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - container_not_range
    - container_not
    - container_range_of_ones
    - roaring::api::add_container
    - container_free
    - roaring::api::get_container
    - container_nonzero_cardinality
    - art_find
    - roaring::api::get_typecode
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_flip_leaf(const roaring64_bitmap_t *r1,\n                                roaring64_bitmap_t
      *r2, uint8_t high48[],\n                                uint32_t min, uint32_t
      max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_find
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26172,1
    - Dst: container_range_of_ones
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26177,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26178,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26179,1
    - Dst: container_inot
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26185,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26185,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26186,1
    - Dst: container_inot_range
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26189,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26190,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26190,1
    - Dst: container_nonzero_cardinality
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26193,1
    - Dst: roaring::api::replace_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26194,1
    - Dst: art_erase
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26196,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26197,1
    - Dst: container_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26199,1
    - Dst: roaring::api::remove_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - r
    - high48
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint8_t[]
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (erased)
      pos:
        line_end: 26196
        line_start: 26196
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26202
      start: 26170
    functionDepth: 3
    functionLinenumber: 26170
    functionLinenumberEnd: 26202
    functionName: roaring::api::roaring64_flip_leaf_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - container_range_of_ones
    - roaring::api::add_container
    - art_erase
    - assert
    - roaring::api::remove_container
    - container_free
    - container_inot_range
    - container_inot
    - roaring::api::get_container
    - container_nonzero_cardinality
    - art_find
    - roaring::api::get_typecode
    - roaring::api::replace_container
    - art_insert
    linkageType: ''
    returnType: void
    signature: "void roaring64_flip_leaf_inplace(roaring64_bitmap_t *r, uint8_t high48[],\n
      \                                       uint32_t min, uint32_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26207,1
    - Dst: roaring::api::roaring64_bitmap_flip_closed
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26210
      start: 26204
    functionDepth: 5
    functionLinenumber: 26204
    functionLinenumberEnd: 26210
    functionName: roaring::api::roaring64_bitmap_flip
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_flip_closed
    - roaring::api::roaring64_bitmap_copy
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_flip(const roaring64_bitmap_t
      *r,\n                                          uint64_t min, uint64_t max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_copy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26215,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26218,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26220,1
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26224,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26225,1
    - Dst: roaring::api::compare_high48
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26228,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26230,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26231,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26232,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26233,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26234,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26235,1
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26243,1
    - Dst: roaring::api::roaring64_flip_leaf
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26254,1
    - Dst: art_upper_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26259,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26262,1
    - Dst: get_copy_of_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26263,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26264,1
    - Dst: roaring::api::add_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26265,1
    - Dst: art_insert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26266,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - r1
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26271
      start: 26212
    functionDepth: 4
    functionLinenumber: 26212
    functionLinenumberEnd: 26271
    functionName: roaring::api::roaring64_bitmap_flip_closed
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - art_init_iterator
    - roaring::api::split_key
    - roaring::api::add_container
    - art_iterator_next
    - roaring::api::roaring64_flip_leaf
    - art_upper_bound
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::compare_high48
    - get_copy_of_container
    - roaring::api::roaring64_bitmap_copy
    - art_insert
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_flip_closed(const roaring64_bitmap_t
      *r1,\n                                                 uint64_t min, uint64_t
      max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_flip_closed_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26279
      start: 26273
    functionDepth: 5
    functionLinenumber: 26273
    functionLinenumberEnd: 26279
    functionName: roaring::api::roaring64_bitmap_flip_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_bitmap_flip_closed_inplace
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_flip_inplace(roaring64_bitmap_t *r, uint64_t
      min,\n                                   uint64_t max)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26296,1
    - Dst: roaring::api::roaring64_flip_leaf_inplace
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26310
      start: 26281
    functionDepth: 4
    functionLinenumber: 26281
    functionLinenumberEnd: 26310
    functionName: roaring::api::roaring64_bitmap_flip_closed_inplace
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - roaring::api::split_key
    - roaring::api::roaring64_flip_leaf_inplace
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_flip_closed_inplace(roaring64_bitmap_t *r, uint64_t
      min,\n                                          uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26314,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26318,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26326
      start: 26313
    functionDepth: 2
    functionLinenumber: 26313
    functionLinenumberEnd: 26326
    functionName: roaring::api::count_high32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - art_iterator_next
    - roaring::api::combine_key
    - art_init_iterator
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t count_high32(const roaring64_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ra_clear_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26330,1
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26332
      start: 26329
    functionDepth: 0
    functionLinenumber: 26329
    functionLinenumberEnd: 26332
    functionName: roaring::api::roaring_bitmap_free_without_containers
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached:
    - ra_clear_without_containers
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_free_without_containers(roaring_bitmap_t *r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26343,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26349,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26358,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26359,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26365,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26368,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26371,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26376,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26377,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26378,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26379,1
    - Dst: roaring::api::roaring_bitmap_portable_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26388,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26393
      start: 26334
    functionDepth: 2
    functionLinenumber: 26334
    functionLinenumberEnd: 26393
    functionName: roaring::api::roaring64_bitmap_portable_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_iterator_next
    - art_init_iterator
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_append
    - roaring::api::roaring_bitmap_portable_size_in_bytes
    - roaring::api::get_container
    - roaring::api::roaring_bitmap_free_without_containers
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_portable_size_in_bytes(const roaring64_bitmap_t
      *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::count_high32
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26405,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26406,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26409,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26415,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26421,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26426,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26427,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26434,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26436,1
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26439,1
    - Dst: ra_append
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26444,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26445,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26446,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26447,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26452,1
    - Dst: roaring::api::roaring_bitmap_portable_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26457,1
    - Dst: roaring::api::roaring_bitmap_free_without_containers
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring64_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26462
      start: 26395
    functionDepth: 3
    functionLinenumber: 26395
    functionLinenumberEnd: 26462
    functionName: roaring::api::roaring64_bitmap_portable_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::roaring_bitmap_portable_serialize
    - art_iterator_next
    - roaring::api::count_high32
    - roaring::api::roaring_bitmap_create_with_capacity
    - ra_append
    - roaring::api::get_container
    - roaring::api::roaring_bitmap_free_without_containers
    - roaring::api::get_typecode
    - roaring::api::combine_key
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_portable_serialize(const roaring64_bitmap_t
      *r,\n                                           char *buf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26478,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26499,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26508
      start: 26464
    functionDepth: 0
    functionLinenumber: 26464
    functionLinenumberEnd: 26508
    functionName: roaring::api::roaring64_bitmap_portable_deserialize_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_size
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_portable_deserialize_size(const char *buf,\n
      \                                                 size_t maxbytes)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26524,1
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26533,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26540,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26543,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26548,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26555,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26558,1
    - Dst: roaring::api::roaring_bitmap_portable_deserialize_safe
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26562,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26565,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26582,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26583,1
    - Dst: roaring::api::move_from_roaring32_offset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26590,1
    - Dst: roaring::api::roaring_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26594
      start: 26510
    functionDepth: 4
    functionLinenumber: 26510
    functionLinenumberEnd: 26594
    functionName: roaring::api::roaring64_bitmap_portable_deserialize_safe
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_portable_deserialize_safe
    - roaring::api::roaring_bitmap_free
    - roaring::api::roaring_bitmap_portable_deserialize_size
    - roaring::api::roaring64_bitmap_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::move_from_roaring32_offset
    - memcpy
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_portable_deserialize_safe(\n
      \   const char *buf, size_t maxbytes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26611
        line_start: 26611
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26617
      start: 26599
    functionDepth: 0
    functionLinenumber: 26599
    functionLinenumberEnd: 26617
    functionName: roaring::api::container_get_element_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t container_get_element_count(const container_t *c,\n                                                   uint8_t
      typecode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26626,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26629,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - c
    - typecode
    argTypes:
    - container_t*
    - uint8_t
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26631
        line_start: 26631
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26637
      start: 26619
    functionDepth: 1
    functionLinenumber: 26619
    functionLinenumberEnd: 26637
    functionName: roaring::api::container_get_frozen_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 9
    functionsReached:
    - roaring::api::container_get_element_count
    - assert
    linkageType: ''
    returnType: size_t
    signature: "size_t container_get_frozen_size(const container_t *c,\n                                               uint8_t
      typecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26641
      start: 26639
    functionDepth: 0
    functionLinenumber: 26639
    functionLinenumberEnd: 26641
    functionName: roaring::api::align_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t align_size(uint64_t size, uint64_t alignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26644,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26656,1
    - Dst: art_size_in_bytes
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26657,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26661,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26664,1
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26666,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26666,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26667,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26670,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26672,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26674,1
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26679
      start: 26643
    functionDepth: 2
    functionLinenumber: 26643
    functionLinenumberEnd: 26679
    functionName: roaring::api::roaring64_bitmap_frozen_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::container_get_frozen_size
    - art_iterator_next
    - art_size_in_bytes
    - roaring::api::is_shrunken
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::align_size
    linkageType: ''
    returnType: size_t
    signature: size_t roaring64_bitmap_frozen_size_in_bytes(const roaring64_bitmap_t
      *r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26686,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26690,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26696,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26697,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26702,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26703,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - container
    - typecode
    - bitsets
    - arrays
    - runs
    argTypes:
    - container_t*
    - uint8_t
    - uint64_t**
    - uint16_t**
    - rle16_t**
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26706
        line_start: 26706
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26711
      start: 26681
    functionDepth: 2
    functionLinenumber: 26681
    functionLinenumberEnd: 26711
    functionName: roaring::api::container_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - roaring::api::container_get_element_count
    - assert
    - memcpy
    - roaring::api::container_get_frozen_size
    linkageType: ''
    returnType: void
    signature: "void container_frozen_serialize(const container_t *container,\n                                              uint8_t
      typecode,\n                                              uint64_t **bitsets,\n
      \                                             uint16_t **arrays,\n                                              rle16_t
      **runs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::align_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26716,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - initial_buf
    - alignment
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26719
      start: 26713
    functionDepth: 1
    functionLinenumber: 26713
    functionLinenumberEnd: 26719
    functionName: roaring::api::pad_align
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - memset
    - roaring::api::align_size
    linkageType: ''
    returnType: char
    signature: "char *pad_align(char *buf, const char *initial_buf,\n                              size_t
      alignment)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::is_shrunken
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26726,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26732,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26736,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26742,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26745,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26746,1
    - Dst: roaring::api::container_get_element_count
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26748,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26750,1
    - Dst: roaring::api::container_get_frozen_size
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26753,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26754,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26758,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26760,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26762,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26766,1
    - Dst: art_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26767,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26772,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26775,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26778,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26782,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26785,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26786,1
    - Dst: roaring::api::container_frozen_serialize
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26787,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26789,1
    - Dst: roaring::api::pad_align
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 2
    argNames:
    - r
    - buf
    argTypes:
    - roaring64_bitmap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26796
      start: 26721
    functionDepth: 3
    functionLinenumber: 26721
    functionLinenumberEnd: 26796
    functionName: roaring::api::roaring64_bitmap_frozen_serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - roaring::api::container_get_frozen_size
    - art_iterator_next
    - roaring::api::pad_align
    - roaring::api::container_get_element_count
    - roaring::api::is_shrunken
    - roaring::api::container_frozen_serialize
    - roaring::api::get_container
    - roaring::api::get_typecode
    - art_serialize
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t roaring64_bitmap_frozen_serialize(const roaring64_bitmap_t
      *r,\n                                         char *buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26804,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26813,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26822,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 5
    argNames:
    - typecode
    - elem_count
    - bitsets
    - arrays
    - runs
    argTypes:
    - uint8_t
    - uint32_t
    - uint64_t**
    - uint16_t**
    - rle16_t**
    assertStmts:
    - condition: (false)
      pos:
        line_end: 26829
        line_start: 26829
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 26835
      start: 26798
    functionDepth: 0
    functionLinenumber: 26798
    functionLinenumberEnd: 26835
    functionName: roaring::api::container_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 3
    functionsReached:
    - assert
    - roaring_malloc
    linkageType: ''
    returnType: container_t
    signature: "container_t *container_frozen_view(uint8_t typecode, uint32_t elem_count,\n
      \                                         const uint64_t **bitsets,\n                                          const
      uint16_t **arrays,\n                                          const rle16_t
      **runs)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_bitmap_create
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26846,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26850,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26853,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26860,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26863,1
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26868,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26872,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26882,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26885,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26888,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26891,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26896,1
    - Dst: art_frozen_view
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26897,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26899,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26907,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26910,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26913,1
    - Dst: roaring::api::roaring64_bitmap_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26917,1
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26923,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26926,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26929,1
    - Dst: roaring::api::get_index
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26934,1
    - Dst: roaring::api::container_frozen_view
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26935,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26938,1
    - Dst: CROARING_ALIGN_BUF
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26942,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 67
    argCount: 2
    argNames:
    - buf
    - maxbytes
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26945
      start: 26837
    functionDepth: 3
    functionLinenumber: 26837
    functionLinenumberEnd: 26945
    functionName: roaring::api::roaring64_bitmap_frozen_view
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - roaring::api::container_frozen_view
    - roaring_malloc
    - roaring::api::roaring64_bitmap_free
    - roaring::api::roaring64_bitmap_create
    - roaring::api::get_typecode
    - CROARING_ALIGN_BUF
    - art_frozen_view
    - memcpy
    - roaring::api::get_index
    linkageType: ''
    returnType: roaring64_bitmap_t
    signature: "roaring64_bitmap_t *roaring64_bitmap_frozen_view(const char *buf,\n
      \                                                size_t maxbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: art_init_iterator
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26949,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26951,1
    - Dst: container_iterate64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26955,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - r
    - iterator
    - ptr
    argTypes:
    - roaring64_bitmap_t*
    - roaring_iterator64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26962
      start: 26947
    functionDepth: 2
    functionLinenumber: 26947
    functionLinenumberEnd: 26962
    functionName: roaring::api::roaring64_bitmap_iterate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - art_init_iterator
    - art_iterator_next
    - container_iterate64
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_bitmap_iterate(const roaring64_bitmap_t *r,\n                              roaring_iterator64
      iterator, void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26967,1
    - Dst: roaring::api::roaring64_iterator_read
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - out
    argTypes:
    - roaring64_bitmap_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26969
      start: 26964
    functionDepth: 4
    functionLinenumber: 26964
    functionLinenumberEnd: 26969
    functionName: roaring::api::roaring64_bitmap_to_uint64_array
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring::api::roaring64_iterator_read
    linkageType: ''
    returnType: void
    signature: "void roaring64_bitmap_to_uint64_array(const roaring64_bitmap_t *r,\n
      \                                     uint64_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26973,1
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26975
      start: 26971
    functionDepth: 4
    functionLinenumber: 26971
    functionLinenumberEnd: 26975
    functionName: roaring::api::roaring64_iterator_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: roaring64_iterator_t *roaring64_iterator_create(const roaring64_bitmap_t
      *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26980,1
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring64_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26982
      start: 26977
    functionDepth: 4
    functionLinenumber: 26977
    functionLinenumberEnd: 26982
    functionName: roaring::api::roaring64_iterator_create_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: "roaring64_iterator_t *roaring64_iterator_create_last(\n    const roaring64_bitmap_t
      *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - it
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26987
      start: 26984
    functionDepth: 4
    functionLinenumber: 26984
    functionLinenumberEnd: 26987
    functionName: roaring::api::roaring64_iterator_reinit
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_iterator_reinit(const roaring64_bitmap_t *r,\n                               roaring64_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - it
    argTypes:
    - roaring64_bitmap_t*
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26992
      start: 26989
    functionDepth: 4
    functionLinenumber: 26989
    functionLinenumberEnd: 26992
    functionName: roaring::api::roaring64_iterator_reinit_last
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    linkageType: ''
    returnType: void
    signature: "void roaring64_iterator_reinit_last(const roaring64_bitmap_t *r,\n
      \                                   roaring64_iterator_t *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_malloc
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26996,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:26997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26999
      start: 26994
    functionDepth: 0
    functionLinenumber: 26994
    functionLinenumberEnd: 26999
    functionName: roaring::api::roaring64_iterator_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - memcpy
    - roaring_malloc
    linkageType: ''
    returnType: roaring64_iterator_t
    signature: roaring64_iterator_t *roaring64_iterator_copy(const roaring64_iterator_t
      *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_free
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27001
      start: 27001
    functionDepth: 0
    functionLinenumber: 27001
    functionLinenumberEnd: 27001
    functionName: roaring::api::roaring64_iterator_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring_free
    linkageType: ''
    returnType: void
    signature: void roaring64_iterator_free(roaring64_iterator_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27005
      start: 27003
    functionDepth: 0
    functionLinenumber: 27003
    functionLinenumberEnd: 27005
    functionName: roaring::api::roaring64_iterator_has_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_has_value(const roaring64_iterator_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27009
      start: 27007
    functionDepth: 0
    functionLinenumber: 27007
    functionLinenumberEnd: 27009
    functionName: roaring::api::roaring64_iterator_value
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t roaring64_iterator_value(const roaring64_iterator_t *it)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27016,1
    - Dst: container_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27021,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27026,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27027,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27031
      start: 27011
    functionDepth: 4
    functionLinenumber: 27011
    functionLinenumberEnd: 27031
    functionName: roaring::api::roaring64_iterator_advance
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - art_iterator_next
    - container_iterator_next
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_advance(roaring64_iterator_t *it)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring64_iterator_init_at
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27039,1
    - Dst: container_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27044,1
    - Dst: art_iterator_prev
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27049,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_last
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring64_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27054
      start: 27033
    functionDepth: 4
    functionLinenumber: 27033
    functionLinenumberEnd: 27054
    functionName: roaring::api::roaring64_iterator_previous
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 0
    functionsReached:
    - roaring::api::roaring64_iterator_init_at
    - art_iterator_prev
    - container_iterator_prev
    - roaring::api::roaring64_iterator_init_at_leaf_last
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: bool
    signature: bool roaring64_iterator_previous(roaring64_iterator_t *it)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::split_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27059,1
    - Dst: art_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27064,1
    - Dst: roaring::api::combine_key
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27069,1
    - Dst: container_iterator_lower_bound
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27078,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27079,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27079,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27085,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27093,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring64_iterator_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27094
      start: 27056
    functionDepth: 3
    functionLinenumber: 27056
    functionLinenumberEnd: 27094
    functionName: roaring::api::roaring64_iterator_move_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - art_iterator_lower_bound
    - art_iterator_next
    - roaring::api::split_key
    - container_iterator_lower_bound
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    - roaring::api::combine_key
    linkageType: ''
    returnType: bool
    signature: "bool roaring64_iterator_move_equalorlarger(roaring64_iterator_t *it,\n
      \                                          uint64_t val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_iterator_read_into_uint64
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27107,1
    - Dst: roaring::api::get_container
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27108,1
    - Dst: roaring::api::get_typecode
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27108,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27115,1
    - Dst: art_iterator_next
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27118,1
    - Dst: roaring::api::roaring64_iterator_init_at_leaf_first
      Src: /src/ndpi/src/lib/third_party/src/roaring.c:27120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring64_iterator_t*
    - uint64_t*
    - uint64_t
    assertStmts:
    - condition: (consumed == count)
      pos:
        line_end: 27114
        line_start: 27114
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    constantsTouched: []
    func_position:
      end: 27124
      start: 27096
    functionDepth: 3
    functionLinenumber: 27096
    functionLinenumberEnd: 27124
    functionName: roaring::api::roaring64_iterator_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/roaring.c
    functionUses: 4
    functionsReached:
    - art_iterator_next
    - assert
    - container_iterator_read_into_uint64
    - roaring::api::roaring64_iterator_init_at_leaf_first
    - roaring::api::get_container
    - roaring::api::get_typecode
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t roaring64_iterator_read(roaring64_iterator_t *it, uint64_t
      *buf,\n                                 uint64_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: ISDIGIT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISDIGIT(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: flag2delim
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char flag2delim(int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - haystack
    - haystack_len
    - c0
    - c1
    argTypes:
    - char*
    - size_t
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: memchr2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      memchr2(const char *haystack, size_t haystack_len, char c0, char c1)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:133,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:134,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:135,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - haystack
    - hlen
    - needle
    - nlen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts:
    - condition: (haystack)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    - condition: (needle)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    - condition: (nlen > 1)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: my_memmem
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - assert
    - memcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      my_memmem(const char* haystack, size_t hlen, const char* needle, size_t nlen)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - s
    - len
    - accept
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: strlenspn
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: size_t
    signature: size_t strlenspn(const char *s, size_t len, const char *accept)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - s
    - len
    - accept
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: strlencspn
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: size_t
    signature: size_t strlencspn(const char *s, size_t len, const char *accept)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: char_is_white
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: int char_is_white(char ch)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 228
    functionName: cstrcasecmp
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cstrcasecmp(const char *a, const char *b, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: streq
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int streq(const char *a, const char *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:260,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - key
    - len
    - keywords
    - numb
    argTypes:
    - char*
    - size_t
    - keyword_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 271
    functionName: bsearch_keyword_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - cstrcasecmp
    linkageType: ''
    returnType: char
    signature: "char bsearch_keyword_type(const char *key, size_t len,\n                                 const
      keyword_t * keywords, size_t numb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch_keyword_type
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: is_keyword
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - bsearch_keyword_type
    linkageType: ''
    returnType: char
    signature: char is_keyword(const char* key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stoken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: st_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void st_clear(stoken_t * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - st
    - stype
    - pos
    - len
    - value
    argTypes:
    - stoken_t*
    - char
    - size_t
    - size_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: st_assign_char
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void st_assign_char(stoken_t * st, const char stype, size_t pos, size_t
      len,\n                           const char value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - st
    - stype
    - pos
    - len
    - value
    argTypes:
    - stoken_t*
    - char
    - size_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: st_assign
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void st_assign(stoken_t * st, const char stype,\n                      size_t
      pos, size_t len, const char* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - stoken_t*
    - stoken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: st_copy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void st_copy(stoken_t * dest, const stoken_t * src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stoken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: st_is_arithmetic_op
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int st_is_arithmetic_op(const stoken_t* st)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - st
    argTypes:
    - stoken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: st_is_unary_op
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - cstrcasecmp
    linkageType: ''
    returnType: int
    signature: int st_is_unary_op(const stoken_t * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: parse_white
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t parse_white(struct libinjection_sqli_state * sf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_assign_char
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: parse_operator1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - st_assign_char
    linkageType: ''
    returnType: size_t
    signature: size_t parse_operator1(struct libinjection_sqli_state * sf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_assign_char
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: parse_other
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - st_assign_char
    linkageType: ''
    returnType: size_t
    signature: size_t parse_other(struct libinjection_sqli_state * sf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_assign_char
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: parse_char
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - st_assign_char
    linkageType: ''
    returnType: size_t
    signature: size_t parse_char(struct libinjection_sqli_state * sf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:391,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:393,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 399
    functionName: parse_eol_comment
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - memchr
    - st_assign
    linkageType: ''
    returnType: size_t
    signature: size_t parse_eol_comment(struct libinjection_sqli_state * sf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_eol_comment
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:409,1
    - Dst: st_assign_char
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: parse_hash
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - parse_eol_comment
    - st_assign_char
    linkageType: ''
    returnType: size_t
    signature: size_t parse_hash(struct libinjection_sqli_state * sf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: char_is_white
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:431,1
    - Dst: parse_eol_comment
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:432,1
    - Dst: parse_eol_comment
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:434,1
    - Dst: parse_eol_comment
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:440,1
    - Dst: st_assign_char
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:442,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 445
    functionName: parse_dash
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - char_is_white
    - parse_eol_comment
    - st_assign_char
    linkageType: ''
    returnType: size_t
    signature: size_t parse_dash(struct libinjection_sqli_state * sf)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cs
    - len
    - pos
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 486
    functionName: is_mysql_comment
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t is_mysql_comment(const char *cs, const size_t len, size_t pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_operator1
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:499,1
    - Dst: memchr2
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:505,1
    - Dst: memchr2
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:525,1
    - Dst: is_mysql_comment
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:528,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 534
    functionName: parse_slash
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - is_mysql_comment
    - parse_operator1
    - memchr2
    - st_assign
    linkageType: ''
    returnType: size_t
    signature: size_t parse_slash(struct libinjection_sqli_state * sf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:547,1
    - Dst: st_assign_char
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 553
    functionName: parse_backslash
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - st_assign
    - st_assign_char
    linkageType: ''
    returnType: size_t
    signature: size_t parse_backslash(struct libinjection_sqli_state * sf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_operator1
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:563,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:573,1
    - Dst: struct libinjection_sqli_state*::lookup
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:577,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:579,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:590,1
    - Dst: parse_operator1
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:596,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 598
    functionName: parse_operator2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - struct libinjection_sqli_state*::lookup
    - parse_operator1
    - st_assign
    linkageType: ''
    returnType: size_t
    signature: size_t parse_operator2(struct libinjection_sqli_state * sf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - end
    - start
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 626
    functionName: is_backslash_escaped
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_backslash_escaped(const char* end, const char* start)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - cur
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: is_double_delim_escaped
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t is_double_delim_escaped(const char* cur,  const char* end)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:649,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:673,1
    - Dst: is_backslash_escaped
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:676,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:679,1
    - Dst: is_double_delim_escaped
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:682,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:685,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:690,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - cs
    - len
    - pos
    - st
    - delim
    - offset
    argTypes:
    - char*
    - size_t
    - size_t
    - stoken_t*
    - char
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 696
    functionName: parse_string_core
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - is_backslash_escaped
    - memchr
    - st_assign
    - is_double_delim_escaped
    linkageType: ''
    returnType: size_t
    signature: "size_t parse_string_core(const char *cs, const size_t len, size_t
      pos,\n                                stoken_t * st, char delim, size_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_string_core
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 711
    functionName: parse_string
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - parse_string_core
    linkageType: ''
    returnType: size_t
    signature: size_t parse_string(struct libinjection_sqli_state * sf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_word
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:725,1
    - Dst: parse_string_core
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 728
    functionName: parse_estring
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - parse_string_core
    - parse_word
    linkageType: ''
    returnType: size_t
    signature: size_t parse_estring(struct libinjection_sqli_state * sf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_string
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:738,1
    - Dst: parse_word
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 730
    functionDepth: 3
    functionLinenumber: 730
    functionLinenumberEnd: 747
    functionName: parse_ustring
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - parse_word
    - parse_string
    linkageType: ''
    returnType: size_t
    signature: size_t parse_ustring(struct libinjection_sqli_state * sf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_word
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:767,1
    - Dst: parse_word
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:776,1
    - Dst: memchr2
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:785,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:787,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:792,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - sf
    - offset
    argTypes:
    - struct libinjection_sqli_state*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 797
    functionName: parse_qstring_core
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - parse_word
    - memchr2
    - st_assign
    linkageType: ''
    returnType: size_t
    signature: size_t parse_qstring_core(struct libinjection_sqli_state * sf, size_t
      offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_qstring_core
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: parse_qstring
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - parse_qstring_core
    linkageType: ''
    returnType: size_t
    signature: size_t parse_qstring(struct libinjection_sqli_state * sf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_estring
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:816,1
    - Dst: parse_qstring_core
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 819
    functionName: parse_nqstring
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - parse_qstring_core
    - parse_estring
    linkageType: ''
    returnType: size_t
    signature: size_t parse_nqstring(struct libinjection_sqli_state * sf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_word
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:837,1
    - Dst: strlenspn
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:840,1
    - Dst: parse_word
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:842,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 846
    functionName: parse_bstring
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - parse_word
    - strlenspn
    - st_assign
    linkageType: ''
    returnType: size_t
    signature: size_t parse_bstring(struct libinjection_sqli_state *sf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parse_word
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:866,1
    - Dst: strlenspn
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:869,1
    - Dst: parse_word
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:871,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 875
    functionName: parse_xstring
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - parse_word
    - strlenspn
    - st_assign
    linkageType: ''
    returnType: size_t
    signature: size_t parse_xstring(struct libinjection_sqli_state *sf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:886,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:888,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 894
    functionName: parse_bword
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - memchr
    - st_assign
    linkageType: ''
    returnType: size_t
    signature: size_t parse_bword(struct libinjection_sqli_state * sf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlencspn
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:903,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:906,1
    - Dst: struct libinjection_sqli_state*::lookup
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:914,1
    - Dst: st_clear
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:917,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:922,1
    - Dst: struct libinjection_sqli_state*::lookup
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:933,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 940
    functionName: parse_word
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 5
    functionsReached:
    - struct libinjection_sqli_state*::lookup
    - st_clear
    - strlencspn
    - st_assign
    linkageType: ''
    returnType: size_t
    signature: size_t parse_word(struct libinjection_sqli_state * sf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_string_core
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:948,1
    - Dst: struct libinjection_sqli_state*::lookup
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 970
    functionName: parse_tick
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - parse_string_core
    - struct libinjection_sqli_state*::lookup
    linkageType: ''
    returnType: size_t
    signature: size_t parse_tick(struct libinjection_sqli_state* sf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_tick
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1001,1
    - Dst: parse_string
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1006,1
    - Dst: strlencspn
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1013,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1016,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1019,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 972
    functionDepth: 3
    functionLinenumber: 972
    functionLinenumberEnd: 1022
    functionName: parse_var
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - parse_tick
    - parse_string
    - strlencspn
    - st_assign
    linkageType: ''
    returnType: size_t
    signature: size_t parse_var(struct libinjection_sqli_state * sf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: st_assign_char
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1034,1
    - Dst: strlenspn
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1043,1
    - Dst: memchr2
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1047,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1050,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1055,1
    - Dst: strlenspn
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1063,1
    - Dst: st_assign_char
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1066,1
    - Dst: st_assign_char
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1073,1
    - Dst: my_memmem
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1078,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1082,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1088,1
    - Dst: parse_word
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1097,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1099,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1024
    functionDepth: 2
    functionLinenumber: 1024
    functionLinenumberEnd: 1102
    functionName: parse_money
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - memchr2
    - my_memmem
    - parse_word
    - strlenspn
    - st_assign
    - st_assign_char
    linkageType: ''
    returnType: size_t
    signature: size_t parse_money(struct libinjection_sqli_state *sf)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strlenspn
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1126,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1128,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1131,1
    - Dst: ISDIGIT
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1138,1
    - Dst: ISDIGIT
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1144,1
    - Dst: st_assign_char
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1149,1
    - Dst: ISDIGIT
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1161,1
    - Dst: char_is_white
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1175,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1197,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1199,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 64
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1202
    functionName: parse_number
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - char_is_white
    - strlenspn
    - ISDIGIT
    - st_assign
    - st_assign_char
    linkageType: ''
    returnType: size_t
    signature: size_t parse_number(struct libinjection_sqli_state * sf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1212
    functionName: libinjection_version
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * libinjection_version(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: st_clear
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1226,1
    - Dst: parse_string_core
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1235,1
    - Dst: flag2delim
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1266
    functionName: libinjection_sqli_tokenize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - flag2delim
    - parse_string_core
    - st_clear
    linkageType: ''
    returnType: int
    signature: int libinjection_sqli_tokenize(struct libinjection_sqli_state *sf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - sf
    - s
    - len
    - flags
    argTypes:
    - struct libinjection_sqli_state*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1281
    functionName: libinjection_sqli_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void libinjection_sqli_init(struct libinjection_sqli_state * sf, const
      char *s, size_t len, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libinjection_sqli_init
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sf
    - flags
    argTypes:
    - struct libinjection_sqli_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1294
    functionName: libinjection_sqli_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - libinjection_sqli_init
    linkageType: ''
    returnType: void
    signature: void libinjection_sqli_reset(struct libinjection_sqli_state * sf, int
      flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - sf
    - fn
    - userdata
    argTypes:
    - struct libinjection_sqli_state*
    - ptr_lookup_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1305
    functionName: libinjection_sqli_callback
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void libinjection_sqli_callback(struct libinjection_sqli_state * sf,
      ptr_lookup_fn fn, void* userdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1366,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1368,1
    - Dst: struct libinjection_sqli_state*::lookup
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1370,1
    - Dst: st_assign
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1373,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 24
    argCount: 3
    argNames:
    - sf
    - a
    - b
    argTypes:
    - struct libinjection_sqli_state*
    - stoken_t*
    - stoken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1378
    functionName: syntax_merge_words
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - struct libinjection_sqli_state*::lookup
    - memcpy
    - st_assign
    linkageType: ''
    returnType: int
    signature: int syntax_merge_words(struct libinjection_sqli_state * sf,stoken_t
      * a, stoken_t * b)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: st_clear
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1393,1
    - Dst: libinjection_sqli_tokenize
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1400,1
    - Dst: st_is_unary_op
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1404,1
    - Dst: st_copy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1456,1
    - Dst: libinjection_sqli_tokenize
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1474,1
    - Dst: st_copy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1477,1
    - Dst: st_is_unary_op
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1510,1
    - Dst: st_is_unary_op
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1517,1
    - Dst: syntax_merge_words
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1524,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1547,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1548,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1551,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1552,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1553,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1559,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1560,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1561,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1562,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1563,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1564,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1574,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1575,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1602,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1603,1
    - Dst: st_copy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1618,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1629,1
    - Dst: st_is_arithmetic_op
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1634,1
    - Dst: st_copy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1639,1
    - Dst: libinjection_sqli_tokenize
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1704,1
    - Dst: st_copy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1707,1
    - Dst: streq
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1762,1
    - Dst: st_is_unary_op
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1783,1
    - Dst: st_copy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1788,1
    - Dst: st_is_unary_op
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1795,1
    - Dst: st_copy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1804,1
    - Dst: st_is_unary_op
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1809,1
    - Dst: st_copy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1819,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1822,1
    - Dst: st_is_unary_op
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1826,1
    - Dst: st_copy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1835,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1845,1
    - Dst: st_copy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1853,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1867,1
    - Dst: st_copy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1886,1
    CyclomaticComplexity: 208
    EdgeCount: 208
    ICount: 259
    argCount: 1
    argNames:
    - sf
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts:
    - condition: (pos >= 3)
      pos:
        line_end: 1844
        line_start: 1844
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    - condition: (pos >= 3)
      pos:
        line_end: 1821
        line_start: 1821
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    constantsTouched: []
    func_position:
      end: 1898
      start: 1380
    functionDepth: 3
    functionLinenumber: 1380
    functionLinenumberEnd: 1898
    functionName: libinjection_sqli_fold
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - st_clear
    - st_is_unary_op
    - st_is_arithmetic_op
    - libinjection_sqli_tokenize
    - strchr
    - assert
    - syntax_merge_words
    - cstrcasecmp
    - st_copy
    - streq
    linkageType: ''
    returnType: int
    signature: int libinjection_sqli_fold(struct libinjection_sqli_state * sf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: libinjection_sqli_reset
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1915,1
    - Dst: libinjection_sqli_fold
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1917,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1953,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1955,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1956,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - sql_state
    - flags
    argTypes:
    - struct libinjection_sqli_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1967
      start: 1910
    functionDepth: 4
    functionLinenumber: 1910
    functionLinenumberEnd: 1967
    functionName: libinjection_sqli_fingerprint
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - memset
    - libinjection_sqli_reset
    - strchr
    - libinjection_sqli_fold
    linkageType: ''
    returnType: char
    signature: char * libinjection_sqli_fingerprint(struct libinjection_sqli_state
      * sql_state, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libinjection_sqli_blacklist
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1971,1
    - Dst: libinjection_sqli_not_whitelist
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sql_state
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1969
    functionDepth: 1
    functionLinenumber: 1969
    functionLinenumberEnd: 1973
    functionName: libinjection_sqli_check_fingerprint
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - libinjection_sqli_not_whitelist
    - libinjection_sqli_blacklist
    linkageType: ''
    returnType: int
    signature: int libinjection_sqli_check_fingerprint(struct libinjection_sqli_state*
      sql_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libinjection_sqli_check_fingerprint
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1979,1
    - Dst: bsearch_keyword_type
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sql_state
    - lookup_type
    - str
    - len
    argTypes:
    - struct libinjection_sqli_state*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1975
    functionDepth: 2
    functionLinenumber: 1975
    functionLinenumberEnd: 1983
    functionName: libinjection_sqli_lookup_word
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - libinjection_sqli_check_fingerprint
    - bsearch_keyword_type
    linkageType: ''
    returnType: char
    signature: "char libinjection_sqli_lookup_word(struct libinjection_sqli_state
      *sql_state, int lookup_type,\n                                   const char*
      str, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:1994,1
    - Dst: is_keyword
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - sql_state
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 1985
    functionDepth: 3
    functionLinenumber: 1985
    functionLinenumberEnd: 2033
    functionName: libinjection_sqli_blacklist
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 1
    functionsReached:
    - strlen
    - is_keyword
    linkageType: ''
    returnType: int
    signature: int libinjection_sqli_blacklist(struct libinjection_sqli_state* sql_state)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2046,1
    - Dst: my_memmem
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2056,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2057,1
    - Dst: streq
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2176,1
    - Dst: streq
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2177,1
    - Dst: streq
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2198,1
    - Dst: streq
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2199,1
    - Dst: streq
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2200,1
    - Dst: streq
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2201,1
    - Dst: streq
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2202,1
    - Dst: cstrcasecmp
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2212,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 86
    argCount: 1
    argNames:
    - sql_state
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2230
    functionName: libinjection_sqli_not_whitelist
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 1
    functionsReached:
    - cstrcasecmp
    - streq
    - my_memmem
    - strlen
    linkageType: ''
    returnType: int
    signature: int libinjection_sqli_not_whitelist(struct libinjection_sqli_state*
      sql_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sql_state
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2240
    functionName: reparse_as_mysql
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int reparse_as_mysql(struct libinjection_sqli_state * sql_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sql_state
    - i
    argTypes:
    - struct libinjection_sqli_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2252
    functionName: libinjection_sqli_get_token
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct libinjection_sqli_token
    signature: 'struct libinjection_sqli_token *

      libinjection_sqli_get_token(struct libinjection_sqli_state * sql_state, int
      i)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: libinjection_sqli_fingerprint
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2269,1
    - Dst: struct libinjection_sqli_state*::lookup
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2270,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2271,1
    - Dst: reparse_as_mysql
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2273,1
    - Dst: libinjection_sqli_fingerprint
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2274,1
    - Dst: struct libinjection_sqli_state*::lookup
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2275,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2276,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2290,1
    - Dst: libinjection_sqli_fingerprint
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2291,1
    - Dst: struct libinjection_sqli_state*::lookup
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2292,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2293,1
    - Dst: reparse_as_mysql
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2295,1
    - Dst: libinjection_sqli_fingerprint
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2296,1
    - Dst: struct libinjection_sqli_state*::lookup
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2297,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2298,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2307,1
    - Dst: libinjection_sqli_fingerprint
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2308,1
    - Dst: struct libinjection_sqli_state*::lookup
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2309,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2310,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - sql_state
    argTypes:
    - struct libinjection_sqli_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2254
    functionDepth: 5
    functionLinenumber: 2254
    functionLinenumberEnd: 2319
    functionName: libinjection_is_sqli
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 1
    functionsReached:
    - struct libinjection_sqli_state*::lookup
    - strlen
    - reparse_as_mysql
    - memchr
    - libinjection_sqli_fingerprint
    linkageType: ''
    returnType: int
    signature: int libinjection_is_sqli(struct libinjection_sqli_state * sql_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: libinjection_sqli_init
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2326,1
    - Dst: libinjection_is_sqli
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2327,1
    - Dst: strcpy
      Src: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c:2329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - s
    - slen
    - fingerprint
    argTypes:
    - char*
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2321
    functionDepth: 6
    functionLinenumber: 2321
    functionLinenumberEnd: 2334
    functionName: libinjection_sqli
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
    functionUses: 0
    functionsReached:
    - libinjection_sqli_init
    - libinjection_is_sqli
    - strcpy
    linkageType: ''
    returnType: int
    signature: int libinjection_sqli(const char* s, size_t slen, char fingerprint[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:50,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: copy_double_arr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 0
    functionsReached:
    - ndpi_malloc
    linkageType: ''
    returnType: double
    signature: double **copy_double_arr(double **arr, int row, int col)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arr
    - i1
    - i2
    argTypes:
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: swap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap(int *arr, int i1, int i2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - b
    argTypes:
    - t_btree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: btree_zero
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void btree_zero(t_btree *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmax
      Src: /src/ndpi/src/lib/third_party/src/ball.c:105,1
    - Dst: manhattan_dist
      Src: /src/ndpi/src/lib/third_party/src/ball.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - b
    - i_node
    - idx_start
    - idx_end
    argTypes:
    - t_btree*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 111
    functionName: init_node
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 0
    functionsReached:
    - manhattan_dist
    - fmax
    linkageType: ''
    returnType: int
    signature: int init_node(t_btree *b, int i_node, int idx_start, int idx_end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmax
      Src: /src/ndpi/src/lib/third_party/src/ball.c:127,1
    - Dst: fmin
      Src: /src/ndpi/src/lib/third_party/src/ball.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - data
    - node_indices
    - n_features
    - n_points
    argTypes:
    - double**
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 138
    functionName: find_node_split_dim
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 0
    functionsReached:
    - fmin
    - fmax
    linkageType: ''
    returnType: int
    signature: int find_node_split_dim(double **data, int *node_indices, int n_features,
      int n_points)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/ndpi/src/lib/third_party/src/ball.c:159,1
    - Dst: swap
      Src: /src/ndpi/src/lib/third_party/src/ball.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - data
    - node_indices
    - split_dim
    - split_index
    - n_features
    - n_points
    argTypes:
    - double**
    - int*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 172
    functionName: partition_node_indices
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: int
    signature: "int partition_node_indices(double **data, int *node_indices, int split_dim,
      int split_index,\n           int n_features, int n_points)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_node
      Src: /src/ndpi/src/lib/third_party/src/ball.c:186,1
    - Dst: find_node_split_dim
      Src: /src/ndpi/src/lib/third_party/src/ball.c:204,1
    - Dst: partition_node_indices
      Src: /src/ndpi/src/lib/third_party/src/ball.c:205,1
    - Dst: recursive_build
      Src: /src/ndpi/src/lib/third_party/src/ball.c:206,1
    - Dst: recursive_build
      Src: /src/ndpi/src/lib/third_party/src/ball.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - b
    - i_node
    - idx_start
    - idx_end
    argTypes:
    - t_btree*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 209
    functionName: recursive_build
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached:
    - partition_node_indices
    - init_node
    - recursive_build
    - find_node_split_dim
    linkageType: ''
    returnType: void
    signature: void recursive_build(t_btree *b, int i_node, int idx_start, int idx_end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:216,1
    - Dst: btree_zero
      Src: /src/ndpi/src/lib/third_party/src/ball.c:217,1
    - Dst: copy_double_arr
      Src: /src/ndpi/src/lib/third_party/src/ball.c:219,1
    - Dst: log2
      Src: /src/ndpi/src/lib/third_party/src/ball.c:231,1
    - Dst: fmax
      Src: /src/ndpi/src/lib/third_party/src/ball.c:231,1
    - Dst: pow
      Src: /src/ndpi/src/lib/third_party/src/ball.c:232,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:234,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:237,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:238,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:239,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:242,1
    - Dst: recursive_build
      Src: /src/ndpi/src/lib/third_party/src/ball.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - data
    - n_samples
    - n_features
    - leaf_size
    argTypes:
    - double**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 248
    functionName: btree_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached:
    - pow
    - fmax
    - btree_zero
    - ndpi_malloc
    - log2
    - recursive_build
    - copy_double_arr
    - ndpi_calloc
    linkageType: ''
    returnType: t_btree
    signature: t_btree *btree_init(double **data, int n_samples, int n_features, int
      leaf_size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nheap_largest
      Src: /src/ndpi/src/lib/third_party/src/ball.c:257,1
    - Dst: manhattan_dist
      Src: /src/ndpi/src/lib/third_party/src/ball.c:266,1
    - Dst: nheap_largest
      Src: /src/ndpi/src/lib/third_party/src/ball.c:267,1
    - Dst: nheap_push
      Src: /src/ndpi/src/lib/third_party/src/ball.c:268,1
    - Dst: min_dist
      Src: /src/ndpi/src/lib/third_party/src/ball.c:276,1
    - Dst: min_dist
      Src: /src/ndpi/src/lib/third_party/src/ball.c:277,1
    - Dst: query_depth_first
      Src: /src/ndpi/src/lib/third_party/src/ball.c:280,1
    - Dst: query_depth_first
      Src: /src/ndpi/src/lib/third_party/src/ball.c:281,1
    - Dst: query_depth_first
      Src: /src/ndpi/src/lib/third_party/src/ball.c:285,1
    - Dst: query_depth_first
      Src: /src/ndpi/src/lib/third_party/src/ball.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 6
    argNames:
    - b
    - i_node
    - pt
    - i_pt
    - heap
    - dist
    argTypes:
    - t_btree*
    - int
    - double*
    - int
    - t_nheap*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 290
    functionName: query_depth_first
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached:
    - query_depth_first
    - min_dist
    - manhattan_dist
    - nheap_largest
    - nheap_push
    linkageType: ''
    returnType: int
    signature: int query_depth_first(t_btree *b, int i_node, double *pt, int i_pt,
      t_nheap *heap, double dist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/ball.c:299,1
    - Dst: nheap_init
      Src: /src/ndpi/src/lib/third_party/src/ball.c:311,1
    - Dst: min_dist
      Src: /src/ndpi/src/lib/third_party/src/ball.c:314,1
    - Dst: query_depth_first
      Src: /src/ndpi/src/lib/third_party/src/ball.c:315,1
    - Dst: nheap_get_arrays
      Src: /src/ndpi/src/lib/third_party/src/ball.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - b
    - x
    - n_samples
    - n_features
    - k
    argTypes:
    - t_btree*
    - double**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 319
    functionName: btree_query
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached:
    - query_depth_first
    - nheap_get_arrays
    - min_dist
    - nheap_init
    - memset
    linkageType: ''
    returnType: ndpi_knn
    signature: ndpi_knn btree_query(t_btree *b, double **x, int n_samples, int n_features,
      int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ball.c:326,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ball.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arr
    - row
    argTypes:
    - double**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: free_2d_double
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void free_2d_double(double **arr, int row)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ball.c:335,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ball.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arr
    - row
    argTypes:
    - int**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 337
    functionName: free_2d_int
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void free_2d_int(int **arr, int row)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_2d_double
      Src: /src/ndpi/src/lib/third_party/src/ball.c:341,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ball.c:342,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ball.c:343,1
    - Dst: free_2d_double
      Src: /src/ndpi/src/lib/third_party/src/ball.c:344,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ball.c:345,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ball.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - tree
    argTypes:
    - t_btree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 347
    functionName: free_tree
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached:
    - ndpi_free
    - free_2d_double
    linkageType: ''
    returnType: void
    signature: void free_tree(t_btree *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_2d_double
      Src: /src/ndpi/src/lib/third_party/src/ball.c:351,1
    - Dst: free_2d_int
      Src: /src/ndpi/src/lib/third_party/src/ball.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - knn
    - row
    argTypes:
    - ndpi_knn
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: free_knn
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached:
    - free_2d_int
    - free_2d_double
    linkageType: ''
    returnType: void
    signature: void free_knn(ndpi_knn knn, int row)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/ndpi/src/lib/third_party/src/ball.c:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x1
    - x2
    - size
    argTypes:
    - double*
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 377
    functionName: manhattan_dist
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 2
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double manhattan_dist(double *x1, double *x2, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: manhattan_dist
      Src: /src/ndpi/src/lib/third_party/src/ball.c:383,1
    - Dst: fmax
      Src: /src/ndpi/src/lib/third_party/src/ball.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tree
    - i_node
    - pt
    argTypes:
    - t_btree*
    - int
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: min_dist
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 2
    functionsReached:
    - manhattan_dist
    - fmax
    linkageType: ''
    returnType: double
    signature: double min_dist(t_btree *tree, int i_node, double *pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - darr
    - iarr
    - i1
    - i2
    argTypes:
    - double*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: dual_swap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dual_swap(double *darr, int *iarr, int i1, int i2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:419,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:422,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:425,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:429,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/ball.c:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - n_pts
    - n_nbrs
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 433
    functionName: nheap_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached:
    - ndpi_calloc
    - ndpi_malloc
    linkageType: ''
    returnType: t_nheap
    signature: t_nheap *nheap_init(int n_pts, int n_nbrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - row
    argTypes:
    - t_nheap*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: nheap_largest
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double nheap_largest(t_nheap *h, int row)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - h
    - row
    - val
    - i_val
    argTypes:
    - t_nheap*
    - int
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 498
    functionName: nheap_push
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nheap_push(t_nheap *h, int row, double val, int i_val)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dual_swap
      Src: /src/ndpi/src/lib/third_party/src/ball.c:510,1
    - Dst: dual_swap
      Src: /src/ndpi/src/lib/third_party/src/ball.c:515,1
    - Dst: dual_swap
      Src: /src/ndpi/src/lib/third_party/src/ball.c:518,1
    - Dst: dual_swap
      Src: /src/ndpi/src/lib/third_party/src/ball.c:520,1
    - Dst: dual_swap
      Src: /src/ndpi/src/lib/third_party/src/ball.c:527,1
    - Dst: dual_swap
      Src: /src/ndpi/src/lib/third_party/src/ball.c:530,1
    - Dst: dual_swap
      Src: /src/ndpi/src/lib/third_party/src/ball.c:532,1
    - Dst: dual_swap
      Src: /src/ndpi/src/lib/third_party/src/ball.c:541,1
    - Dst: dual_swap
      Src: /src/ndpi/src/lib/third_party/src/ball.c:545,1
    - Dst: simultaneous_sort
      Src: /src/ndpi/src/lib/third_party/src/ball.c:548,1
    - Dst: simultaneous_sort
      Src: /src/ndpi/src/lib/third_party/src/ball.c:550,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - dist
    - idx
    - size
    argTypes:
    - double*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 552
    functionName: simultaneous_sort
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached:
    - dual_swap
    - simultaneous_sort
    linkageType: ''
    returnType: void
    signature: void simultaneous_sort(double *dist, int *idx, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: simultaneous_sort
      Src: /src/ndpi/src/lib/third_party/src/ball.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - t_nheap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: nheap_sort
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 0
    functionsReached:
    - simultaneous_sort
    linkageType: ''
    returnType: void
    signature: void nheap_sort(t_nheap *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nheap_sort
      Src: /src/ndpi/src/lib/third_party/src/ball.c:566,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/ball.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - t_nheap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: nheap_get_arrays
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ball.c
    functionUses: 1
    functionsReached:
    - nheap_sort
    - ndpi_free
    linkageType: ''
    returnType: ndpi_knn
    signature: ndpi_knn nheap_get_arrays(t_nheap *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - key
    - length
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: jenkins_one_at_a_time_hash
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t jenkins_one_at_a_time_hash(const uint8_t* key, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - cache
    - entry
    argTypes:
    - cache_t
    - cache_entry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: cache_touch_entry
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cache_touch_entry(cache_t cache, cache_entry entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: cache_entry_new
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libcache.c
    functionUses: 0
    functionsReached:
    - ndpi_calloc
    linkageType: ''
    returnType: cache_entry
    signature: cache_entry cache_entry_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: cache_entry_map_new
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libcache.c
    functionUses: 0
    functionsReached:
    - ndpi_calloc
    linkageType: ''
    returnType: cache_entry_map
    signature: cache_entry_map cache_entry_map_new(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:104,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:112,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cache_max_size
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 120
    functionName: cache_new
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libcache.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - ndpi_calloc
    linkageType: ''
    returnType: cache_t
    signature: cache_t cache_new(uint32_t cache_max_size)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FUNCTION
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:131,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:138,1
    - Dst: cache_touch_entry
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:146,1
    - Dst: cache_entry_new
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:151,1
    - Dst: cache_entry_map_new
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:156,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:158,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:162,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:164,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:165,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:168,1
    - Dst: HASH_FUNCTION
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:188,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:194,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:215,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:216,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:217,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 3
    argNames:
    - cache
    - item
    - item_size
    argTypes:
    - cache_t
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 222
    functionName: cache_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libcache.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cache_touch_entry
    - HASH_FUNCTION
    - ndpi_malloc
    - cache_entry_map_new
    - memcmp
    - ndpi_free
    - cache_entry_new
    linkageType: ''
    returnType: cache_result
    signature: cache_result cache_add(cache_t cache, void *item, uint32_t item_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FUNCTION
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:231,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:237,1
    - Dst: cache_touch_entry
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - cache
    - item
    - item_size
    argTypes:
    - cache_t
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 248
    functionName: cache_contains
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libcache.c
    functionUses: 0
    functionsReached:
    - cache_touch_entry
    - HASH_FUNCTION
    - memcmp
    linkageType: ''
    returnType: cache_result
    signature: cache_result cache_contains(cache_t cache, void *item, uint32_t item_size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FUNCTION
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:257,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:264,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:294,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:295,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:296,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - cache
    - item
    - item_size
    argTypes:
    - cache_t
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 304
    functionName: cache_remove
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libcache.c
    functionUses: 0
    functionsReached:
    - HASH_FUNCTION
    - memcmp
    - ndpi_free
    linkageType: ''
    returnType: cache_result
    signature: cache_result cache_remove(cache_t cache, void *item, uint32_t item_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:318,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:319,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:320,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:324,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/libcache.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cache
    argTypes:
    - cache_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 328
    functionName: cache_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libcache.c
    functionUses: 1
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void cache_free(cache_t cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: rol
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rol(value, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: blk0
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: blk0
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: blk
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: R0
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R0(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: R1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R1(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: R2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R2(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: R3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R3(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: R4
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R4(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:123,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:139,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:139,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:139,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:139,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:140,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:140,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:140,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:140,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:141,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:141,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:141,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:141,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:142,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:142,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:142,1
    - Dst: R0
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:142,1
    - Dst: R1
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:143,1
    - Dst: R1
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:143,1
    - Dst: R1
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:143,1
    - Dst: R1
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:143,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:144,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:144,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:144,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:144,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:145,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:145,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:145,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:145,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:146,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:146,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:146,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:146,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:147,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:147,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:147,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:147,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:148,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:148,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:148,1
    - Dst: R2
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:148,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:149,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:149,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:149,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:149,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:150,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:150,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:150,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:150,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:151,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:151,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:151,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:151,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:152,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:152,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:152,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:152,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:153,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:153,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:153,1
    - Dst: R3
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:153,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:154,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:154,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:154,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:154,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:155,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:155,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:155,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:155,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:156,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:156,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:156,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:156,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:157,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:157,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:157,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:157,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:158,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:158,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:158,1
    - Dst: R4
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:158,1
    - Dst: secure_memzero
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 94
    argCount: 2
    argNames:
    - state
    - buffer
    argTypes:
    - u_int32_t[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 170
    functionName: SHA1Transform
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 0
    functionsReached:
    - secure_memzero
    - R4
    - R0
    - R3
    - R2
    - R1
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SHA1Transform(u_int32_t state[5], const unsigned char buffer[64])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - SHA1_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: SHA1Init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA1Init(SHA1_CTX* context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:200,1
    - Dst: SHA1Transform
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:201,1
    - Dst: SHA1Transform
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:203,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - context
    - data
    - len
    argTypes:
    - SHA1_CTX*
    - unsigned char*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 209
    functionName: SHA1Update
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 1
    functionsReached:
    - SHA1Transform
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SHA1Update(SHA1_CTX* context, const unsigned char* data, u_int32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1Update
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:243,1
    - Dst: SHA1Update
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:246,1
    - Dst: SHA1Update
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:248,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:254,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - unsigned char[]
    - SHA1_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 256
    functionName: SHA1Final
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 1
    functionsReached:
    - memset
    - SHA1Update
    linkageType: ''
    returnType: void
    signature: void SHA1Final(unsigned char digest[20], SHA1_CTX* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1Init
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:272,1
    - Dst: SHA1Update
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:274,1
    - Dst: SHA1Final
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:275,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:277,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:279,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 282
    functionName: main
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
    functionUses: 8
    functionsReached:
    - printf
    - SHA1Update
    - SHA1Final
    - SHA1Init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: is_big_endian
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_big_endian(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_big_endian
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - longs
    argTypes:
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: byte_reverse
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
    functionUses: 0
    functionsReached:
    - is_big_endian
    linkageType: ''
    returnType: void
    signature: void byte_reverse(unsigned char *buf, unsigned longs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: F1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F1(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: F2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: F3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F3(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: F4
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F4(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - f
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - data
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: MD5STEP
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MD5STEP(f, w, x, y, z, data, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ndpi_MD5_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: ndpi_MD5Init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_MD5Init(ndpi_MD5_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:62,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:63,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:64,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:65,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:66,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:67,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:68,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:69,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:70,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:71,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:72,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:73,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:74,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:75,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:76,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:77,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:79,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:80,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:81,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:82,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:83,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:84,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:85,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:86,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:87,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:88,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:89,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:90,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:91,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:92,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:93,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:94,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:96,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:97,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:98,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:99,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:100,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:101,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:102,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:103,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:104,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:105,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:106,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:107,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:108,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:109,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:110,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:111,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:113,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:114,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:115,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:116,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:117,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:118,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:119,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:120,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:121,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:122,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:123,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:124,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:125,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:126,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:127,1
    - Dst: MD5STEP
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 2
    argNames:
    - buf
    - in
    argTypes:
    - u_int32_t[]
    - u_int32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 134
    functionName: MD5Transform
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
    functionUses: 0
    functionsReached:
    - MD5STEP
    linkageType: ''
    returnType: void
    signature: void MD5Transform(u_int32_t buf[4], u_int32_t const in[16])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:153,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:156,1
    - Dst: byte_reverse
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:157,1
    - Dst: MD5Transform
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:158,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:164,1
    - Dst: byte_reverse
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:165,1
    - Dst: MD5Transform
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:166,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - ndpi_MD5_CTX*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 172
    functionName: ndpi_MD5Update
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
    functionUses: 1
    functionsReached:
    - MD5Transform
    - byte_reverse
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ndpi_MD5Update(ndpi_MD5_CTX *ctx, unsigned char const *buf, unsigned
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:187,1
    - Dst: byte_reverse
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:188,1
    - Dst: MD5Transform
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:189,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:190,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:192,1
    - Dst: byte_reverse
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:194,1
    - Dst: MD5Transform
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:199,1
    - Dst: byte_reverse
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:200,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:201,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/ndpi_md5.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char[]
    - ndpi_MD5_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 203
    functionName: ndpi_MD5Final
    functionSourceFile: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
    functionUses: 1
    functionsReached:
    - memset
    - MD5Transform
    - memcpy
    - byte_reverse
    linkageType: ''
    returnType: void
    signature: void ndpi_MD5Final(unsigned char digest[16], ndpi_MD5_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: LEGAL_ALT
    functionSourceFile: /src/ndpi/src/lib/third_party/src/strptime.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEGAL_ALT(x)
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_isspace
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:133,1
    - Dst: ndpi_isspace
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:134,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:157,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:162,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:170,1
    - Dst: strptime
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:171,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:176,1
    - Dst: strptime
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:177,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:182,1
    - Dst: strptime
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:183,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:188,1
    - Dst: strptime
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:189,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:194,1
    - Dst: strptime
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:195,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:200,1
    - Dst: strptime
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:201,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:206,1
    - Dst: strptime
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:207,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:216,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:219,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:220,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:224,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:225,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:240,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:243,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:244,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:248,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:249,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:262,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:263,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:277,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:278,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:283,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:286,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:287,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:292,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:295,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:296,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:303,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:304,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:310,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:311,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:316,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:317,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:323,1
    - Dst: strcasecmp
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:325,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:329,1
    - Dst: strcasecmp
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:333,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:338,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:346,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:347,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:353,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:360,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:365,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:366,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:371,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:372,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:379,1
    - Dst: conv_num
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:380,1
    - Dst: LEGAL_ALT
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:399,1
    - Dst: ndpi_isspace
      Src: /src/ndpi/src/lib/third_party/src/strptime.c:400,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 212
    argCount: 3
    argNames:
    - buf
    - fmt
    - tm
    argTypes:
    - char*
    - char*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 414
    functionName: strptime
    functionSourceFile: /src/ndpi/src/lib/third_party/src/strptime.c
    functionUses: 1
    functionsReached:
    - strncasecmp
    - strcasecmp
    - strlen
    - ndpi_isspace
    - LEGAL_ALT
    - conv_num
    - strptime
    linkageType: ''
    returnType: char
    signature: 'char *

      strptime(const char* buf, const char* fmt, struct tm* tm)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - buf
    - dest
    - llim
    - ulim
    argTypes:
    - char**
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 438
    functionName: conv_num
    functionSourceFile: /src/ndpi/src/lib/third_party/src/strptime.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int conv_num(const char** buf, int* dest, int llim, int ulim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: SQ
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQ(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: alloc_resnode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alloc_resnode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: free_resnode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: free_resnode(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - k
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: kd_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - ndpi_malloc
    linkageType: ''
    returnType: struct kdtree
    signature: struct kdtree *kd_create(int k)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: kd_clear
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:142,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct kdtree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: kd_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - kd_clear
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void kd_free(struct kdtree *tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear_rec
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:151,1
    - Dst: clear_rec
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:152,1
    - Dst: destr
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:155,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:157,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct kdnode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: clear_rec
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - clear_rec
    - destr
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void clear_rec(struct kdnode *node, void (*destr)(void*))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear_rec
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:166,1
    - Dst: hyperrect_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct kdtree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: kd_clear
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 2
    functionsReached:
    - clear_rec
    - hyperrect_free
    linkageType: ''
    returnType: void
    signature: void kd_clear(struct kdtree *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct kdtree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: kd_data_destructor
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void kd_data_destructor(struct kdtree *tree, void (*destr)(void*))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:187,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:190,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:191,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:194,1
    - Dst: insert_rec
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:205,1
    - Dst: insert_rec
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - nptr
    - pos
    - data
    - dir
    - dim
    argTypes:
    - struct kdnode**
    - double*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: insert_rec
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - ndpi_free
    - insert_rec
    - memcpy
    - ndpi_malloc
    linkageType: ''
    returnType: int
    signature: int insert_rec(struct kdnode **nptr, const double *pos, void *data,
      int dir, int dim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: insert_rec
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:215,1
    - Dst: hyperrect_create
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:220,1
    - Dst: hyperrect_extend
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tree
    - pos
    - data
    argTypes:
    - struct kdtree*
    - double*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 226
    functionName: kd_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - hyperrect_extend
    - insert_rec
    - hyperrect_create
    linkageType: ''
    returnType: int
    signature: int kd_insert(struct kdtree *tree, const double *pos, void *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SQ
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:237,1
    - Dst: SQ
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:239,1
    - Dst: rlist_insert
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:240,1
    - Dst: find_nearest
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:248,1
    - Dst: fabs
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:249,1
    - Dst: find_nearest
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 6
    argNames:
    - node
    - pos
    - range
    - list
    - ordered
    - dim
    argTypes:
    - struct kdnode*
    - double*
    - double
    - struct res_node*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 259
    functionName: find_nearest
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - rlist_insert
    - SQ
    - find_nearest
    - fabs
    linkageType: ''
    returnType: int
    signature: int find_nearest(struct kdnode *node, const double *pos, double range,
      struct res_node *list, int ordered, int dim)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SQ
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:272,1
    - Dst: rheap_get_max
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:277,1
    - Dst: rheap_remove_max
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:281,1
    - Dst: rheap_insert
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:283,1
    - Dst: rheap_insert
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:291,1
    - Dst: find_nearest_n
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:302,1
    - Dst: fabs
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:303,1
    - Dst: find_nearest_n
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:305,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - node
    - pos
    - range
    - num
    - heap
    - dim
    argTypes:
    - struct kdnode*
    - double*
    - double
    - int
    - struct rheap*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 308
    functionName: find_nearest_n
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - rheap_insert
    - SQ
    - find_nearest_n
    - fabs
    - rheap_get_max
    - rheap_remove_max
    linkageType: ''
    returnType: int
    signature: int find_nearest_n(struct kdnode *node, const double *pos, double range,
      int num, struct rheap *heap, int dim)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kd_nearest_i
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:338,1
    - Dst: SQ
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:347,1
    - Dst: hyperrect_dist_sq
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:361,1
    - Dst: kd_nearest_i
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:363,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 5
    argNames:
    - node
    - pos
    - result
    - result_dist_sq
    - rect
    argTypes:
    - struct kdnode*
    - double*
    - struct kdnode**
    - double*
    - struct kdhyperrect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 368
    functionName: kd_nearest_i
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - hyperrect_dist_sq
    - SQ
    - kd_nearest_i
    linkageType: ''
    returnType: void
    signature: void kd_nearest_i(struct kdnode *node, const double *pos, struct kdnode
      **result, double *result_dist_sq, struct kdhyperrect* rect)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:382,1
    - Dst: alloc_resnode
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:385,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:386,1
    - Dst: hyperrect_duplicate
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:393,1
    - Dst: kd_res_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:394,1
    - Dst: SQ
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:402,1
    - Dst: kd_nearest_i
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:405,1
    - Dst: hyperrect_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:408,1
    - Dst: rlist_insert
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:412,1
    - Dst: kd_res_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:413,1
    - Dst: kd_res_rewind
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:417,1
    - Dst: kd_res_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:420,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - kd
    - pos
    argTypes:
    - struct kdtree*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 423
    functionName: kd_nearest
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - kd_res_rewind
    - kd_nearest_i
    - kd_res_free
    - SQ
    - hyperrect_duplicate
    - ndpi_malloc
    - hyperrect_free
    - alloc_resnode
    - ndpi_free
    - rlist_insert
    linkageType: ''
    returnType: struct kdres
    signature: struct kdres *kd_nearest(struct kdtree *kd, const double *pos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:456,1
    - Dst: alloc_resnode
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:459,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:460,1
    - Dst: find_nearest
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:466,1
    - Dst: kd_res_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:467,1
    - Dst: kd_res_rewind
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - kd
    - pos
    - range
    argTypes:
    - struct kdtree*
    - double*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 473
    functionName: kd_nearest_range
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 0
    functionsReached:
    - kd_res_rewind
    - kd_res_free
    - ndpi_malloc
    - alloc_resnode
    - ndpi_free
    - find_nearest
    linkageType: ''
    returnType: struct kdres
    signature: struct kdres *kd_nearest_range(struct kdtree *kd, const double *pos,
      double range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_results
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:477,1
    - Dst: free_resnode
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:478,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rset
    argTypes:
    - struct kdres*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: kd_res_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 3
    functionsReached:
    - clear_results
    - free_resnode
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void kd_res_free(struct kdres *rset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct kdres*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: kd_res_size
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int kd_res_size(struct kdres *set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rset
    argTypes:
    - struct kdres*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: kd_res_rewind
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void kd_res_rewind(struct kdres *rset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rset
    argTypes:
    - struct kdres*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: kd_res_end
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int kd_res_end(struct kdres *rset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rset
    argTypes:
    - struct kdres*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: kd_res_next
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int kd_res_next(struct kdres *rset)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rset
    - user_data
    argTypes:
    - struct kdres*
    - double**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: kd_res_item
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double *kd_res_item(struct kdres *rset, double **user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kd_res_item
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct kdres*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: kd_res_item_data
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 0
    functionsReached:
    - kd_res_item
    linkageType: ''
    returnType: void
    signature: void *kd_res_item_data(struct kdres *set)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:526,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:531,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:532,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:535,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:536,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:537,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:540,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - dim
    - min
    - max
    argTypes:
    - int
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 544
    functionName: hyperrect_create
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - ndpi_free
    - memcpy
    - ndpi_malloc
    linkageType: ''
    returnType: struct kdhyperrect
    signature: struct kdhyperrect * hyperrect_create(int dim, const double *min, const
      double *max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:548,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:549,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rect
    argTypes:
    - struct kdhyperrect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 551
    functionName: hyperrect_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 2
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void hyperrect_free(struct kdhyperrect *rect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hyperrect_create
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rect
    argTypes:
    - struct kdhyperrect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: hyperrect_duplicate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - hyperrect_create
    linkageType: ''
    returnType: struct kdhyperrect
    signature: struct kdhyperrect * hyperrect_duplicate(const struct kdhyperrect *rect)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rect
    - pos
    argTypes:
    - struct kdhyperrect*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 570
    functionName: hyperrect_extend
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hyperrect_extend(struct kdhyperrect *rect, const double *pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SQ
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:579,1
    - Dst: SQ
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - rect
    - pos
    argTypes:
    - struct kdhyperrect*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 586
    functionName: hyperrect_dist_sq
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - SQ
    linkageType: ''
    returnType: double
    signature: double hyperrect_dist_sq(struct kdhyperrect *rect, const double *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:603,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:607,1
    - Dst: pthread_mutex_unlock
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 619
    functionName: alloc_resnode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 2
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - ndpi_malloc
    linkageType: ''
    returnType: struct res_node
    signature: struct res_node *alloc_resnode(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:624,1
    - Dst: pthread_mutex_unlock
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct res_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 633
    functionName: free_resnode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void free_resnode(struct res_node *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloc_resnode
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - list
    - item
    - dist_sq
    argTypes:
    - struct res_node*
    - struct kdnode*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 657
    functionName: rlist_insert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 2
    functionsReached:
    - alloc_resnode
    linkageType: ''
    returnType: int
    signature: int rlist_insert(struct res_node *list, struct kdnode *item, double
      dist_sq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_resnode
      Src: /src/ndpi/src/lib/third_party/src/kdtree.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rset
    argTypes:
    - struct kdres*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 670
    functionName: clear_results
    functionSourceFile: /src/ndpi/src/lib/third_party/src/kdtree.c
    functionUses: 1
    functionsReached:
    - free_resnode
    linkageType: ''
    returnType: void
    signature: void clear_results(struct kdres *rset)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 3
    argNames:
    - src
    - len
    - consumed
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 140
    functionName: html_decode_char_at
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_xss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int html_decode_char_at(const char* src, size_t len, size_t* consumed)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 244
    functionName: cstrcasecmp_with_null
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_xss.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cstrcasecmp_with_null(const char *a, const char *b, size_t n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: html_decode_char_at
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:266,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 301
    functionName: htmlencode_startswith
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_xss.c
    functionUses: 0
    functionsReached:
    - html_decode_char_at
    linkageType: ''
    returnType: int
    signature: int htmlencode_startswith(const char *a, const char *b, size_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cstrcasecmp_with_null
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:313,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 337
    functionName: is_black_tag
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_xss.c
    functionUses: 0
    functionsReached:
    - cstrcasecmp_with_null
    linkageType: ''
    returnType: int
    signature: int is_black_tag(const char* s, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cstrcasecmp_with_null
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:357,1
    - Dst: cstrcasecmp_with_null
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:357,1
    - Dst: cstrcasecmp_with_null
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:365,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 373
    functionName: is_black_attr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_xss.c
    functionUses: 0
    functionsReached:
    - cstrcasecmp_with_null
    linkageType: ''
    returnType: attribute_t
    signature: attribute_t is_black_attr(const char* s, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htmlencode_startswith
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:400,1
    - Dst: htmlencode_startswith
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:404,1
    - Dst: htmlencode_startswith
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:408,1
    - Dst: htmlencode_startswith
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:412,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 416
    functionName: is_black_url
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_xss.c
    functionUses: 0
    functionsReached:
    - htmlencode_startswith
    linkageType: ''
    returnType: int
    signature: int is_black_url(const char* s, size_t len)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: libinjection_h5_init
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:423,1
    - Dst: libinjection_h5_next
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:424,1
    - Dst: is_black_tag
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:432,1
    - Dst: is_black_attr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:436,1
    - Dst: is_black_url
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:459,1
    - Dst: is_black_attr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:467,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:479,1
    - Dst: cstrcasecmp_with_null
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:499,1
    - Dst: cstrcasecmp_with_null
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:504,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 61
    argCount: 3
    argNames:
    - s
    - len
    - flags
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 511
    functionName: libinjection_is_xss
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_xss.c
    functionUses: 0
    functionsReached:
    - libinjection_h5_init
    - libinjection_h5_next
    - is_black_tag
    - memchr
    - cstrcasecmp_with_null
    - is_black_attr
    - is_black_url
    linkageType: ''
    returnType: int
    signature: int libinjection_is_xss(const char* s, size_t len, int flags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: libinjection_is_xss
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:528,1
    - Dst: libinjection_is_xss
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:531,1
    - Dst: libinjection_is_xss
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:534,1
    - Dst: libinjection_is_xss
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:537,1
    - Dst: libinjection_is_xss
      Src: /src/ndpi/src/lib/third_party/src/libinjection_xss.c:540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - s
    - slen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 526
    functionDepth: 4
    functionLinenumber: 526
    functionLinenumberEnd: 545
    functionName: libinjection_xss
    functionSourceFile: /src/ndpi/src/lib/third_party/src/libinjection_xss.c
    functionUses: 1
    functionsReached:
    - libinjection_is_xss
    linkageType: ''
    returnType: int
    signature: int libinjection_xss(const char* s, size_t slen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 7
    functionName: swap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/shoco.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: swap(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: swap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/shoco.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: swap(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: swap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/shoco.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: swap(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: swap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/shoco.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: swap(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: swap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/shoco.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: swap(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: decode_header
    functionSourceFile: /src/ndpi/src/lib/third_party/src/shoco.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int decode_header(unsigned char val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setzero_si128
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:57,1
    - Dst: _mm_load_si128
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:58,1
    - Dst: _mm_load_si128
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:59,1
    - Dst: _mm_cmpgt_epi16
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:60,1
    - Dst: _mm_cmpgt_epi16
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:61,1
    - Dst: _mm_and_si128
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:62,1
    - Dst: _mm_movemask_epi8
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shoco_restrict
    - pack_n
    argTypes:
    - int16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: check_indices
    functionSourceFile: /src/ndpi/src/lib/third_party/src/shoco.c
    functionUses: 0
    functionsReached:
    - _mm_movemask_epi8
    - _mm_setzero_si128
    - _mm_load_si128
    - _mm_cmpgt_epi16
    - _mm_and_si128
    linkageType: ''
    returnType: int
    signature: int check_indices(const int16_t * shoco_restrict indices, int pack_n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - shoco_restrict
    - pack_n
    argTypes:
    - int16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: check_indices
    functionSourceFile: /src/ndpi/src/lib/third_party/src/shoco.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_indices(const int16_t * shoco_restrict indices, int pack_n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_indices
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - shoco_restrict
    - n_consecutive
    argTypes:
    - int16_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: find_best_encoding
    functionSourceFile: /src/ndpi/src/lib/third_party/src/shoco.c
    functionUses: 0
    functionsReached:
    - check_indices
    linkageType: ''
    returnType: int
    signature: int find_best_encoding(const int16_t * shoco_restrict indices, unsigned
      int n_consecutive)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: find_best_encoding
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:129,1
    - Dst: swap
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:143,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 4
    argNames:
    - shoco_restrict
    - strlen
    - shoco_restrict
    - bufsize
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 170
    functionName: shoco_compress
    functionSourceFile: /src/ndpi/src/lib/third_party/src/shoco.c
    functionUses: 1
    functionsReached:
    - find_best_encoding
    - swap
    linkageType: ''
    returnType: size_t
    signature: size_t shoco_compress(const char * const shoco_restrict original, size_t
      strlen, char * const shoco_restrict out, size_t bufsize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decode_header
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:184,1
    - Dst: swap
      Src: /src/ndpi/src/lib/third_party/src/shoco.c:209,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - shoco_restrict
    - complen
    - shoco_restrict
    - bufsize
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 233
    functionName: shoco_decompress
    functionSourceFile: /src/ndpi/src/lib/third_party/src/shoco.c
    functionUses: 1
    functionsReached:
    - decode_header
    - swap
    linkageType: ''
    returnType: size_t
    signature: size_t shoco_decompress(const char * const shoco_restrict original,
      size_t complen, char * const shoco_restrict out, size_t bufsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: getSBoxValue
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getSBoxValue(num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSBoxValue
      Src: /src/ndpi/src/lib/third_party/src/aes.c:218,1
    - Dst: getSBoxValue
      Src: /src/ndpi/src/lib/third_party/src/aes.c:219,1
    - Dst: getSBoxValue
      Src: /src/ndpi/src/lib/third_party/src/aes.c:220,1
    - Dst: getSBoxValue
      Src: /src/ndpi/src/lib/third_party/src/aes.c:221,1
    - Dst: getSBoxValue
      Src: /src/ndpi/src/lib/third_party/src/aes.c:231,1
    - Dst: getSBoxValue
      Src: /src/ndpi/src/lib/third_party/src/aes.c:232,1
    - Dst: getSBoxValue
      Src: /src/ndpi/src/lib/third_party/src/aes.c:233,1
    - Dst: getSBoxValue
      Src: /src/ndpi/src/lib/third_party/src/aes.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 2
    argNames:
    - RoundKey
    - Key
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 244
    functionName: KeyExpansion
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - getSBoxValue
    linkageType: ''
    returnType: void
    signature: void KeyExpansion(uint8_t* RoundKey, const uint8_t* Key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyExpansion
      Src: /src/ndpi/src/lib/third_party/src/aes.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - struct AES_ctx*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: AES_init_ctx
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - KeyExpansion
    linkageType: ''
    returnType: void
    signature: void AES_init_ctx(struct AES_ctx* ctx, const uint8_t* key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyExpansion
      Src: /src/ndpi/src/lib/third_party/src/aes.c:253,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/aes.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - key
    - iv
    argTypes:
    - struct AES_ctx*
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: AES_init_ctx_iv
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 2
    functionsReached:
    - KeyExpansion
    - memcpy
    linkageType: ''
    returnType: void
    signature: void AES_init_ctx_iv(struct AES_ctx* ctx, const uint8_t* key, const
      uint8_t* iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/aes.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - iv
    argTypes:
    - struct AES_ctx*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: AES_ctx_set_iv
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void AES_ctx_set_iv(struct AES_ctx* ctx, const uint8_t* iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - round
    - state
    - RoundKey
    argTypes:
    - uint8_t
    - state_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: AddRoundKey
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddRoundKey(uint8_t round, state_t* state, const uint8_t* RoundKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSBoxValue
      Src: /src/ndpi/src/lib/third_party/src/aes.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: SubBytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - getSBoxValue
    linkageType: ''
    returnType: void
    signature: void SubBytes(state_t* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 319
    functionName: ShiftRows
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ShiftRows(state_t* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: xtime
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t xtime(uint8_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:335,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:336,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:337,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: MixColumns
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - xtime
    linkageType: ''
    returnType: void
    signature: void MixColumns(state_t* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:350,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:351,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:351,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:352,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:352,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:352,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:353,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:353,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:353,1
    - Dst: xtime
      Src: /src/ndpi/src/lib/third_party/src/aes.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: Multiply
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - xtime
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Multiply(uint8_t x, uint8_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: Multiply
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Multiply(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: getSBoxInvert
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getSBoxInvert(num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:388,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:388,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:388,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:388,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:389,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:389,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:389,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:389,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:390,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:390,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:390,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:390,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:391,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:391,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:391,1
    - Dst: Multiply
      Src: /src/ndpi/src/lib/third_party/src/aes.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: InvMixColumns
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - Multiply
    linkageType: ''
    returnType: void
    signature: void InvMixColumns(state_t* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSBoxInvert
      Src: /src/ndpi/src/lib/third_party/src/aes.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: InvSubBytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - getSBoxInvert
    linkageType: ''
    returnType: void
    signature: void InvSubBytes(state_t* state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 436
    functionName: InvShiftRows
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InvShiftRows(state_t* state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddRoundKey
      Src: /src/ndpi/src/lib/third_party/src/aes.c:445,1
    - Dst: SubBytes
      Src: /src/ndpi/src/lib/third_party/src/aes.c:453,1
    - Dst: ShiftRows
      Src: /src/ndpi/src/lib/third_party/src/aes.c:454,1
    - Dst: MixColumns
      Src: /src/ndpi/src/lib/third_party/src/aes.c:458,1
    - Dst: AddRoundKey
      Src: /src/ndpi/src/lib/third_party/src/aes.c:459,1
    - Dst: AddRoundKey
      Src: /src/ndpi/src/lib/third_party/src/aes.c:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - state
    - RoundKey
    argTypes:
    - state_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 463
    functionName: Cipher
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - AddRoundKey
    - SubBytes
    - MixColumns
    - ShiftRows
    linkageType: ''
    returnType: void
    signature: void Cipher(state_t* state, const uint8_t* RoundKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AddRoundKey
      Src: /src/ndpi/src/lib/third_party/src/aes.c:471,1
    - Dst: InvShiftRows
      Src: /src/ndpi/src/lib/third_party/src/aes.c:479,1
    - Dst: InvSubBytes
      Src: /src/ndpi/src/lib/third_party/src/aes.c:480,1
    - Dst: AddRoundKey
      Src: /src/ndpi/src/lib/third_party/src/aes.c:481,1
    - Dst: InvMixColumns
      Src: /src/ndpi/src/lib/third_party/src/aes.c:485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - state
    - RoundKey
    argTypes:
    - state_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 488
    functionName: InvCipher
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - AddRoundKey
    - InvMixColumns
    - InvShiftRows
    - InvSubBytes
    linkageType: ''
    returnType: void
    signature: void InvCipher(state_t* state, const uint8_t* RoundKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Cipher
      Src: /src/ndpi/src/lib/third_party/src/aes.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct AES_ctx*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: AES_ECB_encrypt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - Cipher
    linkageType: ''
    returnType: void
    signature: void AES_ECB_encrypt(const struct AES_ctx* ctx, uint8_t* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InvCipher
      Src: /src/ndpi/src/lib/third_party/src/aes.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - buf
    argTypes:
    - struct AES_ctx*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 4
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: AES_ECB_decrypt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - InvCipher
    linkageType: ''
    returnType: void
    signature: void AES_ECB_decrypt(const struct AES_ctx* ctx, uint8_t* buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - Iv
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: XorWithIv
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XorWithIv(uint8_t* buf, const uint8_t* Iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XorWithIv
      Src: /src/ndpi/src/lib/third_party/src/aes.c:534,1
    - Dst: Cipher
      Src: /src/ndpi/src/lib/third_party/src/aes.c:535,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/aes.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - buf
    - length
    argTypes:
    - struct AES_ctx*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 541
    functionName: AES_CBC_encrypt_buffer
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 1
    functionsReached:
    - Cipher
    - XorWithIv
    - memcpy
    linkageType: ''
    returnType: void
    signature: void AES_CBC_encrypt_buffer(struct AES_ctx *ctx, uint8_t* buf, size_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/aes.c:549,1
    - Dst: InvCipher
      Src: /src/ndpi/src/lib/third_party/src/aes.c:550,1
    - Dst: XorWithIv
      Src: /src/ndpi/src/lib/third_party/src/aes.c:551,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/aes.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - buf
    - length
    argTypes:
    - struct AES_ctx*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 543
    functionDepth: 4
    functionLinenumber: 543
    functionLinenumberEnd: 556
    functionName: AES_CBC_decrypt_buffer
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 1
    functionsReached:
    - InvCipher
    - XorWithIv
    - memcpy
    linkageType: ''
    returnType: void
    signature: void AES_CBC_decrypt_buffer(struct AES_ctx* ctx, uint8_t* buf, size_t
      length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/aes.c:576,1
    - Dst: Cipher
      Src: /src/ndpi/src/lib/third_party/src/aes.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - buf
    - length
    argTypes:
    - struct AES_ctx*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 596
    functionName: AES_CTR_xcrypt_buffer
    functionSourceFile: /src/ndpi/src/lib/third_party/src/aes.c
    functionUses: 0
    functionsReached:
    - Cipher
    - memcpy
    linkageType: ''
    returnType: void
    signature: void AES_CTR_xcrypt_buffer(struct AES_ctx* ctx, uint8_t* buf, size_t
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: MBEDTLS_INTERNAL_VALIDATE_RET
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_INTERNAL_VALIDATE_RET( cond, ret )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: MBEDTLS_INTERNAL_VALIDATE
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_INTERNAL_VALIDATE( cond )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: mbedtls_platform_zeroize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mbedtls_platform_zeroize(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: mbedtls_ct_memcmp
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mbedtls_ct_memcmp(s1,s2,n)
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 1
    argNames:
    - err
    argTypes:
    - gcry_error_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: gcry_errstr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gcry_errstr(gcry_error_t err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_errstr
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:100,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - err
    - buf
    - buflen
    argTypes:
    - gcry_error_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: gpg_strerror_r
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 0
    functionsReached:
    - gcry_errstr
    - strncpy
    linkageType: ''
    returnType: char
    signature: char *gpg_strerror_r(gcry_error_t err,char *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ctl
    - val
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: gcry_control
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gcry_control (int ctl,int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: gcry_check_version
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gcry_check_version(void *unused)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - h
    - algo
    - flags
    argTypes:
    - gcry_md_hd_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: gcry_md_open
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - ndpi_calloc
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_md_open(gcry_md_hd_t *h,int algo,int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: gcry_md_close
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void gcry_md_close(gcry_md_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: gcry_md_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void gcry_md_reset(gcry_md_hd_t h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - h
    - key
    - key_len
    argTypes:
    - gcry_md_hd_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: gcry_md_setkey
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_md_setkey(gcry_md_hd_t h,const uint8_t *key,size_t
      key_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - h
    - data
    - data_len
    argTypes:
    - gcry_md_hd_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: gcry_md_write
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_md_write(gcry_md_hd_t h,const uint8_t *data,size_t
      data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: gcry_md_get_algo_dlen
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gcry_md_get_algo_dlen(int algo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_md_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: gcry_md_get_algo
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gcry_md_get_algo(gcry_md_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hmac_sha256
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - flag
    argTypes:
    - gcry_md_hd_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: gcry_md_read
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - hmac_sha256
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t *gcry_md_read(gcry_md_hd_t h, int flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: check_valid_algo_mode
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_valid_algo_mode(gcry_cipher_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: ROUND_SIZE8
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_SIZE8(a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_SIZE8
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:177,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:183,1
    - Dst: mbedtls_aes_init
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:186,1
    - Dst: ROUND_SIZE8
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:190,1
    - Dst: ROUND_SIZE8
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:191,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:193,1
    - Dst: mbedtls_gcm_init
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - handle
    - algo
    - mode
    - flags
    argTypes:
    - gcry_cipher_hd_t*
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 206
    functionName: gcry_cipher_open
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 2
    functionsReached:
    - mbedtls_gcm_init
    - ROUND_SIZE8
    - mbedtls_aes_init
    - ndpi_calloc
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_cipher_open (gcry_cipher_hd_t *handle,\n                  int
      algo, int mode, unsigned int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_valid_algo_mode
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:209,1
    - Dst: mbedtls_aes_free
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:212,1
    - Dst: mbedtls_gcm_free
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:215,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: gcry_cipher_close
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 2
    functionsReached:
    - mbedtls_aes_free
    - mbedtls_gcm_free
    - check_valid_algo_mode
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void gcry_cipher_close (gcry_cipher_hd_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - h
    - cmd
    - data
    - len
    argTypes:
    - gcry_cipher_hd_t
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: gcry_cipher_ctl
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_ctl (gcry_cipher_hd_t h, int cmd, void *data,
      size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_valid_algo_mode
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:229,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:232,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:233,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:234,1
    - Dst: mbedtls_cipher_reset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - h
    argTypes:
    - gcry_cipher_hd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 245
    functionName: gcry_cipher_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - memset
    - mbedtls_cipher_reset
    - check_valid_algo_mode
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_reset (gcry_cipher_hd_t h)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_valid_algo_mode
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:250,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:252,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:255,1
    - Dst: mbedtls_gcm_setkey
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - h
    - key
    - keylen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 266
    functionName: gcry_cipher_setkey
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 2
    functionsReached:
    - mbedtls_aes_setkey_enc
    - mbedtls_gcm_setkey
    - check_valid_algo_mode
    - gcry_cipher_get_algo_keylen
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_setkey (gcry_cipher_hd_t h, const void *key,
      size_t keylen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_valid_algo_mode
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:269,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - h
    - iv
    - ivlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: gcry_cipher_setiv
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - check_valid_algo_mode
    - memcpy
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_setiv (gcry_cipher_hd_t h, const void *iv,
      size_t ivlen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_valid_algo_mode
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:283,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - h
    - abuf
    - abuflen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 295
    functionName: gcry_cipher_authenticate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - check_valid_algo_mode
    - memcpy
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_authenticate (gcry_cipher_hd_t h, const void
      *abuf, size_t abuflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_valid_algo_mode
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - h
    - intag
    - taglen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: gcry_cipher_checktag
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - check_valid_algo_mode
    linkageType: ''
    returnType: gcry_error_t
    signature: gcry_error_t gcry_cipher_checktag (gcry_cipher_hd_t h, const void *intag,
      size_t taglen)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: gcry_cipher_get_algo_keylen
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gcry_cipher_get_algo_keylen (int algo)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: check_valid_algo_mode
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:329,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:332,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:335,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:343,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:348,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:352,1
    - Dst: mbedtls_gcm_crypt_and_tag
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:356,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:367,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 6
    argNames:
    - h
    - out
    - outsize
    - in
    - inlen
    - encrypt
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 369
    functionName: _gcry_cipher_crypt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 0
    functionsReached:
    - mbedtls_aes_crypt_ecb
    - check_valid_algo_mode
    - ndpi_malloc
    - ndpi_free
    - mbedtls_gcm_crypt_and_tag
    - memcpy
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t _gcry_cipher_crypt (gcry_cipher_hd_t h,\n                     void
      *out, size_t outsize,\n                     const void *in, size_t inlen,int
      encrypt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_crypt
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - h
    - out
    - outsize
    - in
    - inlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: gcry_cipher_encrypt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - _gcry_cipher_crypt
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_cipher_encrypt (gcry_cipher_hd_t h,\n                     void
      *out, size_t outsize,\n                     const void *in, size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _gcry_cipher_crypt
      Src: /src/ndpi/src/lib/third_party/src/gcrypt_light.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - h
    - out
    - outsize
    - in
    - inlen
    argTypes:
    - gcry_cipher_hd_t
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: gcry_cipher_decrypt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
    functionUses: 1
    functionsReached:
    - _gcry_cipher_crypt
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t gcry_cipher_decrypt (gcry_cipher_hd_t h,\n                     void
      *out, size_t outsize,\n                     const void *in, size_t inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:62,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:63,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:64,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:65,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:66,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:67,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:68,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:69,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:70,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:71,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:72,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:73,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:74,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:75,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:76,1
    - Dst: ROUND0a
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:77,1
    - Dst: ROUND0b
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:78,1
    - Dst: ROUND0b
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:79,1
    - Dst: ROUND0b
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:80,1
    - Dst: ROUND0b
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:81,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:82,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:83,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:84,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:85,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:86,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:87,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:88,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:89,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:90,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:91,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:92,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:93,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:94,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:95,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:96,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:97,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:98,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:99,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:100,1
    - Dst: ROUND1
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:101,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:102,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:103,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:104,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:105,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:106,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:107,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:108,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:109,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:110,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:111,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:112,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:113,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:114,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:115,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:116,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:117,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:118,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:119,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:120,1
    - Dst: ROUND2
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:121,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:122,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:123,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:124,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:125,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:126,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:127,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:128,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:129,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:130,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:131,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:132,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:133,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:134,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:135,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:136,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:137,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:138,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:139,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:140,1
    - Dst: ROUND3
      Src: /src/ndpi/src/lib/third_party/src/sha1-fast.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 85
    argCount: 2
    argNames:
    - state
    - block
    argTypes:
    - uint32_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 148
    functionName: sha1_compress
    functionSourceFile: /src/ndpi/src/lib/third_party/src/sha1-fast.c
    functionUses: 0
    functionsReached:
    - ROUND0b
    - ROUND0a
    - ROUND3
    - ROUND2
    - ROUND1
    linkageType: ''
    returnType: void
    signature: void sha1_compress(uint32_t state[5], const uint8_t block[64])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: ROTL32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/sha1-fast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL32(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: LOADSCHEDULE
    functionSourceFile: /src/ndpi/src/lib/third_party/src/sha1-fast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOADSCHEDULE(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: SCHEDULE
    functionSourceFile: /src/ndpi/src/lib/third_party/src/sha1-fast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCHEDULE(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: ROUND0a
    functionSourceFile: /src/ndpi/src/lib/third_party/src/sha1-fast.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND0a(a, b, c, d, e, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ROUND0b
    functionSourceFile: /src/ndpi/src/lib/third_party/src/sha1-fast.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND0b(a, b, c, d, e, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: ROUND1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/sha1-fast.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND1(a, b, c, d, e, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: ROUND2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/sha1-fast.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND2(a, b, c, d, e, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: ROUND3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/sha1-fast.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND3(a, b, c, d, e, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: UINT32_C
    functionSourceFile: /src/ndpi/src/lib/third_party/src/sha1-fast.c
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT32_C(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - e
    - ','
    - f
    - ','
    - i
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: ROUNDTAIL
    functionSourceFile: /src/ndpi/src/lib/third_party/src/sha1-fast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUNDTAIL(a, b, e, f, i, k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/ndpi/src/lib/third_party/src/windows/gettimeofday.c:30,1
    - Dst: _tzset
      Src: /src/ndpi/src/lib/third_party/src/windows/gettimeofday.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - tv
    - tz
    argTypes:
    - struct timeval*
    - struct timezone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 55
    functionName: gettimeofday
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/gettimeofday.c
    functionUses: 4
    functionsReached:
    - _tzset
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int
    signature: int gettimeofday(struct timeval *tv, struct timezone *tz)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argv
    - d
    argTypes:
    - char**
    - struct _getopt_data_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 110
    functionName: exchange_a
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void exchange_a(char **argv, struct _getopt_data_a *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - optstring
    - d
    - posixly_correct
    argTypes:
    - char*
    - struct _getopt_data_a*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: _getopt_initialize_a
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: char
    signature: char *_getopt_initialize_a (const char *optstring, struct _getopt_data_a
      *d, int posixly_correct)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_initialize_a
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:142,1
    - Dst: exchange_a
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:158,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:165,1
    - Dst: exchange_a
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:169,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:190,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:207,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:209,1
    - Dst: alloca
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:223,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:237,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:240,1
    - Dst: fputc
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:244,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:246,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:265,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:269,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:272,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:285,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:287,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:292,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:302,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:308,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:312,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:323,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:330,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:355,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:368,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:370,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:389,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:391,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:406,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:408,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:420,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:422,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:428,1
    - Dst: fprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:466,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 259
    argCount: 8
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - d
    - posixly_correct
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    - int
    - struct _getopt_data_a*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 481
    functionName: _getopt_internal_r_a
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    - alloca
    - _getopt_initialize_a
    - strchr
    - strncmp
    - exchange_a
    - fputc
    - fprintf
    linkageType: ''
    returnType: int
    signature: int _getopt_internal_r_a (int argc, char *const *argv, const char *optstring,
      const struct option_a *longopts, int *longind, int long_only, struct _getopt_data_a
      *d, int posixly_correct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_a
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - posixly_correct
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: _getopt_internal_a
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r_a
    linkageType: ''
    returnType: int
    signature: int _getopt_internal_a (int argc, char *const *argv, const char *optstring,
      const struct option_a *longopts, int *longind, int long_only, int posixly_correct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_a
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: getopt_a
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_a
    linkageType: ''
    returnType: int
    signature: int getopt_a (int argc, char *const *argv, const char *optstring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_a
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: getopt_long_a
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_a
    linkageType: ''
    returnType: int
    signature: int getopt_long_a (int argc, char *const *argv, const char *options,
      const struct option_a *long_options, int *opt_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_a
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: getopt_long_only_a
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_a
    linkageType: ''
    returnType: int
    signature: int getopt_long_only_a (int argc, char *const *argv, const char *options,
      const struct option_a *long_options, int *opt_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_a
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    - struct _getopt_data_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: _getopt_long_r_a
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r_a
    linkageType: ''
    returnType: int
    signature: int _getopt_long_r_a (int argc, char *const *argv, const char *options,
      const struct option_a *long_options, int *opt_index, struct _getopt_data_a *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_a
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    - struct _getopt_data_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: _getopt_long_only_r_a
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r_a
    linkageType: ''
    returnType: int
    signature: int _getopt_long_only_r_a (int argc, char *const *argv, const char
      *options, const struct option_a *long_options, int *opt_index, struct _getopt_data_a
      *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argv
    - d
    argTypes:
    - wchar_t**
    - struct _getopt_data_w*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 570
    functionName: exchange_w
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void exchange_w(wchar_t **argv, struct _getopt_data_w *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _wgetenv
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - optstring
    - d
    - posixly_correct
    argTypes:
    - wchar_t*
    - struct _getopt_data_w*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 591
    functionName: _getopt_initialize_w
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _wgetenv
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *_getopt_initialize_w (const wchar_t *optstring, struct _getopt_data_w
      *d, int posixly_correct)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_initialize_w
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:602,1
    - Dst: exchange_w
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:618,1
    - Dst: wcscmp
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:625,1
    - Dst: exchange_w
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:629,1
    - Dst: wcschr
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:650,1
    - Dst: wcsncmp
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:667,1
    - Dst: wcslen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:669,1
    - Dst: alloca
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:683,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:697,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:700,1
    - Dst: fputwc
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:704,1
    - Dst: wcslen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:706,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:725,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:729,1
    - Dst: wcslen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:732,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:745,1
    - Dst: wcslen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:747,1
    - Dst: wcslen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:752,1
    - Dst: wcschr
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:762,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:768,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:772,1
    - Dst: wcschr
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:783,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:790,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:815,1
    - Dst: wcsncmp
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:828,1
    - Dst: wcslen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:830,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:849,1
    - Dst: wcslen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:851,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:866,1
    - Dst: wcslen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:868,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:880,1
    - Dst: wcslen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:882,1
    - Dst: wcslen
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:888,1
    - Dst: fwprintf
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:926,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 259
    argCount: 8
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - d
    - posixly_correct
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    - int
    - struct _getopt_data_w*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 941
    functionName: _getopt_internal_r_w
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_initialize_w
    - alloca
    - fputwc
    - fwprintf
    - wcslen
    - wcscmp
    - wcschr
    - exchange_w
    - wcsncmp
    linkageType: ''
    returnType: int
    signature: int _getopt_internal_r_w (int argc, wchar_t *const *argv, const wchar_t
      *optstring, const struct option_w *longopts, int *longind, int long_only, struct
      _getopt_data_w *d, int posixly_correct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_w
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - posixly_correct
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 952
    functionName: _getopt_internal_w
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r_w
    linkageType: ''
    returnType: int
    signature: int _getopt_internal_w (int argc, wchar_t *const *argv, const wchar_t
      *optstring, const struct option_w *longopts, int *longind, int long_only, int
      posixly_correct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_w
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: getopt_w
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_w
    linkageType: ''
    returnType: int
    signature: int getopt_w (int argc, wchar_t *const *argv, const wchar_t *optstring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_w
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 960
    functionName: getopt_long_w
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_w
    linkageType: ''
    returnType: int
    signature: int getopt_long_w (int argc, wchar_t *const *argv, const wchar_t *options,
      const struct option_w *long_options, int *opt_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_w
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: getopt_long_only_w
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_w
    linkageType: ''
    returnType: int
    signature: int getopt_long_only_w (int argc, wchar_t *const *argv, const wchar_t
      *options, const struct option_w *long_options, int *opt_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_w
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    - struct _getopt_data_w*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 968
    functionName: _getopt_long_r_w
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r_w
    linkageType: ''
    returnType: int
    signature: int _getopt_long_r_w (int argc, wchar_t *const *argv, const wchar_t
      *options, const struct option_w *long_options, int *opt_index, struct _getopt_data_w
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_w
      Src: /src/ndpi/src/lib/third_party/src/windows/getopt.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    - struct _getopt_data_w*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 972
    functionName: _getopt_long_only_r_w
    functionSourceFile: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r_w
    linkageType: ''
    returnType: int
    signature: int _getopt_long_only_r_w (int argc, wchar_t *const *argv, const wchar_t
      *options, const struct option_w *long_options, int *opt_index, struct _getopt_data_w
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: derr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: derr(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: derr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: derr(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: ddbg
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddbg(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - fmt
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: ddbg
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ddbg(fmt, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: pl7m_malloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pl7m_malloc(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: pl7m_calloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pl7m_calloc(num, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: pl7m_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pl7m_free(p)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - datalink_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: __is_datalink_supported
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int __is_datalink_supported(int datalink_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - proto
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: __is_l3_proto_supported
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int __is_l3_proto_supported(int proto)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:271,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:276,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:312,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:319,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:326,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:327,1
    - Dst: dissect_l2
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:333,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:341,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:346,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:355,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:365,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:370,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:378,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:387,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:395,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:400,1
    - Dst: __is_l3_proto_supported
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:403,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:404,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 124
    argCount: 2
    argNames:
    - datalink_type
    - p
    argTypes:
    - int
    - struct m_pkt*
    assertStmts:
    - condition: (l2_offset >= 0 && l2_offset < (int)p->header.caplen)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    constantsTouched: []
    func_position:
      end: 411
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 411
    functionName: dissect_l2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 1
    functionsReached:
    - assert
    - __is_l3_proto_supported
    - le32toh
    - le16toh
    - derr
    - dissect_l2
    - ntohs
    linkageType: ''
    returnType: int
    signature: int dissect_l2(int datalink_type, struct m_pkt *p)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - proto
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 435
    functionName: __is_l4_proto_supported
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int __is_l4_proto_supported(int proto)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:445,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:457,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:458,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:459,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:463,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:464,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:465,1
    - Dst: __is_l4_proto_supported
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:469,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:470,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:475,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:486,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:491,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:493,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:511,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:515,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:521,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:527,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:549,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:557,1
    - Dst: __is_l4_proto_supported
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:562,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:563,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:568,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:577,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 97
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct m_pkt*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    constantsTouched: []
    func_position:
      end: 580
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 580
    functionName: dissect_l3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - __is_l4_proto_supported
    - assert
    - ddbg
    - derr
    - ntohs
    linkageType: ''
    returnType: int
    signature: int dissect_l3(struct m_pkt *p)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:592,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:599,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:603,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:611,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:612,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:613,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:614,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:618,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:623,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:629,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:640,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:644,1
    - Dst: dissect_l3
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:649,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:651,1
    - Dst: dissect_l4
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:654,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:659,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:664,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:665,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:678,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:683,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:687,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:692,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:694,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:698,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:706,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:710,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:725,1
    - Dst: dissect_l3
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:730,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:732,1
    - Dst: dissect_l4
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:735,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 135
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct m_pkt*
    assertStmts:
    - condition: (p->prev_l3_offset == 0)
      pos:
        line_end: 682
        line_start: 682
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    - condition: (p->prev_l3_offset == 0)
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    constantsTouched: []
    func_position:
      end: 747
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 747
    functionName: dissect_l4
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 1
    functionsReached:
    - dissect_l3
    - assert
    - dissect_l4
    - ddbg
    - derr
    - ntohs
    linkageType: ''
    returnType: int
    signature: int dissect_l4(struct m_pkt *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:762,1
    - Dst: htons
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:763,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:771,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:772,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:774,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 4
    argNames:
    - gtp_buffer
    - gtp_buffer_len
    - p
    - l3_proto
    argTypes:
    - unsigned char*
    - int
    - struct m_pkt*
    - u_int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 825
    functionName: is_gtp_u
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - ntohs
    - htons
    - ddbg
    linkageType: ''
    returnType: int
    signature: "int is_gtp_u(unsigned char *gtp_buffer, int gtp_buffer_len,\n\t\t
      \   const struct m_pkt *p, u_int16_t *l3_proto)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:833,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:841,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:846,1
    - Dst: is_gtp_u
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:852,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:854,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:856,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:860,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:863,1
    - Dst: dissect_l3
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:867,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:869,1
    - Dst: dissect_l4
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct m_pkt*
    assertStmts:
    - condition: (p->prev_l3_offset == 0)
      pos:
        line_end: 855
        line_start: 855
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    - condition: (p->gtp_offset == 0)
      pos:
        line_end: 862
        line_start: 862
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    constantsTouched: []
    func_position:
      end: 877
      start: 826
    functionDepth: 3
    functionLinenumber: 826
    functionLinenumberEnd: 877
    functionName: dissect_l4_detunneling
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - assert
    - dissect_l3
    - dissect_l4
    - ddbg
    - derr
    - is_gtp_u
    linkageType: ''
    returnType: int
    signature: int dissect_l4_detunneling(struct m_pkt *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dissect_l2
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:882,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:884,1
    - Dst: dissect_l3
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:887,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:889,1
    - Dst: dissect_l4
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:892,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:894,1
    - Dst: dissect_l4_detunneling
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:898,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - datalink_type
    - p
    argTypes:
    - int
    - struct m_pkt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 878
    functionDepth: 4
    functionLinenumber: 878
    functionLinenumberEnd: 904
    functionName: dissect_do
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - dissect_l4_detunneling
    - dissect_l3
    - dissect_l4
    - derr
    - dissect_l2
    linkageType: ''
    returnType: int
    signature: int dissect_do(int datalink_type, struct m_pkt *p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:918,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:921,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:925,1
    - Dst: rand
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:927,1
    - Dst: rand
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:928,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:933,1
    - Dst: rand
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:934,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:936,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:941,1
    - Dst: rand
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:943,1
    - Dst: rand
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:944,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:946,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:951,1
    - Dst: rand
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:953,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:955,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - Data
    - Size
    - MaxSize
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 960
    functionName: internal_FuzzerMutate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - memset
    - memmove
    - ddbg
    - rand
    linkageType: ''
    returnType: size_t
    signature: size_t internal_FuzzerMutate(uint8_t *Data, size_t Size, size_t MaxSize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:975,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:976,1
    - Dst: LLVMFuzzerMutate
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:978,1
    - Dst: __has_feature
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:986,1
    - Dst: __msan_unpoison
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:987,1
    - Dst: internal_FuzzerMutate
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:992,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:997,1
    - Dst: htons
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1003,1
    - Dst: htons
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1017,1
    - Dst: htons
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1017,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1019,1
    - Dst: htons
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1021,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1021,1
    - Dst: htons
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1027,1
    - Dst: htons
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1027,1
    - Dst: htons
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1031,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1031,1
    - Dst: htons
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1037,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1037,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1039,1
    - Dst: htons
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1041,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1041,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1045,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1048,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct m_pkt*
    assertStmts:
    - condition: (p->header.caplen <= MAX_PKT_LENGTH)
      pos:
        line_end: 1047
        line_start: 1047
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    - condition: (p->l5_offset + p->l5_length <= (int)p->header.caplen)
      pos:
        line_end: 974
        line_start: 974
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    - condition: (p->header.caplen <= MAX_PKT_LENGTH)
      pos:
        line_end: 975
        line_start: 975
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    - condition: (p->l3_proto == ETH_P_IPV6)
      pos:
        line_end: 1018
        line_start: 1018
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    - condition: (p->gtp_offset > (int)sizeof(struct udphdr))
      pos:
        line_end: 1038
        line_start: 1038
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    constantsTouched: []
    func_position:
      end: 1049
      start: 964
    functionDepth: 2
    functionLinenumber: 964
    functionLinenumberEnd: 1049
    functionName: update_do_l7
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - assert
    - __msan_unpoison
    - internal_FuzzerMutate
    - htons
    - ddbg
    - __has_feature
    - LLVMFuzzerMutate
    - ntohs
    linkageType: ''
    returnType: void
    signature: void update_do_l7(struct m_pkt *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LLVMFuzzerMutate
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1058,1
    - Dst: internal_FuzzerMutate
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1060,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct m_pkt*
    assertStmts:
    - condition: (p->header.caplen <= MAX_PKT_LENGTH)
      pos:
        line_end: 1064
        line_start: 1064
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    constantsTouched: []
    func_position:
      end: 1066
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1066
    functionName: update_do_simplest
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - assert
    - LLVMFuzzerMutate
    - internal_FuzzerMutate
    linkageType: ''
    returnType: void
    signature: void update_do_simplest(struct m_pkt *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_do_simplest
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1072,1
    - Dst: update_do_l7
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct m_pkt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1069
    functionDepth: 3
    functionLinenumber: 1069
    functionLinenumberEnd: 1076
    functionName: update_do
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - update_do_l7
    - update_do_simplest
    linkageType: ''
    returnType: void
    signature: void update_do(struct m_pkt *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - p
    - seed
    argTypes:
    - struct m_pkt*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1106
    functionName: randomize_ports
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void randomize_ports(struct m_pkt *p, unsigned int seed)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct m_pkt*
    assertStmts:
    - condition: (p->l3_proto == ETH_P_IPV6)
      pos:
        line_end: 1145
        line_start: 1145
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    constantsTouched: []
    func_position:
      end: 1155
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1155
    functionName: swap_direction
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void swap_direction(struct m_pkt *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_malloc
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1161,1
    - Dst: pl7m_malloc
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1164,1
    - Dst: pl7m_free
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1166,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct m_pkt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1188
    functionName: __dup_pkt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - memcpy
    - pl7m_free
    - pl7m_malloc
    linkageType: ''
    returnType: struct m_pkt
    signature: struct m_pkt *__dup_pkt(struct m_pkt *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_free
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1191,1
    - Dst: pl7m_free
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct m_pkt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1193
    functionName: __free_pkt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - pl7m_free
    linkageType: ''
    returnType: void
    signature: void __free_pkt(struct m_pkt *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - h
    - p
    - prev
    - next
    argTypes:
    - struct pl7m_handle*
    - struct m_pkt*
    - struct m_pkt*
    - struct m_pkt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1205
    functionName: __add_pkt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void __add_pkt(struct pl7m_handle *h, struct m_pkt *p,\n\t\t      struct
      m_pkt *prev, struct m_pkt *next)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __free_pkt
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - h
    - p
    - prev
    argTypes:
    - struct pl7m_handle*
    - struct m_pkt*
    - struct m_pkt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1214
    functionName: __del_pkt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - __free_pkt
    linkageType: ''
    returnType: void
    signature: void __del_pkt(struct pl7m_handle *h, struct m_pkt *p, struct m_pkt
      *prev)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - h
    - p
    - prev
    - next
    argTypes:
    - struct pl7m_handle*
    - struct m_pkt*
    - struct m_pkt*
    - struct m_pkt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1240
    functionName: __swap_pkt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int __swap_pkt(struct pl7m_handle *h, struct m_pkt *p, struct m_pkt
      *prev,\n\t\t      struct m_pkt *next)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __free_pkt
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1251,1
    - Dst: pl7m_free
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct pl7m_handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1255
    functionName: __free_m_pkts
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - __free_pkt
    - pl7m_free
    linkageType: ''
    returnType: void
    signature: void __free_m_pkts(struct pl7m_handle *h)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1262,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1265,1
    - Dst: __del_pkt
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1266,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1269,1
    - Dst: __dup_pkt
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1270,1
    - Dst: __add_pkt
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1271,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1275,1
    - Dst: __swap_pkt
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1277,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1283,1
    - Dst: swap_direction
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - h
    - p
    - prev
    argTypes:
    - struct pl7m_handle*
    - struct m_pkt*
    - struct m_pkt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1257
    functionDepth: 3
    functionLinenumber: 1257
    functionLinenumberEnd: 1291
    functionName: do_pkt_actions
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - __dup_pkt
    - __swap_pkt
    - swap_direction
    - __add_pkt
    - __del_pkt
    - ddbg
    - rand
    linkageType: ''
    returnType: struct m_pkt
    signature: struct m_pkt *do_pkt_actions(struct pl7m_handle *h, struct m_pkt *p,
      struct m_pkt **prev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_do
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1296,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct m_pkt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1293
    functionDepth: 4
    functionLinenumber: 1293
    functionLinenumberEnd: 1299
    functionName: do_payload_actions
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - ddbg
    - update_do
    linkageType: ''
    returnType: void
    signature: void do_payload_actions(struct m_pkt *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1316,1
    - Dst: pcap_open_dead
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1320,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1322,1
    - Dst: pcap_dump_fopen
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1326,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1328,1
    - Dst: pcap_close
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1329,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1337,1
    - Dst: pcap_dump
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1341,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1344,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1347,1
    - Dst: pcap_dump_close
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1349,1
    - Dst: pcap_close
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - h
    - fd_out
    - max_data_len
    argTypes:
    - struct pl7m_handle*
    - FILE*
    - size_t
    assertStmts:
    - condition: (written <= max_data_len)
      pos:
        line_end: 1346
        line_start: 1346
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    constantsTouched: []
    func_position:
      end: 1352
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1352
    functionName: __serialize_to_fd
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - pcap_dump
    - assert
    - pcap_dump_fopen
    - pcap_open_dead
    - pcap_close
    - ddbg
    - pcap_dump_close
    - derr
    linkageType: ''
    returnType: size_t
    signature: "size_t __serialize_to_fd(struct pl7m_handle *h, FILE *fd_out,\n\t\t\t\tsize_t
      max_data_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmemopen
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1360,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1362,1
    - Dst: __serialize_to_fd
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - h
    - data
    - max_data_len
    argTypes:
    - struct pl7m_handle*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1368
    functionName: __serialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - derr
    - __serialize_to_fd
    - fmemopen
    linkageType: ''
    returnType: size_t
    signature: "size_t __serialize(struct pl7m_handle *h, const unsigned char *data,\n\t\t\t
      \ size_t max_data_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1383,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1385,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1387,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1388,1
    - Dst: __is_datalink_supported
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1392,1
    - Dst: pcap_datalink
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1392,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1393,1
    - Dst: pcap_datalink
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1393,1
    - Dst: pcap_close
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1394,1
    - Dst: pl7m_calloc
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1398,1
    - Dst: pcap_close
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1400,1
    - Dst: pcap_datalink
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1403,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1406,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1407,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1410,1
    - Dst: pl7m_calloc
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1414,1
    - Dst: __free_m_pkts
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1416,1
    - Dst: pcap_close
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1417,1
    - Dst: pl7m_malloc
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1420,1
    - Dst: pl7m_free
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1422,1
    - Dst: __free_m_pkts
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1423,1
    - Dst: pcap_close
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1424,1
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1427,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1428,1
    - Dst: dissect_do
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1432,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1434,1
    - Dst: pl7m_free
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1436,1
    - Dst: pl7m_free
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1437,1
    - Dst: __add_pkt
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1441,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1442,1
    - Dst: pcap_close
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1445,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 1
    argNames:
    - fd_in
    argTypes:
    - FILE*
    assertStmts:
    - condition: (header->caplen <= MAX_PKT_LENGTH)
      pos:
        line_end: 1426
        line_start: 1426
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    constantsTouched: []
    func_position:
      end: 1448
      start: 1370
    functionDepth: 5
    functionLinenumber: 1370
    functionLinenumberEnd: 1448
    functionName: __deserialize_from_fd
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - pcap_datalink
    - fclose
    - pl7m_calloc
    - assert
    - pcap_next_ex
    - __is_datalink_supported
    - pl7m_malloc
    - dissect_do
    - pl7m_free
    - pcap_fopen_offline
    - ddbg
    - pcap_close
    - derr
    - __add_pkt
    - memcpy
    - __free_m_pkts
    linkageType: ''
    returnType: struct pl7m_handle
    signature: struct pl7m_handle *__deserialize_from_fd(FILE *fd_in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmemopen
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1457,1
    - Dst: derr
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1459,1
    - Dst: __deserialize_from_fd
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1450
    functionDepth: 6
    functionLinenumber: 1450
    functionLinenumberEnd: 1463
    functionName: __deserialize
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - derr
    - __deserialize_from_fd
    - fmemopen
    linkageType: ''
    returnType: struct pl7m_handle
    signature: "struct pl7m_handle *__deserialize(const unsigned char *data,\n\t\t\t\t\t
      size_t data_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1470,1
    - Dst: randomize_ports
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1476,1
    - Dst: rand
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1478,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1482,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1487,1
    - Dst: do_pkt_actions
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1489,1
    - Dst: ddbg
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1496,1
    - Dst: do_payload_actions
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - h
    - seed
    argTypes:
    - struct pl7m_handle*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1465
    functionDepth: 5
    functionLinenumber: 1465
    functionLinenumberEnd: 1505
    functionName: __mutate
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - randomize_ports
    - do_payload_actions
    - ddbg
    - do_pkt_actions
    - srand
    - rand
    linkageType: ''
    returnType: void
    signature: void __mutate(struct pl7m_handle *h, unsigned int seed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __deserialize
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1520,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1524,1
    - Dst: __mutate
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1529,1
    - Dst: __serialize
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1530,1
    - Dst: __free_m_pkts
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - data
    - size
    - max_size
    - seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1509
    functionDepth: 7
    functionLinenumber: 1509
    functionLinenumberEnd: 1533
    functionName: pl7m_mutator
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - __deserialize
    - __mutate
    - __serialize
    - memcpy
    - __free_m_pkts
    linkageType: ''
    returnType: size_t
    signature: "size_t pl7m_mutator(uint8_t *data, size_t size, size_t max_size,\n\t\t
      \   unsigned int seed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __deserialize_from_fd
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1546,1
    - Dst: fwrite
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1550,1
    - Dst: __mutate
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1555,1
    - Dst: __serialize_to_fd
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1556,1
    - Dst: __free_m_pkts
      Src: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c:1557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - fd_in
    - fd_out
    - max_size
    - seed
    argTypes:
    - FILE*
    - FILE*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1535
    functionDepth: 6
    functionLinenumber: 1535
    functionLinenumberEnd: 1559
    functionName: pl7m_mutator_fd
    functionSourceFile: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    functionUses: 0
    functionsReached:
    - __mutate
    - __serialize_to_fd
    - fwrite
    - __deserialize_from_fd
    - __free_m_pkts
    linkageType: ''
    returnType: size_t
    signature: "size_t pl7m_mutator_fd(FILE *fd_in, FILE *fd_out, size_t max_size,\n\t\t
      \      unsigned int seed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - hash
    - bits
    argTypes:
    - u_int32_t
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: _hll_rank
    functionSourceFile: /src/ndpi/src/lib/third_party/src/hll/hll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t _hll_rank(u_int32_t hash, u_int8_t bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/hll/hll.c:77,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/src/hll/hll.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - hll
    - bits
    argTypes:
    - struct ndpi_hll*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: hll_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/hll/hll.c
    functionUses: 1
    functionsReached:
    - memset
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int hll_init(struct ndpi_hll *hll, u_int8_t bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/src/hll/hll.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hll
    argTypes:
    - struct ndpi_hll*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: hll_destroy
    functionSourceFile: /src/ndpi/src/lib/third_party/src/hll/hll.c
    functionUses: 1
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void hll_destroy(struct ndpi_hll *hll)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/hll/hll.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - hll
    argTypes:
    - struct ndpi_hll*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: hll_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/hll/hll.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void hll_reset(struct ndpi_hll *hll)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _hll_rank
      Src: /src/ndpi/src/lib/third_party/src/hll/hll.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hll
    - hash
    argTypes:
    - struct ndpi_hll*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: _hll_add_hash
    functionSourceFile: /src/ndpi/src/lib/third_party/src/hll/hll.c
    functionUses: 0
    functionsReached:
    - _hll_rank
    linkageType: ''
    returnType: int
    signature: int _hll_add_hash(struct ndpi_hll *hll, u_int32_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash
      Src: /src/ndpi/src/lib/third_party/src/hll/hll.c:122,1
    - Dst: _hll_add_hash
      Src: /src/ndpi/src/lib/third_party/src/hll/hll.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hll
    - buf
    - size
    argTypes:
    - struct ndpi_hll*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: hll_add
    functionSourceFile: /src/ndpi/src/lib/third_party/src/hll/hll.c
    functionUses: 2
    functionsReached:
    - MurmurHash
    - _hll_add_hash
    linkageType: ''
    returnType: int
    signature: int hll_add(struct ndpi_hll *hll, const void *buf, size_t size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/ndpi/src/lib/third_party/src/hll/hll.c:162,1
    - Dst: log
      Src: /src/ndpi/src/lib/third_party/src/hll/hll.c:165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - hll
    argTypes:
    - struct ndpi_hll*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 171
    functionName: hll_count
    functionSourceFile: /src/ndpi/src/lib/third_party/src/hll/hll.c
    functionUses: 1
    functionsReached:
    - log
    linkageType: ''
    returnType: double
    signature: double hll_count(const struct ndpi_hll *hll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: ROTL32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/hll/MurmurHash3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL32(x, r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ROTL32
      Src: /src/ndpi/src/lib/third_party/src/hll/MurmurHash3.c:28,1
    - Dst: ROTL32
      Src: /src/ndpi/src/lib/third_party/src/hll/MurmurHash3.c:32,1
    - Dst: ROTL32
      Src: /src/ndpi/src/lib/third_party/src/hll/MurmurHash3.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - key
    - len
    - seed
    argTypes:
    - void*
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 67
    functionName: MurmurHash
    functionSourceFile: /src/ndpi/src/lib/third_party/src/hll/MurmurHash3.c
    functionUses: 2
    functionsReached:
    - ROTL32
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t MurmurHash(const void *key, u_int32_t len, u_int32_t seed)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: __has_feature
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:62,1
    - Dst: fopen
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:87,1
    - Dst: getline
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:94,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:95,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:105,1
    - Dst: fclose
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:106,1
    - Dst: __get_cpuid
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:115,1
    - Dst: __cpuid
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:126,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - what
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 140
    functionName: mbedtls_aesni_has_support
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
    functionUses: 0
    functionsReached:
    - getline
    - fclose
    - __cpuid
    - free
    - strstr
    - __get_cpuid
    - __has_feature
    - fopen
    linkageType: ''
    returnType: int
    signature: int mbedtls_aesni_has_support( unsigned int what )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ctx
    - mode
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - int
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 211
    functionName: mbedtls_aesni_crypt_ecb
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mbedtls_aesni_crypt_ecb( mbedtls_aes_context *ctx,\n                     int
      mode,\n                     const unsigned char input[16],\n                     unsigned
      char output[16] )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - c
    - a
    - b
    argTypes:
    - unsigned char[]
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 323
    functionName: mbedtls_aesni_gcm_mult
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mbedtls_aesni_gcm_mult( unsigned char c[16],\n                     const
      unsigned char a[16],\n                     const unsigned char b[16] )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:334,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - invkey
    - fwdkey
    - nr
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 345
    functionName: mbedtls_aesni_inverse_key
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void mbedtls_aesni_inverse_key( unsigned char *invkey,\n                        const
      unsigned char *fwdkey, int nr )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 395
    functionName: aesni_setkey_enc_128
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void aesni_setkey_enc_128( unsigned char *rk,\n                                  const
      unsigned char *key )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 452
    functionName: aesni_setkey_enc_192
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void aesni_setkey_enc_192( unsigned char *rk,\n                                  const
      unsigned char *key )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 518
    functionName: aesni_setkey_enc_256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void aesni_setkey_enc_256( unsigned char *rk,\n                                  const
      unsigned char *key )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: aesni_setkey_enc_128
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:529,1
    - Dst: aesni_setkey_enc_192
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:530,1
    - Dst: aesni_setkey_enc_256
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - rk
    - key
    - bits
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 536
    functionName: mbedtls_aesni_setkey_enc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
    functionUses: 0
    functionsReached:
    - aesni_setkey_enc_256
    - aesni_setkey_enc_192
    - aesni_setkey_enc_128
    linkageType: ''
    returnType: int
    signature: "int mbedtls_aesni_setkey_enc( unsigned char *rk,\n                      const
      unsigned char *key,\n                      size_t bits )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - operation
    - input
    - output
    argTypes:
    - void*
    - mbedtls_operation_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: aes_crypt_ecb_wrap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c
    functionUses: 0
    functionsReached:
    - mbedtls_aes_crypt_ecb
    linkageType: ''
    returnType: int
    signature: "int aes_crypt_ecb_wrap( void *ctx, mbedtls_operation_t operation,\n
      \       const unsigned char *input, unsigned char *output )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_setkey_dec
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: aes_setkey_dec_wrap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c
    functionUses: 0
    functionsReached:
    - mbedtls_aes_setkey_dec
    linkageType: ''
    returnType: int
    signature: "int aes_setkey_dec_wrap( void *ctx, const unsigned char *key,\n                                unsigned
      int key_bitlen )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: aes_setkey_enc_wrap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c
    functionUses: 0
    functionsReached:
    - mbedtls_aes_setkey_enc
    linkageType: ''
    returnType: int
    signature: "int aes_setkey_enc_wrap( void *ctx, const unsigned char *key,\n                                unsigned
      int key_bitlen )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aes_init
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: aes_ctx_zero
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c
    functionUses: 0
    functionsReached:
    - mbedtls_aes_init
    linkageType: ''
    returnType: void
    signature: void aes_ctx_zero( void *ctx )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_gcm_setkey
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: gcm_aes_setkey_wrap
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c
    functionUses: 0
    functionsReached:
    - mbedtls_gcm_setkey
    linkageType: ''
    returnType: int
    signature: "int gcm_aes_setkey_wrap( void *ctx, const unsigned char *key,\n                                unsigned
      int key_bitlen )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ctx
    - length
    - input
    - output
    argTypes:
    - void*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: null_crypt_stream
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: int
    signature: "int null_crypt_stream( void *ctx, size_t length,\n                              const
      unsigned char *input,\n                              unsigned char *output )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - key
    - key_bitlen
    argTypes:
    - void*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: null_setkey
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_setkey( void *ctx, const unsigned char *key,\n                        unsigned
      int key_bitlen )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: null_ctx_alloc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * null_ctx_alloc( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: null_ctx_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void null_ctx_free( void *ctx )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: GCM_VALIDATE_RET
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GCM_VALIDATE_RET( cond )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: GCM_VALIDATE
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GCM_VALIDATE( cond )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: xorbytes
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xorbytes( unsigned char *dst, const unsigned char *src, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - output
    - buf
    - ectr
    - input
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: xorbytes3d
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void xorbytes3d( unsigned char *output, unsigned char *buf,\n\t\tconst
      unsigned char *ectr, const unsigned char *input, int n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - output
    - buf
    - ectr
    - input
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: xorbytes3e
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void xorbytes3e( unsigned char *output, unsigned char *buf,\n\t\tconst
      unsigned char *ectr, const unsigned char *input, int n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GCM_VALIDATE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:100,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - aes_ctx
    argTypes:
    - mbedtls_gcm_context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: mbedtls_gcm_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 1
    functionsReached:
    - memset
    - GCM_VALIDATE
    linkageType: ''
    returnType: void
    signature: void mbedtls_gcm_init( mbedtls_gcm_context *ctx, void *aes_ctx )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:121,1
    - Dst: mbedtls_cipher_update
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:122,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:126,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:127,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:130,1
    - Dst: MBEDTLS_GET_UINT32_BE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:131,1
    - Dst: mbedtls_aesni_has_support
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_gcm_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 173
    functionName: gcm_gen_table
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached:
    - mbedtls_aesni_has_support
    - memset
    - MBEDTLS_GET_UINT32_BE
    - mbedtls_cipher_update
    linkageType: ''
    returnType: int
    signature: int gcm_gen_table( mbedtls_gcm_context *ctx )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:183,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:184,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:185,1
    - Dst: mbedtls_cipher_info_from_values
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:187,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:200,1
    - Dst: gcm_gen_table
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - ctx
    - cipher
    - key
    - keybits
    argTypes:
    - mbedtls_gcm_context*
    - mbedtls_cipher_id_t
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 210
    functionName: mbedtls_gcm_setkey
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 2
    functionsReached:
    - mbedtls_cipher_setkey
    - GCM_VALIDATE_RET
    - gcm_gen_table
    - mbedtls_cipher_info_from_values
    linkageType: ''
    returnType: int
    signature: "int mbedtls_gcm_setkey( mbedtls_gcm_context *ctx,\n                        mbedtls_cipher_id_t
      cipher,\n                        const unsigned char *key,\n                        unsigned
      int keybits )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:240,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:241,1
    - Dst: mbedtls_aesni_gcm_mult
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:243,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:276,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ctx
    - x
    - output
    argTypes:
    - mbedtls_gcm_context*
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 278
    functionName: gcm_mult
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 1
    functionsReached:
    - MBEDTLS_PUT_UINT64_BE
    - mbedtls_aesni_gcm_mult
    linkageType: ''
    returnType: void
    signature: "void gcm_mult( mbedtls_gcm_context *ctx, const unsigned char x[16],\n
      \                     unsigned char output[16] )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:290,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:291,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:302,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:303,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:311,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:316,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:318,1
    - Dst: xorbytes
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:325,1
    - Dst: gcm_mult
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:327,1
    - Dst: xorbytes
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:333,1
    - Dst: gcm_mult
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:335,1
    - Dst: mbedtls_cipher_update
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 4
    argNames:
    - ctx
    - mode
    - iv
    - iv_len
    argTypes:
    - mbedtls_gcm_context*
    - int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 345
    functionName: mbedtls_gcm_starts
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached:
    - GCM_VALIDATE_RET
    - gcm_mult
    - xorbytes
    - MBEDTLS_PUT_UINT64_BE
    - memset
    - memcpy
    - mbedtls_cipher_update
    linkageType: ''
    returnType: int
    signature: "int mbedtls_gcm_starts( mbedtls_gcm_context *ctx,\n                        int
      mode,\n                        const unsigned char *iv, size_t iv_len )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:370,1
    - Dst: xorbytes
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:385,1
    - Dst: gcm_mult
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:388,1
    - Dst: xorbytes
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:399,1
    - Dst: gcm_mult
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:401,1
    - Dst: xorbytes
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - add
    - add_len
    argTypes:
    - mbedtls_gcm_context*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 411
    functionName: mbedtls_gcm_update_ad
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached:
    - xorbytes
    - GCM_VALIDATE_RET
    - gcm_mult
    linkageType: ''
    returnType: int
    signature: "int mbedtls_gcm_update_ad( mbedtls_gcm_context *ctx,\n                           const
      unsigned char *add, size_t add_len )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - y
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: gcm_incr
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gcm_incr( unsigned char y[16] )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_cipher_update
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:433,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:436,1
    - Dst: xorbytes3d
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:441,1
    - Dst: xorbytes3e
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - ctx
    - ectr
    - offset
    - use_len
    - input
    - output
    argTypes:
    - mbedtls_gcm_context*
    - unsigned char[]
    - size_t
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 446
    functionName: gcm_mask
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached:
    - mbedtls_platform_zeroize
    - xorbytes3e
    - xorbytes3d
    - mbedtls_cipher_update
    linkageType: ''
    returnType: int
    signature: "int gcm_mask( mbedtls_gcm_context *ctx,\n                     unsigned
      char ectr[16],\n                     size_t offset, size_t use_len,\n                     const
      unsigned char *input,\n                     unsigned char *output )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:461,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:471,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:472,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:473,1
    - Dst: gcm_mult
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:488,1
    - Dst: gcm_mask
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:498,1
    - Dst: gcm_mult
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:502,1
    - Dst: gcm_incr
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:514,1
    - Dst: gcm_mask
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:515,1
    - Dst: gcm_mult
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:518,1
    - Dst: gcm_incr
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:527,1
    - Dst: gcm_mask
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:528,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 6
    argNames:
    - ctx
    - input
    - input_length
    - output
    - output_size
    - output_length
    argTypes:
    - mbedtls_gcm_context*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 533
    functionName: mbedtls_gcm_update
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached:
    - gcm_mask
    - GCM_VALIDATE_RET
    - gcm_mult
    - gcm_incr
    linkageType: ''
    returnType: int
    signature: "int mbedtls_gcm_update( mbedtls_gcm_context *ctx,\n                        const
      unsigned char *input, size_t input_length,\n                        unsigned
      char *output, size_t output_size,\n                        size_t *output_length
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:544,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:545,1
    - Dst: gcm_mult
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:558,1
    - Dst: gcm_mult
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:565,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:567,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:571,1
    - Dst: MBEDTLS_PUT_UINT64_BE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:572,1
    - Dst: xorbytes
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:574,1
    - Dst: gcm_mult
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:576,1
    - Dst: xorbytes
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 6
    argNames:
    - ctx
    - output
    - output_size
    - output_length
    - tag
    - tag_len
    argTypes:
    - mbedtls_gcm_context*
    - unsigned char*
    - size_t
    - size_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 582
    functionName: mbedtls_gcm_finish
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached:
    - GCM_VALIDATE_RET
    - gcm_mult
    - xorbytes
    - MBEDTLS_PUT_UINT64_BE
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int mbedtls_gcm_finish( mbedtls_gcm_context *ctx,\n                        unsigned
      char *output, size_t output_size,\n                        size_t *output_length,\n
      \                       unsigned char *tag, size_t tag_len )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:599,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:600,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:601,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:602,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:603,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:604,1
    - Dst: mbedtls_gcm_starts
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:606,1
    - Dst: mbedtls_gcm_update_ad
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:609,1
    - Dst: mbedtls_gcm_update
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:612,1
    - Dst: mbedtls_gcm_finish
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:616,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 11
    argNames:
    - ctx
    - mode
    - length
    - iv
    - iv_len
    - add
    - add_len
    - input
    - output
    - tag_len
    - tag
    argTypes:
    - mbedtls_gcm_context*
    - int
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 584
    functionDepth: 3
    functionLinenumber: 584
    functionLinenumberEnd: 620
    functionName: mbedtls_gcm_crypt_and_tag
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 1
    functionsReached:
    - GCM_VALIDATE_RET
    - mbedtls_gcm_update
    - mbedtls_gcm_update_ad
    - mbedtls_gcm_finish
    - mbedtls_gcm_starts
    linkageType: ''
    returnType: int
    signature: "int mbedtls_gcm_crypt_and_tag( mbedtls_gcm_context *ctx,\n                       int
      mode,\n                       size_t length,\n                       const unsigned
      char *iv,\n                       size_t iv_len,\n                       const
      unsigned char *add,\n                       size_t add_len,\n                       const
      unsigned char *input,\n                       unsigned char *output,\n                       size_t
      tag_len,\n                       unsigned char *tag )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:638,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:639,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:640,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:641,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:642,1
    - Dst: GCM_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:643,1
    - Dst: mbedtls_gcm_crypt_and_tag
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:645,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c:658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 10
    argNames:
    - ctx
    - length
    - iv
    - iv_len
    - add
    - add_len
    - tag
    - tag_len
    - input
    - output
    argTypes:
    - mbedtls_gcm_context*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 622
    functionDepth: 4
    functionLinenumber: 622
    functionLinenumberEnd: 663
    functionName: mbedtls_gcm_auth_decrypt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 0
    functionsReached:
    - mbedtls_platform_zeroize
    - GCM_VALIDATE_RET
    - mbedtls_gcm_crypt_and_tag
    linkageType: ''
    returnType: int
    signature: "int mbedtls_gcm_auth_decrypt( mbedtls_gcm_context *ctx,\n                      size_t
      length,\n                      const unsigned char *iv,\n                      size_t
      iv_len,\n                      const unsigned char *add,\n                      size_t
      add_len,\n                      const unsigned char *tag,\n                      size_t
      tag_len,\n                      const unsigned char *input,\n                      unsigned
      char *output )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_gcm_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 670
    functionName: mbedtls_gcm_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mbedtls_gcm_free( mbedtls_gcm_context *ctx )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: CIPHER_VALIDATE_RET
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIPHER_VALIDATE_RET( cond )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: CIPHER_VALIDATE
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIPHER_VALIDATE( cond )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: mbedtls_cipher_list
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int *mbedtls_cipher_list( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cipher_type
    argTypes:
    - mbedtls_cipher_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: mbedtls_cipher_info_from_type
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_cipher_info_t
    signature: "mbedtls_cipher_info_t *mbedtls_cipher_info_from_type(\n    const mbedtls_cipher_type_t
      cipher_type )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - cipher_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: mbedtls_cipher_info_from_string
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: mbedtls_cipher_info_t
    signature: "mbedtls_cipher_info_t *mbedtls_cipher_info_from_string(\n    const
      char *cipher_name )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - cipher_id
    - key_bitlen
    - mode
    argTypes:
    - mbedtls_cipher_id_t
    - int
    - mbedtls_cipher_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: mbedtls_cipher_info_from_values
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_cipher_info_t
    signature: "mbedtls_cipher_info_t *mbedtls_cipher_info_from_values(\n    const
      mbedtls_cipher_id_t cipher_id,\n    int key_bitlen,\n    const mbedtls_cipher_mode_t
      mode )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_VALIDATE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:98,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: mbedtls_cipher_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached:
    - memset
    - CIPHER_VALIDATE
    linkageType: ''
    returnType: void
    signature: void mbedtls_cipher_init( mbedtls_cipher_context_t *ctx )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:107,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:108,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:109,1
    - Dst: mbedtls_cipher_context_t*::cipher_info::base::setkey_enc_func
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:132,1
    - Dst: mbedtls_cipher_context_t*::cipher_info::base::setkey_dec_func
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - key
    - key_bitlen
    - operation
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - int
    - mbedtls_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 141
    functionName: mbedtls_cipher_setkey
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 1
    functionsReached:
    - mbedtls_cipher_context_t*::cipher_info::base::setkey_enc_func
    - CIPHER_VALIDATE_RET
    - mbedtls_cipher_context_t*::cipher_info::base::setkey_dec_func
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_setkey( mbedtls_cipher_context_t *ctx,\n                           const
      unsigned char *key,\n                           int key_bitlen,\n                           const
      mbedtls_operation_t operation )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:149,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:150,1
    - Dst: mbedtls_gcm_starts
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:173,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ctx
    - iv
    - iv_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 187
    functionName: mbedtls_cipher_set_iv
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CIPHER_VALIDATE_RET
    - mbedtls_gcm_starts
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_set_iv( mbedtls_cipher_context_t *ctx,\n                           const
      unsigned char *iv,\n                           size_t iv_len )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: mbedtls_cipher_reset
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 1
    functionsReached:
    - CIPHER_VALIDATE_RET
    linkageType: ''
    returnType: int
    signature: int mbedtls_cipher_reset( mbedtls_cipher_context_t *ctx )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:205,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:206,1
    - Dst: mbedtls_gcm_update_ad
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - ad
    - ad_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 221
    functionName: mbedtls_cipher_update_ad
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached:
    - CIPHER_VALIDATE_RET
    - mbedtls_gcm_update_ad
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_update_ad( mbedtls_cipher_context_t *ctx,\n                      const
      unsigned char *ad, size_t ad_len )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:230,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:231,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:232,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:233,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:239,1
    - Dst: mbedtls_cipher_context_t*::cipher_info::base::ecb_func
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:252,1
    - Dst: mbedtls_gcm_update
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:264,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:293,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:307,1
    - Dst: mbedtls_cipher_context_t*::cipher_info::base::cbc_func
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:310,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:342,1
    - Dst: mbedtls_cipher_context_t*::cipher_info::base::cbc_func
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:354,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 5
    argNames:
    - ctx
    - input
    - ilen
    - output
    - olen
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 373
    functionName: mbedtls_cipher_update
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 3
    functionsReached:
    - mbedtls_cipher_context_t*::cipher_info::base::ecb_func
    - mbedtls_gcm_update
    - CIPHER_VALIDATE_RET
    - mbedtls_cipher_context_t*::cipher_info::base::cbc_func
    - mbedtls_cipher_get_block_size
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_update( mbedtls_cipher_context_t *ctx, const unsigned
      char *input,\n                   size_t ilen, unsigned char *output, size_t
      *olen )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:379,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:380,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:381,1
    - Dst: mbedtls_cipher_context_t*::add_padding
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:429,1
    - Dst: mbedtls_cipher_get_iv_size
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:429,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:432,1
    - Dst: mbedtls_cipher_context_t*::cipher_info::base::cbc_func
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:445,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:446,1
    - Dst: mbedtls_cipher_context_t*::get_padding
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:454,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:454,1
    - Dst: mbedtls_cipher_get_block_size
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:458,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 3
    argNames:
    - ctx
    - output
    - olen
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 466
    functionName: mbedtls_cipher_finish
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached:
    - mbedtls_cipher_context_t*::add_padding
    - mbedtls_cipher_context_t*::get_padding
    - CIPHER_VALIDATE_RET
    - mbedtls_cipher_context_t*::cipher_info::base::cbc_func
    - mbedtls_cipher_get_iv_size
    - mbedtls_cipher_get_block_size
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_finish( mbedtls_cipher_context_t *ctx,\n                   unsigned
      char *output, size_t *olen )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:473,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:474,1
    - Dst: mbedtls_gcm_finish
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - tag
    - tag_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 496
    functionName: mbedtls_cipher_write_tag
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached:
    - mbedtls_gcm_finish
    - CIPHER_VALIDATE_RET
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_write_tag( mbedtls_cipher_context_t *ctx,\n                      unsigned
      char *tag, size_t tag_len )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:504,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:505,1
    - Dst: mbedtls_gcm_finish
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:531,1
    - Dst: mbedtls_ct_memcmp
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:540,1
    - Dst: mbedtls_platform_zeroize
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:550,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ctx
    - tag
    - tag_len
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 498
    functionDepth: 3
    functionLinenumber: 498
    functionLinenumberEnd: 552
    functionName: mbedtls_cipher_check_tag
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached:
    - mbedtls_platform_zeroize
    - mbedtls_gcm_finish
    - CIPHER_VALIDATE_RET
    - mbedtls_ct_memcmp
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_check_tag( mbedtls_cipher_context_t *ctx,\n                      const
      unsigned char *tag, size_t tag_len )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:566,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:567,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:568,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:569,1
    - Dst: CIPHER_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:570,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:573,1
    - Dst: mbedtls_cipher_reset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:576,1
    - Dst: mbedtls_cipher_update
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:579,1
    - Dst: mbedtls_cipher_finish
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 7
    argNames:
    - ctx
    - iv
    - iv_len
    - input
    - ilen
    - output
    - olen
    argTypes:
    - mbedtls_cipher_context_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 590
    functionName: mbedtls_cipher_crypt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
    functionUses: 0
    functionsReached:
    - mbedtls_cipher_set_iv
    - mbedtls_cipher_finish
    - CIPHER_VALIDATE_RET
    - mbedtls_cipher_reset
    - mbedtls_cipher_update
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_crypt( mbedtls_cipher_context_t *ctx,\n                  const
      unsigned char *iv, size_t iv_len,\n                  const unsigned char *input,
      size_t ilen,\n                  unsigned char *output, size_t *olen )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: U8V
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8V(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: U16V
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U16V(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: U32V
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32V(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: U64V
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U64V(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: ROTL32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL32(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: ROTL64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL64(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: ROTR32
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTR32(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: ROTR64
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTR64(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: ROTL8
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL8(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: ROTL16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL16(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: ROTR8
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTR8(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: ROTR16
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTR16(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: S0
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: S1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: s0
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: s1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: blk0
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: blk2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: Ch
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: Maj
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: a
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: a(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: b
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: b(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: c
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 435
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: c(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: d
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 1161
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: e
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 2630
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: e(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: f
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 462
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: f(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: g
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 225
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: g(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: h
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 220
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: h(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: R
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 184
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(a,b,c,d,e,f,g,h, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: RX_8
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_8(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: R
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 184
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: RX_8
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_8(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - sha256_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: sha256_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sha256_init(sha256_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RX_8
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:154,1
    - Dst: RX_8
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:154,1
    - Dst: R
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - state
    - data
    argTypes:
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 178
    functionName: sha256_transform
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 2
    functionsReached:
    - RX_8
    - R
    linkageType: ''
    returnType: void
    signature: void sha256_transform(uint32_t *state, const uint32_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sha256_transform
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - sha256_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: sha256_write_byte_block
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 0
    functionsReached:
    - sha256_transform
    linkageType: ''
    returnType: void
    signature: void sha256_write_byte_block(sha256_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sha256_write_byte_block
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p
    - data
    - size
    argTypes:
    - sha256_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: sha256_update
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 1
    functionsReached:
    - sha256_write_byte_block
    linkageType: ''
    returnType: void
    signature: void sha256_update(sha256_t *p, const unsigned char *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sha256_write_byte_block
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:228,1
    - Dst: sha256_write_byte_block
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:236,1
    - Dst: sha256_init
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - p
    - digest
    argTypes:
    - sha256_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 246
    functionName: sha256_final
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 1
    functionsReached:
    - sha256_init
    - sha256_write_byte_block
    linkageType: ''
    returnType: void
    signature: void sha256_final(sha256_t *p, unsigned char *digest)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sha256_init
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:295,1
    - Dst: sha256_update
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:296,1
    - Dst: sha256_update
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:297,1
    - Dst: sha256_final
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:298,1
    - Dst: sha256_init
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:315,1
    - Dst: sha256_update
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:316,1
    - Dst: sha256_update
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:317,1
    - Dst: sha256_final
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c:318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - out
    - data
    - data_len
    - key
    - key_len
    argTypes:
    - uint8_t[]
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 319
    functionName: hmac_sha256
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
    functionUses: 1
    functionsReached:
    - sha256_final
    - sha256_update
    - sha256_init
    linkageType: ''
    returnType: void
    signature: "void hmac_sha256 (uint8_t out[HMAC_SHA256_DIGEST_SIZE],\n             const
      uint8_t *data, size_t data_len,\n             const uint8_t *key, size_t key_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: AES_VALIDATE_RET
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_VALIDATE_RET( cond )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: AES_VALIDATE
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_VALIDATE( cond )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: XTIME
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XTIME(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: MUL
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_aesni_has_support
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:71,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:84,1
    - Dst: XTIME
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:84,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:93,1
    - Dst: XTIME
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:93,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:106,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:107,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:108,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:109,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:122,1
    - Dst: XTIME
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:122,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:123,1
    - Dst: ROTL8
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:130,1
    - Dst: ROTL8
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:131,1
    - Dst: ROTL8
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:132,1
    - Dst: MUL
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:136,1
    - Dst: MUL
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:137,1
    - Dst: MUL
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:138,1
    - Dst: MUL
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:139,1
    - Dst: ROTL8
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:141,1
    - Dst: ROTL8
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:142,1
    - Dst: ROTL8
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 145
    functionName: aes_gen_tables
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached:
    - MBEDTLS_BYTE_0
    - ROTL8
    - mbedtls_aesni_has_support
    - XTIME
    - MUL
    linkageType: ''
    returnType: void
    signature: void aes_gen_tables( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: AES_RT0
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_RT0(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: AES_RT1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_RT1(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: AES_RT2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_RT2(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: AES_RT3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_RT3(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: AES_FT0
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_FT0(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: AES_FT1
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_FT1(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: AES_FT2
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_FT2(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: AES_FT3
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_FT3(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AES_VALIDATE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:159,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_aes_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: mbedtls_aes_init
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 2
    functionsReached:
    - memset
    - AES_VALIDATE
    linkageType: ''
    returnType: void
    signature: void mbedtls_aes_init( mbedtls_aes_context *ctx )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_aes_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: mbedtls_aes_free
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mbedtls_aes_free( mbedtls_aes_context *ctx )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AES_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:182,1
    - Dst: AES_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:183,1
    - Dst: aes_gen_tables
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:195,1
    - Dst: mbedtls_aesni_setkey_enc
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:209,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:214,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:224,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:225,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:226,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:227,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:240,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:241,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:242,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:243,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:258,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:259,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:260,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:261,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:268,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:269,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:270,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:271,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 3
    argNames:
    - ctx
    - key
    - keybits
    argTypes:
    - mbedtls_aes_context*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 281
    functionName: mbedtls_aes_setkey_enc
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 2
    functionsReached:
    - MBEDTLS_BYTE_0
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_2
    - aes_gen_tables
    - MBEDTLS_GET_UINT32_LE
    - mbedtls_aesni_setkey_enc
    - AES_VALIDATE_RET
    - MBEDTLS_BYTE_3
    linkageType: ''
    returnType: int
    signature: "int mbedtls_aes_setkey_enc( mbedtls_aes_context *ctx, const unsigned
      char *key,\n                    unsigned int keybits )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AES_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:294,1
    - Dst: AES_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:295,1
    - Dst: mbedtls_aes_init
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:297,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:302,1
    - Dst: mbedtls_aesni_inverse_key
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:309,1
    - Dst: AES_RT0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:326,1
    - Dst: MBEDTLS_BYTE_0
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:326,1
    - Dst: AES_RT1
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:327,1
    - Dst: MBEDTLS_BYTE_1
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:327,1
    - Dst: AES_RT2
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:328,1
    - Dst: MBEDTLS_BYTE_2
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:328,1
    - Dst: AES_RT3
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:329,1
    - Dst: MBEDTLS_BYTE_3
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:329,1
    - Dst: mbedtls_aes_free
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - key
    - keybits
    argTypes:
    - mbedtls_aes_context*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 342
    functionName: mbedtls_aes_setkey_dec
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 1
    functionsReached:
    - AES_RT2
    - mbedtls_aesni_inverse_key
    - mbedtls_aes_init
    - MBEDTLS_BYTE_0
    - MBEDTLS_BYTE_1
    - MBEDTLS_BYTE_2
    - AES_RT0
    - mbedtls_aes_setkey_enc
    - mbedtls_aes_free
    - AES_VALIDATE_RET
    - MBEDTLS_BYTE_3
    - AES_RT1
    - AES_RT3
    linkageType: ''
    returnType: int
    signature: "int mbedtls_aes_setkey_dec( mbedtls_aes_context *ctx, const unsigned
      char *key,\n                    unsigned int keybits )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - X0
    - ','
    - X1
    - ','
    - X2
    - ','
    - X3
    - ','
    - Y0
    - ','
    - Y1
    - ','
    - Y2
    - ','
    - Y3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 368
    functionName: AES_FROUND
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_FROUND(X0, X1, X2, X3, Y0, Y1, Y2, Y3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - X0
    - ','
    - X1
    - ','
    - X2
    - ','
    - X3
    - ','
    - Y0
    - ','
    - Y1
    - ','
    - Y2
    - ','
    - Y3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 393
    functionName: AES_RROUND
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_RROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:409,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:410,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:411,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:412,1
    - Dst: AES_FROUND
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:416,1
    - Dst: AES_FROUND
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:417,1
    - Dst: AES_FROUND
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:420,1
    - Dst: AES_XROUND
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:428,1
    - Dst: AES_XROUND
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:429,1
    - Dst: AES_XROUND
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:430,1
    - Dst: AES_XROUND
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:431,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:434,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:435,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:436,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 440
    functionName: mbedtls_internal_aes_encrypt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached:
    - MBEDTLS_PUT_UINT32_LE
    - MBEDTLS_GET_UINT32_LE
    - AES_FROUND
    - AES_XROUND
    linkageType: ''
    returnType: int
    signature: "int mbedtls_internal_aes_encrypt( mbedtls_aes_context *ctx,\n                                  const
      unsigned char input[16],\n                                  unsigned char output[16]
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - X
    - ','
    - Y0
    - ','
    - Y1
    - ','
    - Y2
    - ','
    - Y3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: AES_XROUND
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_XROUND(X,Y0,Y1,Y2,Y3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:457,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:458,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:459,1
    - Dst: MBEDTLS_GET_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:460,1
    - Dst: AES_RROUND
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:464,1
    - Dst: AES_RROUND
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:465,1
    - Dst: AES_RROUND
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:468,1
    - Dst: AES_XROUNDD
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:476,1
    - Dst: AES_XROUNDD
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:477,1
    - Dst: AES_XROUNDD
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:478,1
    - Dst: AES_XROUNDD
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:479,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:483,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:484,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:485,1
    - Dst: MBEDTLS_PUT_UINT32_LE
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 489
    functionName: mbedtls_internal_aes_decrypt
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 0
    functionsReached:
    - AES_RROUND
    - MBEDTLS_PUT_UINT32_LE
    - MBEDTLS_GET_UINT32_LE
    - AES_XROUNDD
    linkageType: ''
    returnType: int
    signature: "int mbedtls_internal_aes_decrypt( mbedtls_aes_context *ctx,\n                                  const
      unsigned char input[16],\n                                  unsigned char output[16]
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - X
    - ','
    - Y0
    - ','
    - Y1
    - ','
    - Y2
    - ','
    - Y3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: AES_XROUNDD
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_XROUNDD(X,Y0,Y1,Y2,Y3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AES_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:499,1
    - Dst: AES_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:500,1
    - Dst: AES_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:501,1
    - Dst: AES_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:502,1
    - Dst: mbedtls_aesni_crypt_ecb
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:507,1
    - Dst: mbedtls_internal_aes_encrypt
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:512,1
    - Dst: mbedtls_internal_aes_decrypt
      Src: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - mode
    - input
    - output
    argTypes:
    - mbedtls_aes_context*
    - int
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 515
    functionName: mbedtls_aes_crypt_ecb
    functionSourceFile: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    functionUses: 2
    functionsReached:
    - mbedtls_aesni_crypt_ecb
    - AES_VALIDATE_RET
    - mbedtls_internal_aes_decrypt
    - mbedtls_internal_aes_encrypt
    linkageType: ''
    returnType: int
    signature: "int mbedtls_aes_crypt_ecb( mbedtls_aes_context *ctx,\n                           int
      mode,\n                           const unsigned char input[16],\n                           unsigned
      char output[16] )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: _blsr_u64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _blsr_u64(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanForward64
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:253,1
    - Dst: _BitScanForward
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:256,1
    - Dst: _BitScanForward
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - input_num
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 263
    functionName: roaring_trailing_zeroes
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 96
    functionsReached:
    - _BitScanForward64
    - _BitScanForward
    linkageType: ''
    returnType: int
    signature: int roaring_trailing_zeroes(unsigned long long input_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse64
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:271,1
    - Dst: _BitScanReverse
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:274,1
    - Dst: _BitScanReverse
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - input_num
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 281
    functionName: roaring_leading_zeroes
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 20
    functionsReached:
    - _BitScanReverse64
    - _BitScanReverse
    linkageType: ''
    returnType: int
    signature: int roaring_leading_zeroes(unsigned long long input_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_ctzll
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_num
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: roaring_trailing_zeroes
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 96
    functionsReached:
    - __builtin_ctzll
    linkageType: ''
    returnType: int
    signature: int roaring_trailing_zeroes(unsigned long long input_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzll
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_num
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: roaring_leading_zeroes
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 20
    functionsReached:
    - __builtin_clzll
    linkageType: ''
    returnType: int
    signature: int roaring_leading_zeroes(unsigned long long input_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: ALIGNED
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: ALIGNED
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:327,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:328,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:329,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: roaring_hamming_backup
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: int
    signature: int roaring_hamming_backup(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vaddv_u8
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:342,1
    - Dst: vcnt_u8
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:342,1
    - Dst: vcreate_u8
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:342,1
    - Dst: roaring_hamming_backup
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:344,1
    - Dst: __popcnt64
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:347,1
    - Dst: roaring_hamming_backup
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:352,1
    - Dst: __popcnt
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:355,1
    - Dst: __popcnt
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:356,1
    - Dst: __builtin_popcountll
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 361
    functionName: roaring_hamming
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 60
    functionsReached:
    - vcreate_u8
    - roaring_hamming_backup
    - vaddv_u8
    - __popcnt64
    - vcnt_u8
    - __popcnt
    - __builtin_popcountll
    linkageType: ''
    returnType: int
    signature: int roaring_hamming(uint64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: UINT64_C
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 226
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT64_C(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: UINT32_C
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT32_C(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: STRINGIFY_IMPLEMENTATION_
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY_IMPLEMENTATION_(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: STRINGIFY
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: CROARING_TARGET_REGION
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_TARGET_REGION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: CROARING_TARGET_REGION
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_TARGET_REGION(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: croaring_htobe64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: croaring_htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 498
    functionName: croaring_htobe64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: croaring_htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 502
    functionName: croaring_htobe64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: croaring_htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 509
    functionName: croaring_htobe64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: croaring_htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 511
    functionName: croaring_htobe64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: croaring_htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: croaring_htobe64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: croaring_htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 527
    functionName: croaring_be64toh
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: croaring_be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_explicit
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 565
    functionName: croaring_refcount_inc
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached:
    - atomic_fetch_add_explicit
    linkageType: ''
    returnType: void
    signature: void croaring_refcount_inc(croaring_refcount_t *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub_explicit
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:574,1
    - Dst: atomic_thread_fence
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 579
    functionName: croaring_refcount_dec
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached:
    - atomic_fetch_sub_explicit
    - atomic_thread_fence
    linkageType: ''
    returnType: bool
    signature: bool croaring_refcount_dec(croaring_refcount_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_explicit
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 583
    functionName: croaring_refcount_get
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached:
    - atomic_load_explicit
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_refcount_get(const croaring_refcount_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: croaring_refcount_t*::fetch_add
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 590
    functionName: croaring_refcount_inc
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached:
    - croaring_refcount_t*::fetch_add
    linkageType: ''
    returnType: void
    signature: void croaring_refcount_inc(croaring_refcount_t *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: croaring_refcount_t*::fetch_sub
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:594,1
    - Dst: std::atomic_thread_fence
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 599
    functionName: croaring_refcount_dec
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached:
    - std::atomic_thread_fence
    - croaring_refcount_t*::fetch_sub
    linkageType: ''
    returnType: bool
    signature: bool croaring_refcount_dec(croaring_refcount_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: croaring_refcount_t*::load
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 603
    functionName: croaring_refcount_get
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached:
    - croaring_refcount_t*::load
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_refcount_get(const croaring_refcount_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedIncrement
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 615
    functionName: croaring_refcount_inc
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached:
    - _InterlockedIncrement
    linkageType: ''
    returnType: void
    signature: void croaring_refcount_inc(croaring_refcount_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedDecrement
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 619
    functionName: croaring_refcount_dec
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached:
    - _InterlockedDecrement
    linkageType: ''
    returnType: bool
    signature: bool croaring_refcount_dec(croaring_refcount_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 628
    functionName: croaring_refcount_get
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_refcount_get(const croaring_refcount_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 635
    functionName: croaring_refcount_inc
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void croaring_refcount_inc(croaring_refcount_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts:
    - condition: (*val > 0)
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: croaring_refcount_dec
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached:
    - assert
    linkageType: ''
    returnType: bool
    signature: bool croaring_refcount_dec(croaring_refcount_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - croaring_refcount_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: croaring_refcount_get
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t croaring_refcount_get(const croaring_refcount_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 670
    functionName: CROARING_STATIC_ASSERT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_STATIC_ASSERT(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 672
    functionName: CROARING_STATIC_ASSERT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CROARING_STATIC_ASSERT(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: roaring::api::bitset_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_bytes(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 906
    functionName: roaring::api::bitset_size_in_bits
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_bits(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 911
    functionName: roaring::api::bitset_size_in_words
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_words(const bitset_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_grow
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 939
    functionName: roaring::api::bitset_set
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - bitset_grow
    linkageType: ''
    returnType: void
    signature: void bitset_set(bitset_t *bitset, size_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_grow
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bitset
    - i
    - flag
    argTypes:
    - bitset_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 956
    functionName: roaring::api::bitset_set_to_value
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - bitset_grow
    linkageType: ''
    returnType: void
    signature: void bitset_set_to_value(bitset_t *bitset, size_t i, bool flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: roaring::api::bitset_get
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_get(const bitset_t *bitset, size_t i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1043,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1056
    functionName: roaring::api::bitset_next_set_bit
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: bool
    signature: bool bitset_next_set_bit(const bitset_t *bitset, size_t *i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1076,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1082,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - bitset
    - buffer
    - capacity
    - startfrom
    argTypes:
    - bitset_t*
    - size_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1099
    functionName: roaring::api::bitset_next_set_bits
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - UINT64_C
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_next_set_bits(const bitset_t *bitset, size_t *buffer,\n
      \                                  size_t capacity, size_t *startfrom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1111,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - b
    - iterator
    - ptr
    argTypes:
    - bitset_t*
    - bitset_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1118
    functionName: roaring::api::bitset_for_each
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool bitset_for_each(const bitset_t *b, bitset_iterator iterator,\n
      \                           void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1121,1
    - Dst: roaring::api::bitset_next_set_bit
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1122,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1123,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1126
    functionName: roaring::api::bitset_print
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - printf
    - roaring::api::bitset_next_set_bit
    linkageType: ''
    returnType: void
    signature: void bitset_print(const bitset_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: roaring::api::bitset_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_bytes(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 906
    functionName: roaring::api::bitset_size_in_bits
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_bits(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 911
    functionName: roaring::api::bitset_size_in_words
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_words(const bitset_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_grow
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 939
    functionName: roaring::api::bitset_set
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - bitset_grow
    linkageType: ''
    returnType: void
    signature: void bitset_set(bitset_t *bitset, size_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_grow
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bitset
    - i
    - flag
    argTypes:
    - bitset_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 956
    functionName: roaring::api::bitset_set_to_value
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - bitset_grow
    linkageType: ''
    returnType: void
    signature: void bitset_set_to_value(bitset_t *bitset, size_t i, bool flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: roaring::api::bitset_get
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_get(const bitset_t *bitset, size_t i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1043,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1056
    functionName: roaring::api::bitset_next_set_bit
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 1
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: bool
    signature: bool bitset_next_set_bit(const bitset_t *bitset, size_t *i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1076,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1082,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - bitset
    - buffer
    - capacity
    - startfrom
    argTypes:
    - bitset_t*
    - size_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1099
    functionName: roaring::api::bitset_next_set_bits
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - UINT64_C
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_next_set_bits(const bitset_t *bitset, size_t *buffer,\n
      \                                  size_t capacity, size_t *startfrom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1111,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - b
    - iterator
    - ptr
    argTypes:
    - bitset_t*
    - bitset_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1118
    functionName: roaring::api::bitset_for_each
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool bitset_for_each(const bitset_t *b, bitset_iterator iterator,\n
      \                           void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1121,1
    - Dst: roaring::api::bitset_next_set_bit
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1122,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1123,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1126
    functionName: roaring::api::bitset_print
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - printf
    - roaring::api::bitset_next_set_bit
    linkageType: ''
    returnType: void
    signature: void bitset_print(const bitset_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: roaring::api::bitset_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_bytes(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 906
    functionName: roaring::api::bitset_size_in_bits
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_bits(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 911
    functionName: roaring::api::bitset_size_in_words
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_words(const bitset_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_grow
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 939
    functionName: roaring::api::bitset_set
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - bitset_grow
    linkageType: ''
    returnType: void
    signature: void bitset_set(bitset_t *bitset, size_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_grow
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bitset
    - i
    - flag
    argTypes:
    - bitset_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 956
    functionName: roaring::api::bitset_set_to_value
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - bitset_grow
    linkageType: ''
    returnType: void
    signature: void bitset_set_to_value(bitset_t *bitset, size_t i, bool flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: roaring::api::bitset_get
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_get(const bitset_t *bitset, size_t i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1043,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1056
    functionName: roaring::api::bitset_next_set_bit
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 2
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: bool
    signature: bool bitset_next_set_bit(const bitset_t *bitset, size_t *i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1076,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1082,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - bitset
    - buffer
    - capacity
    - startfrom
    argTypes:
    - bitset_t*
    - size_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1099
    functionName: roaring::api::bitset_next_set_bits
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - UINT64_C
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_next_set_bits(const bitset_t *bitset, size_t *buffer,\n
      \                                  size_t capacity, size_t *startfrom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1111,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - b
    - iterator
    - ptr
    argTypes:
    - bitset_t*
    - bitset_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1118
    functionName: roaring::api::bitset_for_each
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool bitset_for_each(const bitset_t *b, bitset_iterator iterator,\n
      \                           void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1121,1
    - Dst: roaring::api::bitset_next_set_bit
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1122,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1123,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1126
    functionName: roaring::api::bitset_print
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - printf
    - roaring::api::bitset_next_set_bit
    linkageType: ''
    returnType: void
    signature: void bitset_print(const bitset_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: roaring::api::bitset_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_bytes(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 906
    functionName: roaring::api::bitset_size_in_bits
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_bits(const bitset_t *bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitset
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 911
    functionName: roaring::api::bitset_size_in_words
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t bitset_size_in_words(const bitset_t *bitset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_grow
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 939
    functionName: roaring::api::bitset_set
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - bitset_grow
    linkageType: ''
    returnType: void
    signature: void bitset_set(bitset_t *bitset, size_t i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitset_grow
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bitset
    - i
    - flag
    argTypes:
    - bitset_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 956
    functionName: roaring::api::bitset_set_to_value
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - bitset_grow
    linkageType: ''
    returnType: void
    signature: void bitset_set_to_value(bitset_t *bitset, size_t i, bool flag)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: roaring::api::bitset_get
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bitset_get(const bitset_t *bitset, size_t i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1043,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - bitset
    - i
    argTypes:
    - bitset_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1056
    functionName: roaring::api::bitset_next_set_bit
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 3
    functionsReached:
    - roaring_trailing_zeroes
    linkageType: ''
    returnType: bool
    signature: bool bitset_next_set_bit(const bitset_t *bitset, size_t *i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1076,1
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1082,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - bitset
    - buffer
    - capacity
    - startfrom
    argTypes:
    - bitset_t*
    - size_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1099
    functionName: roaring::api::bitset_next_set_bits
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - UINT64_C
    linkageType: ''
    returnType: size_t
    signature: "size_t bitset_next_set_bits(const bitset_t *bitset, size_t *buffer,\n
      \                                  size_t capacity, size_t *startfrom)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring_trailing_zeroes
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1111,1
    - Dst: iterator
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - b
    - iterator
    - ptr
    argTypes:
    - bitset_t*
    - bitset_iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1118
    functionName: roaring::api::bitset_for_each
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_trailing_zeroes
    - iterator
    linkageType: ''
    returnType: bool
    signature: "bool bitset_for_each(const bitset_t *b, bitset_iterator iterator,\n
      \                           void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1121,1
    - Dst: roaring::api::bitset_next_set_bit
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1122,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1123,1
    - Dst: printf
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - bitset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1126
    functionName: roaring::api::bitset_print
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - printf
    - roaring::api::bitset_next_set_bit
    linkageType: ''
    returnType: void
    signature: void bitset_print(const bitset_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: roaring::api::roaring_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 84
    functionsReached:
    - roaring::api::roaring_bitmap_create_with_capacity
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1192
    functionName: roaring::api::roaring_bitmap_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_init_with_capacity
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_init_cleared(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    functionName: roaring::api::roaring_bitmap_get_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_get_copy_on_write(const roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - cow
    argTypes:
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1226
    functionName: roaring::api::roaring_bitmap_set_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_set_copy_on_write(roaring_bitmap_t *r, bool cow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1269
    functionName: roaring_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: roaring_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring_bitmap_from(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1539
    functionName: roaring::api::roaring_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range(roaring_bitmap_t *r, uint64_t min,\n
      \                                    uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1561
    functionName: roaring::api::roaring_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range(roaring_bitmap_t *r, uint64_t min,\n
      \                                       uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2198
    functionDepth: 1
    functionLinenumber: 2198
    functionLinenumberEnd: 2201
    functionName: roaring::api::roaring_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached:
    - roaring::api::roaring_iterator_init
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_init_iterator(\n    const roaring_bitmap_t
      *r, roaring_uint32_iterator_t *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init_last
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2212
    functionDepth: 1
    functionLinenumber: 2212
    functionLinenumberEnd: 2215
    functionName: roaring::api::roaring_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init_last
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_init_iterator_last(\n    const roaring_bitmap_t
      *r, roaring_uint32_iterator_t *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_create
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2228
    functionDepth: 2
    functionLinenumber: 2228
    functionLinenumberEnd: 2231
    functionName: 'roaring_uint32_iterator_t *

      roaring_create_iterator(const roaring_bitmap_t *r)'
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_create
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: 'CROARING_DEPRECATED roaring_uint32_iterator_t *

      roaring_create_iterator(const roaring_bitmap_t *r)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_advance
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2245
    functionDepth: 1
    functionLinenumber: 2245
    functionLinenumberEnd: 2248
    functionName: roaring::api::roaring_advance_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_advance
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_advance_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_previous
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2262
    functionDepth: 1
    functionLinenumber: 2262
    functionLinenumberEnd: 2265
    functionName: roaring::api::roaring_previous_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_previous
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_previous_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2276
    functionDepth: 1
    functionLinenumber: 2276
    functionLinenumberEnd: 2280
    functionName: roaring::api::roaring_move_uint32_iterator_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached:
    - roaring::api::roaring_uint32_iterator_move_equalorlarger
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_move_uint32_iterator_equalorlarger(roaring_uint32_iterator_t
      *it,\n                                           uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_copy
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2290
    functionDepth: 1
    functionLinenumber: 2290
    functionLinenumberEnd: 2293
    functionName: 'roaring_uint32_iterator_t *

      roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_copy
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: 'CROARING_DEPRECATED roaring_uint32_iterator_t *

      roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_free
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2304
    functionName: roaring::api::roaring_free_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_free
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_free_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_read
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2321
    functionDepth: 1
    functionLinenumber: 2321
    functionLinenumberEnd: 2324
    functionName: roaring::api::roaring_read_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_read
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_read_uint32_iterator(\n    roaring_uint32_iterator_t
      *it, uint32_t *buf, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: roaring::api::roaring_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 84
    functionsReached:
    - roaring::api::roaring_bitmap_create_with_capacity
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1192
    functionName: roaring::api::roaring_bitmap_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_init_with_capacity
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_init_cleared(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    functionName: roaring::api::roaring_bitmap_get_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_get_copy_on_write(const roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - cow
    argTypes:
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1226
    functionName: roaring::api::roaring_bitmap_set_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_set_copy_on_write(roaring_bitmap_t *r, bool cow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1269
    functionName: roaring_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: roaring_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring_bitmap_from(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1539
    functionName: roaring::api::roaring_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range(roaring_bitmap_t *r, uint64_t min,\n
      \                                    uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1561
    functionName: roaring::api::roaring_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range(roaring_bitmap_t *r, uint64_t min,\n
      \                                       uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2198
    functionDepth: 1
    functionLinenumber: 2198
    functionLinenumberEnd: 2201
    functionName: roaring::api::roaring_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached:
    - roaring::api::roaring_iterator_init
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_init_iterator(\n    const roaring_bitmap_t
      *r, roaring_uint32_iterator_t *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init_last
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2212
    functionDepth: 1
    functionLinenumber: 2212
    functionLinenumberEnd: 2215
    functionName: roaring::api::roaring_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init_last
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_init_iterator_last(\n    const roaring_bitmap_t
      *r, roaring_uint32_iterator_t *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_iterator_create
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2231
    functionName: 'roaring_uint32_iterator_t *

      roaring_create_iterator(const roaring_bitmap_t *r)'
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_iterator_create
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: 'CROARING_DEPRECATED roaring_uint32_iterator_t *

      roaring_create_iterator(const roaring_bitmap_t *r)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_advance
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2245
    functionDepth: 1
    functionLinenumber: 2245
    functionLinenumberEnd: 2248
    functionName: roaring::api::roaring_advance_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_advance
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_advance_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_previous
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2262
    functionDepth: 1
    functionLinenumber: 2262
    functionLinenumberEnd: 2265
    functionName: roaring::api::roaring_previous_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_previous
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_previous_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2276
    functionDepth: 1
    functionLinenumber: 2276
    functionLinenumberEnd: 2280
    functionName: roaring::api::roaring_move_uint32_iterator_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached:
    - roaring::api::roaring_uint32_iterator_move_equalorlarger
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_move_uint32_iterator_equalorlarger(roaring_uint32_iterator_t
      *it,\n                                           uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_uint32_iterator_copy
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2293
    functionName: 'roaring_uint32_iterator_t *

      roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_uint32_iterator_copy
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: 'CROARING_DEPRECATED roaring_uint32_iterator_t *

      roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_free
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2304
    functionName: roaring::api::roaring_free_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_free
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_free_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_read
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2321
    functionDepth: 1
    functionLinenumber: 2321
    functionLinenumberEnd: 2324
    functionName: roaring::api::roaring_read_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_read
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_read_uint32_iterator(\n    roaring_uint32_iterator_t
      *it, uint32_t *buf, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: roaring::api::roaring_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 84
    functionsReached:
    - roaring::api::roaring_bitmap_create_with_capacity
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1192
    functionName: roaring::api::roaring_bitmap_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_init_with_capacity
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_init_cleared(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    functionName: roaring::api::roaring_bitmap_get_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_get_copy_on_write(const roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - cow
    argTypes:
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1226
    functionName: roaring::api::roaring_bitmap_set_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_set_copy_on_write(roaring_bitmap_t *r, bool cow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1269
    functionName: roaring_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: roaring_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring_bitmap_from(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1539
    functionName: roaring::api::roaring_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range(roaring_bitmap_t *r, uint64_t min,\n
      \                                    uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1561
    functionName: roaring::api::roaring_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range(roaring_bitmap_t *r, uint64_t min,\n
      \                                       uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2198
    functionDepth: 1
    functionLinenumber: 2198
    functionLinenumberEnd: 2201
    functionName: roaring::api::roaring_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached:
    - roaring::api::roaring_iterator_init
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_init_iterator(\n    const roaring_bitmap_t
      *r, roaring_uint32_iterator_t *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init_last
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2212
    functionDepth: 1
    functionLinenumber: 2212
    functionLinenumberEnd: 2215
    functionName: roaring::api::roaring_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init_last
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_init_iterator_last(\n    const roaring_bitmap_t
      *r, roaring_uint32_iterator_t *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_iterator_create
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2231
    functionName: 'roaring_uint32_iterator_t *

      roaring_create_iterator(const roaring_bitmap_t *r)'
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_iterator_create
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: 'CROARING_DEPRECATED roaring_uint32_iterator_t *

      roaring_create_iterator(const roaring_bitmap_t *r)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_advance
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2245
    functionDepth: 1
    functionLinenumber: 2245
    functionLinenumberEnd: 2248
    functionName: roaring::api::roaring_advance_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_advance
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_advance_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_previous
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2262
    functionDepth: 1
    functionLinenumber: 2262
    functionLinenumberEnd: 2265
    functionName: roaring::api::roaring_previous_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_previous
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_previous_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2276
    functionDepth: 1
    functionLinenumber: 2276
    functionLinenumberEnd: 2280
    functionName: roaring::api::roaring_move_uint32_iterator_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached:
    - roaring::api::roaring_uint32_iterator_move_equalorlarger
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_move_uint32_iterator_equalorlarger(roaring_uint32_iterator_t
      *it,\n                                           uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_uint32_iterator_copy
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2293
    functionName: 'roaring_uint32_iterator_t *

      roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_uint32_iterator_copy
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: 'CROARING_DEPRECATED roaring_uint32_iterator_t *

      roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_free
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2304
    functionName: roaring::api::roaring_free_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_free
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_free_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_read
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2321
    functionDepth: 1
    functionLinenumber: 2321
    functionLinenumberEnd: 2324
    functionName: roaring::api::roaring_read_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_read
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_read_uint32_iterator(\n    roaring_uint32_iterator_t
      *it, uint32_t *buf, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: roaring::api::roaring_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 84
    functionsReached:
    - roaring::api::roaring_bitmap_create_with_capacity
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1192
    functionName: roaring::api::roaring_bitmap_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_init_with_capacity
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_init_cleared(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    functionName: roaring::api::roaring_bitmap_get_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_get_copy_on_write(const roaring_bitmap_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - cow
    argTypes:
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1226
    functionName: roaring::api::roaring_bitmap_set_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_set_copy_on_write(roaring_bitmap_t *r, bool cow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1269
    functionName: roaring_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: roaring_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring_bitmap_from(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1539
    functionName: roaring::api::roaring_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range(roaring_bitmap_t *r, uint64_t min,\n
      \                                    uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:1560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1561
    functionName: roaring::api::roaring_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range(roaring_bitmap_t *r, uint64_t min,\n
      \                                       uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2198
    functionDepth: 1
    functionLinenumber: 2198
    functionLinenumberEnd: 2201
    functionName: roaring::api::roaring_init_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 8
    functionsReached:
    - roaring::api::roaring_iterator_init
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_init_iterator(\n    const roaring_bitmap_t
      *r, roaring_uint32_iterator_t *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_iterator_init_last
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - r
    - newit
    argTypes:
    - roaring_bitmap_t*
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2212
    functionDepth: 1
    functionLinenumber: 2212
    functionLinenumberEnd: 2215
    functionName: roaring::api::roaring_init_iterator_last
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_iterator_init_last
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_init_iterator_last(\n    const roaring_bitmap_t
      *r, roaring_uint32_iterator_t *newit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_iterator_create
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2231
    functionName: 'roaring_uint32_iterator_t *

      roaring_create_iterator(const roaring_bitmap_t *r)'
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_iterator_create
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: 'CROARING_DEPRECATED roaring_uint32_iterator_t *

      roaring_create_iterator(const roaring_bitmap_t *r)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_advance
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2245
    functionDepth: 1
    functionLinenumber: 2245
    functionLinenumberEnd: 2248
    functionName: roaring::api::roaring_advance_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_advance
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_advance_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_previous
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2262
    functionDepth: 1
    functionLinenumber: 2262
    functionLinenumberEnd: 2265
    functionName: roaring::api::roaring_previous_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_previous
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_previous_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_move_equalorlarger
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - it
    - val
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2276
    functionDepth: 1
    functionLinenumber: 2276
    functionLinenumberEnd: 2280
    functionName: roaring::api::roaring_move_uint32_iterator_equalorlarger
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 4
    functionsReached:
    - roaring::api::roaring_uint32_iterator_move_equalorlarger
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_move_uint32_iterator_equalorlarger(roaring_uint32_iterator_t
      *it,\n                                           uint32_t val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring_uint32_iterator_copy
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2290
    functionDepth: 0
    functionLinenumber: 2290
    functionLinenumberEnd: 2293
    functionName: 'roaring_uint32_iterator_t *

      roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring_uint32_iterator_copy
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: 'CROARING_DEPRECATED roaring_uint32_iterator_t *

      roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_free
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - roaring_uint32_iterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2304
    functionName: roaring::api::roaring_free_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_free
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_free_uint32_iterator(\n    roaring_uint32_iterator_t
      *it)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_uint32_iterator_read
      Src: /src/ndpi/src/lib/third_party/include/roaring.h:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - it
    - buf
    - count
    argTypes:
    - roaring_uint32_iterator_t*
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2321
    functionDepth: 1
    functionLinenumber: 2321
    functionLinenumberEnd: 2324
    functionName: roaring::api::roaring_read_uint32_iterator
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_uint32_iterator_read
    linkageType: ''
    returnType: CROARING_DEPRECATED
    signature: "CROARING_DEPRECATED roaring_read_uint32_iterator(\n    roaring_uint32_iterator_t
      *it, uint32_t *buf, uint32_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2471
    functionName: roaring64_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring64_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2488
    functionName: roaring64_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring64_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2471
    functionName: roaring64_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring64_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2488
    functionName: roaring64_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring64_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2471
    functionName: roaring64_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring64_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2488
    functionName: roaring64_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring64_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2471
    functionName: roaring64_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring64_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2488
    functionName: roaring64_bitmap_from
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roaring64_bitmap_from(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: roaring::api::roaring_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 84
    functionsReached:
    - roaring::api::roaring_bitmap_create_with_capacity
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: roaring::api::roaring_bitmap_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_init_with_capacity
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_init_cleared(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: roaring::api::roaring_bitmap_get_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_get_copy_on_write(const roaring_bitmap_t* r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - cow
    argTypes:
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: roaring::api::roaring_bitmap_set_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_set_copy_on_write(roaring_bitmap_t* r,\n                                                    bool
      cow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: roaring::api::roaring_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range(roaring_bitmap_t *r,\n                                            uint64_t
      min, uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: roaring::api::roaring_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range(roaring_bitmap_t *r,\n                                               uint64_t
      min, uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: roaring::api::roaring_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 84
    functionsReached:
    - roaring::api::roaring_bitmap_create_with_capacity
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: roaring::api::roaring_bitmap_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_init_with_capacity
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_init_cleared(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: roaring::api::roaring_bitmap_get_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_get_copy_on_write(const roaring_bitmap_t* r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - cow
    argTypes:
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: roaring::api::roaring_bitmap_set_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_set_copy_on_write(roaring_bitmap_t* r,\n                                                    bool
      cow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: roaring::api::roaring_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range(roaring_bitmap_t *r,\n                                            uint64_t
      min, uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: roaring::api::roaring_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range(roaring_bitmap_t *r,\n                                               uint64_t
      min, uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: roaring::api::roaring_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 84
    functionsReached:
    - roaring::api::roaring_bitmap_create_with_capacity
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: roaring::api::roaring_bitmap_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_init_with_capacity
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_init_cleared(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: roaring::api::roaring_bitmap_get_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_get_copy_on_write(const roaring_bitmap_t* r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - cow
    argTypes:
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: roaring::api::roaring_bitmap_set_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_set_copy_on_write(roaring_bitmap_t* r,\n                                                    bool
      cow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: roaring::api::roaring_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range(roaring_bitmap_t *r,\n                                            uint64_t
      min, uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: roaring::api::roaring_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range(roaring_bitmap_t *r,\n                                               uint64_t
      min, uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_create_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: roaring::api::roaring_bitmap_create
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 84
    functionsReached:
    - roaring::api::roaring_bitmap_create_with_capacity
    linkageType: ''
    returnType: roaring_bitmap_t
    signature: roaring_bitmap_t *roaring_bitmap_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_init_with_capacity
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: roaring::api::roaring_bitmap_init_cleared
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_init_with_capacity
    linkageType: ''
    returnType: void
    signature: void roaring_bitmap_init_cleared(roaring_bitmap_t *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - roaring_bitmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: roaring::api::roaring_bitmap_get_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool roaring_bitmap_get_copy_on_write(const roaring_bitmap_t* r)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - cow
    argTypes:
    - roaring_bitmap_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: roaring::api::roaring_bitmap_set_copy_on_write
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_set_copy_on_write(roaring_bitmap_t* r,\n                                                    bool
      cow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_add_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: roaring::api::roaring_bitmap_add_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_add_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_add_range(roaring_bitmap_t *r,\n                                            uint64_t
      min, uint64_t max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roaring::api::roaring_bitmap_remove_range_closed
      Src: /src/ndpi/src/lib/third_party/include/roaring_v2.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - min
    - max
    argTypes:
    - roaring_bitmap_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: roaring::api::roaring_bitmap_remove_range
    functionSourceFile: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    functionUses: 0
    functionsReached:
    - roaring::api::roaring_bitmap_remove_range_closed
    linkageType: ''
    returnType: void
    signature: "void roaring_bitmap_remove_range(roaring_bitmap_t *r,\n                                               uint64_t
      min, uint64_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: secure_memzero
    functionSourceFile: /src/ndpi/src/lib/third_party/include/secure_memzero.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: secure_memzero(ptr,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: secure_memzero
    functionSourceFile: /src/ndpi/src/lib/third_party/include/secure_memzero.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: secure_memzero(ptr,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: secure_memzero
    functionSourceFile: /src/ndpi/src/lib/third_party/include/secure_memzero.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: secure_memzero(ptr,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: secure_memzero
    functionSourceFile: /src/ndpi/src/lib/third_party/include/secure_memzero.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void secure_memzero(void * ptr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _smz_memset_fptr
      Src: /src/ndpi/src/lib/third_party/include/secure_memzero.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: secure_memzero
    functionSourceFile: /src/ndpi/src/lib/third_party/include/secure_memzero.h
    functionUses: 1
    functionsReached:
    - _smz_memset_fptr
    linkageType: ''
    returnType: void
    signature: void secure_memzero(void * ptr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: DECLTYPE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: DECLTYPE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: DECLTYPE_ASSIGN
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE_ASSIGN(dst,src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: DECLTYPE_ASSIGN
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE_ASSIGN(dst,src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: uthash_malloc
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_malloc(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: uthash_free
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_free(ptr,sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: uthash_bzero
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_bzero(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: uthash_strlen
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_strlen(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - keyptr
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: HASH_FUNCTION
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FUNCTION(keyptr,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: HASH_KEYCMP
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_KEYCMP(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: uthash_nonfatal_oom
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_nonfatal_oom(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: HASH_RECORD_OOM
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_RECORD_OOM(oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: IF_HASH_NONFATAL_OOM
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_HASH_NONFATAL_OOM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: uthash_fatal
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_fatal(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: HASH_RECORD_OOM
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_RECORD_OOM(oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hhp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: ELMT_FROM_HH
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELMT_FROM_HH(tbl,hhp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - elp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: HH_FROM_ELMT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HH_FROM_ELMT(tbl,elp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - itemptrhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: HASH_ROLLBACK_BKT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ROLLBACK_BKT(hh, head, itemptrhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - keyptr
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: HASH_VALUE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_VALUE(keyptr,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen
    - ','
    - hashval
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: HASH_FIND_BYHASHVALUE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_BYHASHVALUE(hh,head,keyptr,keylen,hashval,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: HASH_FIND
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND(hh,head,keyptr,keylen,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: HASH_BLOOM_MAKE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_MAKE(tbl,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: HASH_BLOOM_FREE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_FREE(tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bv
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: HASH_BLOOM_BITSET
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_BITSET(bv,idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bv
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: HASH_BLOOM_BITTEST
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_BITTEST(bv,idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: HASH_BLOOM_ADD
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_ADD(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: HASH_BLOOM_TEST
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_TEST(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: HASH_BLOOM_TEST
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_TEST(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 244
    functionName: HASH_MAKE_TABLE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MAKE_TABLE(hh,head,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - replaced
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: HASH_REPLACE_BYHASHVALUE_INORDER
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,replaced,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: HASH_REPLACE_BYHASHVALUE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: HASH_REPLACE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - replaced
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: HASH_REPLACE_INORDER
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_INORDER(hh,head,fieldname,keylen_in,add,replaced,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: HASH_APPEND_LIST
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_APPEND_LIST(hh, head, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: HASH_AKBI_INNER_LOOP
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: HASH_AKBI_INNER_LOOP
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 335
    functionName: HASH_ADD_TO_TABLE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: HASH_ADD_TO_TABLE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 383
    functionName: HASH_ADD_KEYPTR_BYHASHVALUE_INORDER
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh,head,keyptr,keylen_in,hashval,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: HASH_ADD_KEYPTR_INORDER
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_INORDER(hh,head,keyptr,keylen_in,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: HASH_ADD_BYHASHVALUE_INORDER
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: HASH_ADD_INORDER
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_INORDER(hh,head,fieldname,keylen_in,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 417
    functionName: HASH_ADD_KEYPTR_BYHASHVALUE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_BYHASHVALUE(hh,head,keyptr,keylen_in,hashval,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: HASH_ADD_KEYPTR
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: HASH_ADD_BYHASHVALUE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: HASH_ADD
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD(hh,head,fieldname,keylen_in,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hashv
    - ','
    - num_bkts
    - ','
    - bkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: HASH_TO_BKT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_TO_BKT(hashv,num_bkts,bkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - delptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: HASH_DELETE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DELETE(hh,head,delptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - delptrhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 479
    functionName: HASH_DELETE_HH
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DELETE_HH(hh,head,delptrhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findstr
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: HASH_FIND_STR
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_STR(head,findstr,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - strfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: HASH_ADD_STR
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_STR(head,strfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - strfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 496
    functionName: HASH_REPLACE_STR
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_STR(head,strfield,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findint
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: HASH_FIND_INT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_INT(head,findint,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - intfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: HASH_ADD_INT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_INT(head,intfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - intfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 502
    functionName: HASH_REPLACE_INT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_INT(head,intfield,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findptr
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 504
    functionName: HASH_FIND_PTR
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_PTR(head,findptr,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - ptrfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: HASH_ADD_PTR
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_PTR(head,ptrfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - ptrfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: HASH_REPLACE_PTR
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_PTR(head,ptrfield,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - delptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: HASH_DEL
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DEL(head,delptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 517
    functionName: HASH_OOPS
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OOPS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - where
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 565
    functionName: HASH_FSCK
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FSCK(hh,head,where)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - fieldlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: HASH_EMIT_KEY
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_EMIT_KEY(hh,head,keyptr,fieldlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 593
    functionName: HASH_BER
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BER(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 608
    functionName: HASH_SAX
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SAX(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 619
    functionName: HASH_FNV
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FNV(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 634
    functionName: HASH_OAT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OAT(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 647
    functionName: HASH_JEN_MIX
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_JEN_MIX(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 673
    functionName: HASH_JEN
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_JEN(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 694
    functionName: get16bits
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get16bits(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 699
    functionName: get16bits
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get16bits(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 709
    functionName: HASH_SFH
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SFH(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - tbl
    - ','
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 766
    functionName: HASH_FIND_IN_BKT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,hashval,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - hh
    - ','
    - addhh
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 788
    functionName: HASH_ADD_TO_BKT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_BKT(head,hh,addhh,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - delhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 804
    functionName: HASH_DEL_IN_BKT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DEL_IN_BKT(head,delhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - tbl
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 885
    functionName: HASH_EXPAND_BUCKETS
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_EXPAND_BUCKETS(hh,tbl,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 891
    functionName: HASH_SORT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SORT(head,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 974
    functionName: HASH_SRT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SRT(hh,head,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh_dst
    - ','
    - dst
    - ','
    - hh_src
    - ','
    - src
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1037
    functionName: HASH_SELECT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SELECT(hh_dst, dst, hh_src, src, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1048
    functionName: HASH_CLEAR
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_CLEAR(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1055
    functionName: HASH_OVERHEAD
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OVERHEAD(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1060
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ITER(hh,head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1064
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ITER(hh,head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1068
    functionName: HASH_COUNT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_COUNT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1069
    functionName: HASH_CNT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_CNT(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - prefix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: ndpi_prefix_touchar
    functionSourceFile: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ndpi_prefix_touchar(prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: BIT_TEST
    functionSourceFile: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT_TEST(f, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: PATRICIA_NBIT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PATRICIA_NBIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: PATRICIA_NBYTE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PATRICIA_NBYTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - node
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: PATRICIA_DATA_GET
    functionSourceFile: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PATRICIA_DATA_GET(node, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - node
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: PATRICIA_DATA_SET
    functionSourceFile: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PATRICIA_DATA_SET(node, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Xhead
    - ','
    - Xnode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: PATRICIA_WALK
    functionSourceFile: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PATRICIA_WALK(Xhead, Xnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Xhead
    - ','
    - Xnode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: PATRICIA_WALK_ALL
    functionSourceFile: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PATRICIA_WALK_ALL(Xhead, Xnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:22,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: binary_fuse_murmur64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t binary_fuse_murmur64(uint64_t h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_murmur64
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - seed
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: binary_fuse_mix_split
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - binary_fuse_murmur64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t binary_fuse_mix_split(uint64_t key, uint64_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _rotr64
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - c
    argTypes:
    - uint64_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: binary_fuse_rotl64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - _rotr64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t binary_fuse_rotl64(uint64_t n, unsigned int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - n
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: binary_fuse_reduce
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t binary_fuse_reduce(uint32_t hash, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: binary_fuse8_fingerprint
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t binary_fuse8_fingerprint(uint64_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:52,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:53,1
    - Dst: UINT64_C
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: binary_fuse_rng_splitmix64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - UINT64_C
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t binary_fuse_rng_splitmix64(uint64_t *seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: binary_fuse_mulhi
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t binary_fuse_mulhi(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __umulh
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: binary_fuse_mulhi
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - __umulh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t binary_fuse_mulhi(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _umul128
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: binary_fuse_mulhi
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - _umul128
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t binary_fuse_mulhi(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 134
    functionName: binary_fuse_mulhi
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t binary_fuse_mulhi(uint64_t a, uint64_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_mulhi
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - hash
    - filter
    argTypes:
    - uint64_t
    - binary_fuse8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: binary_fuse8_hash_batch
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - binary_fuse_mulhi
    linkageType: ''
    returnType: binary_hashes_t
    signature: "binary_hashes_t binary_fuse8_hash_batch(uint64_t hash,\n                                        const
      binary_fuse8_t *filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_mulhi
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - index
    - hash
    - filter
    argTypes:
    - int
    - uint64_t
    - binary_fuse8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: binary_fuse8_hash
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - binary_fuse_mulhi
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t binary_fuse8_hash(int index, uint64_t hash,\n                                        const
      binary_fuse8_t *filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_mix_split
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:169,1
    - Dst: binary_fuse8_fingerprint
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:170,1
    - Dst: binary_fuse8_hash_batch
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - filter
    argTypes:
    - uint64_t
    - binary_fuse8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: binary_fuse8_contain
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - binary_fuse_mix_split
    - binary_fuse8_fingerprint
    - binary_fuse8_hash_batch
    linkageType: ''
    returnType: bool
    signature: "bool binary_fuse8_contain(uint64_t key,\n                                        const
      binary_fuse8_t *filter)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:182,1
    - Dst: log
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:182,1
    - Dst: log
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:182,1
    - Dst: floor
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:184,1
    - Dst: log
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:184,1
    - Dst: log
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - arity
    - size
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: binary_fuse_calculate_segment_length
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - log
    - floor
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t binary_fuse_calculate_segment_length(uint32_t arity,\n                                                             uint32_t
      size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: binary_fuse_max
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double binary_fuse_max(double a, double b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_max
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:200,1
    - Dst: log
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:200,1
    - Dst: log
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:200,1
    - Dst: binary_fuse_max
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:202,1
    - Dst: log
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:202,1
    - Dst: log
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - arity
    - size
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: binary_fuse_calculate_size_factor
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - log
    - binary_fuse_max
    linkageType: ''
    returnType: double
    signature: "double binary_fuse_calculate_size_factor(uint32_t arity,\n                                                        uint32_t
      size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_calculate_segment_length
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:214,1
    - Dst: binary_fuse_calculate_size_factor
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:219,1
    - Dst: round
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:220,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - size
    - filter
    argTypes:
    - uint32_t
    - binary_fuse8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 237
    functionName: binary_fuse8_allocate
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - round
    - binary_fuse_calculate_size_factor
    - ndpi_malloc
    - binary_fuse_calculate_segment_length
    linkageType: ''
    returnType: bool
    signature: "bool binary_fuse8_allocate(uint32_t size,\n                                         binary_fuse8_t
      *filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - binary_fuse8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: binary_fuse8_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t binary_fuse8_size_in_bytes(const binary_fuse8_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - binary_fuse8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: binary_fuse8_free
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void binary_fuse8_free(binary_fuse8_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: binary_fuse_mod3
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t binary_fuse_mod3(uint8_t x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_rng_splitmix64
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:268,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:269,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:271,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:272,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:273,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:274,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:281,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:286,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:287,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:288,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:289,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:290,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:291,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:302,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:303,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:304,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:305,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:306,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:307,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:308,1
    - Dst: binary_fuse_murmur64
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:321,1
    - Dst: binary_fuse8_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:334,1
    - Dst: binary_fuse8_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:337,1
    - Dst: binary_fuse8_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:341,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:365,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:366,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:367,1
    - Dst: binary_fuse_rng_splitmix64
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:368,1
    - Dst: binary_fuse8_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:387,1
    - Dst: binary_fuse8_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:388,1
    - Dst: binary_fuse8_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:389,1
    - Dst: binary_fuse_mod3
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:400,1
    - Dst: binary_fuse_mod3
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:407,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:416,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:417,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:418,1
    - Dst: binary_fuse_rng_splitmix64
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:419,1
    - Dst: binary_fuse8_fingerprint
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:426,1
    - Dst: binary_fuse8_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:428,1
    - Dst: binary_fuse8_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:429,1
    - Dst: binary_fuse8_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:430,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:437,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:438,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:439,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:440,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:441,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:442,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 120
    argCount: 3
    argNames:
    - keys
    - size
    - filter
    argTypes:
    - uint64_t*
    - uint32_t
    - binary_fuse8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 444
    functionName: binary_fuse8_populate
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - binary_fuse8_fingerprint
    - binary_fuse_murmur64
    - binary_fuse_mod3
    - binary_fuse8_hash
    - ndpi_malloc
    - binary_fuse_rng_splitmix64
    - ndpi_free
    - memset
    - ndpi_calloc
    linkageType: ''
    returnType: bool
    signature: "bool binary_fuse8_populate(const uint64_t *keys, uint32_t size,\n
      \                          binary_fuse8_t *filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: binary_fuse16_fingerprint
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t binary_fuse16_fingerprint(uint64_t hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_mulhi
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - hash
    - filter
    argTypes:
    - uint64_t
    - binary_fuse16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 474
    functionName: binary_fuse16_hash_batch
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - binary_fuse_mulhi
    linkageType: ''
    returnType: binary_hashes_t
    signature: "binary_hashes_t binary_fuse16_hash_batch(uint64_t hash,\n                                        const
      binary_fuse16_t *filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_mulhi
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - index
    - hash
    - filter
    argTypes:
    - int
    - uint64_t
    - binary_fuse16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: binary_fuse16_hash
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 0
    functionsReached:
    - binary_fuse_mulhi
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t binary_fuse16_hash(int index, uint64_t hash,\n                                        const
      binary_fuse16_t *filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_mix_split
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:489,1
    - Dst: binary_fuse16_fingerprint
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:490,1
    - Dst: binary_fuse16_hash_batch
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - filter
    argTypes:
    - uint64_t
    - binary_fuse16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 495
    functionName: binary_fuse16_contain
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 1
    functionsReached:
    - binary_fuse_mix_split
    - binary_fuse16_fingerprint
    - binary_fuse16_hash_batch
    linkageType: ''
    returnType: bool
    signature: "bool binary_fuse16_contain(uint64_t key,\n                                        const
      binary_fuse16_t *filter)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_calculate_segment_length
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:504,1
    - Dst: binary_fuse_calculate_size_factor
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:509,1
    - Dst: round
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:510,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - size
    - filter
    argTypes:
    - uint32_t
    - binary_fuse16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 527
    functionName: binary_fuse16_allocate
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 1
    functionsReached:
    - round
    - binary_fuse_calculate_size_factor
    - ndpi_calloc
    - binary_fuse_calculate_segment_length
    linkageType: ''
    returnType: bool
    signature: "bool binary_fuse16_allocate(uint32_t size,\n                                         binary_fuse16_t
      *filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - binary_fuse16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: binary_fuse16_size_in_bytes
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t binary_fuse16_size_in_bytes(const binary_fuse16_t *filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - filter
    argTypes:
    - binary_fuse16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 544
    functionName: binary_fuse16_free
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 3
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void binary_fuse16_free(binary_fuse16_t *filter)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: binary_fuse_rng_splitmix64
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:555,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:556,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:558,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:559,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:560,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:561,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:568,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:573,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:574,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:575,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:576,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:577,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:578,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:589,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:590,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:591,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:592,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:593,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:594,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:595,1
    - Dst: binary_fuse_murmur64
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:608,1
    - Dst: binary_fuse16_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:621,1
    - Dst: binary_fuse16_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:624,1
    - Dst: binary_fuse16_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:628,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:652,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:653,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:654,1
    - Dst: binary_fuse_rng_splitmix64
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:655,1
    - Dst: binary_fuse16_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:674,1
    - Dst: binary_fuse16_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:675,1
    - Dst: binary_fuse16_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:676,1
    - Dst: binary_fuse_mod3
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:687,1
    - Dst: binary_fuse_mod3
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:694,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:703,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:704,1
    - Dst: memset
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:705,1
    - Dst: binary_fuse_rng_splitmix64
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:706,1
    - Dst: binary_fuse16_fingerprint
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:713,1
    - Dst: binary_fuse16_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:715,1
    - Dst: binary_fuse16_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:716,1
    - Dst: binary_fuse16_hash
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:717,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:724,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:725,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:726,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:727,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:728,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h:729,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 120
    argCount: 3
    argNames:
    - keys
    - size
    - filter
    argTypes:
    - uint64_t*
    - uint32_t
    - binary_fuse16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 731
    functionName: binary_fuse16_populate
    functionSourceFile: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    functionUses: 1
    functionsReached:
    - binary_fuse_murmur64
    - binary_fuse_mod3
    - ndpi_malloc
    - binary_fuse_rng_splitmix64
    - binary_fuse16_fingerprint
    - ndpi_free
    - memset
    - binary_fuse16_hash
    - ndpi_calloc
    linkageType: ''
    returnType: bool
    signature: "bool binary_fuse16_populate(const uint64_t *keys, uint32_t size,\n
      \                          binary_fuse16_t *filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: IFTODT
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFTODT(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: DTTOIF
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DTTOIF(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: S_ISFIFO
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISFIFO(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: S_ISDIR
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: S_ISREG
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: S_ISLNK
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISLNK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: S_ISSOCK
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISSOCK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: S_ISCHR
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISCHR(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: S_ISBLK
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISBLK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: _D_EXACT_NAMLEN
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _D_EXACT_NAMLEN(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: _D_ALLOC_NAMLEN
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _D_ALLOC_NAMLEN(p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dirent_set_errno
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:402,1
    - Dst: malloc
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:407,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:423,1
    - Dst: GetFullPathNameW
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:425,1
    - Dst: wcslen
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:428,1
    - Dst: malloc
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:432,1
    - Dst: WINAPI_FAMILY_PARTITION
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:444,1
    - Dst: GetFullPathNameW
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:446,1
    - Dst: wcsncpy_s
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:451,1
    - Dst: dirent_first
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:472,1
    - Dst: _wclosedir
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:480,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 482
    functionName: _wopendir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached:
    - GetFullPathNameW
    - wcsncpy_s
    - dirent_first
    - malloc
    - dirent_set_errno
    - wcslen
    - WINAPI_FAMILY_PARTITION
    - _wclosedir
    linkageType: ''
    returnType: _WDIR
    signature: '_WDIR *

      _wopendir(const wchar_t *dirname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wreaddir_r
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _WDIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 502
    functionName: _wreaddir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached:
    - _wreaddir_r
    linkageType: ''
    returnType: struct _wdirent
    signature: 'struct _wdirent *

      _wreaddir(_WDIR *dirp)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dirent_set_errno
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:516,1
    - Dst: dirent_next
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:522,1
    - Dst: dirent_next
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:556,1
    - Dst: dirent_hash
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:559,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - dirp
    - entry
    - result
    argTypes:
    - _WDIR*
    - struct _wdirent*
    - struct _wdirent**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 575
    functionName: _wreaddir_r
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 1
    functionsReached:
    - dirent_set_errno
    - dirent_hash
    - dirent_next
    linkageType: ''
    returnType: int
    signature: "int _wreaddir_r(\n\t_WDIR *dirp, struct _wdirent *entry, struct _wdirent
      **result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dirent_set_errno
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:586,1
    - Dst: FindClose
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:596,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:604,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _WDIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 609
    functionName: _wclosedir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 1
    functionsReached:
    - dirent_set_errno
    - FindClose
    - free
    linkageType: ''
    returnType: int
    signature: int _wclosedir(_WDIR *dirp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:622,1
    - Dst: dirent_first
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _WDIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 626
    functionName: _wrewinddir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached:
    - FindClose
    - dirent_first
    linkageType: ''
    returnType: void
    signature: void _wrewinddir(_WDIR* dirp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FindFirstFileExW
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:633,1
    - Dst: GetLastError
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:649,1
    - Dst: dirent_set_errno
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:653,1
    - Dst: dirent_set_errno
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:658,1
    - Dst: dirent_set_errno
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _WDIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 667
    functionName: dirent_first
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 2
    functionsReached:
    - GetLastError
    - dirent_set_errno
    - FindFirstFileExW
    linkageType: ''
    returnType: WIN32_FIND_DATAW
    signature: 'WIN32_FIND_DATAW *

      dirent_first(_WDIR *dirp)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindNextFileW
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _WDIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 692
    functionName: dirent_next
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 1
    functionsReached:
    - FindNextFileW
    linkageType: ''
    returnType: WIN32_FIND_DATAW
    signature: 'WIN32_FIND_DATAW *

      dirent_next(_WDIR *dirp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - datap
    argTypes:
    - WIN32_FIND_DATAW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 711
    functionName: dirent_hash
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long dirent_hash(WIN32_FIND_DATAW *datap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dirent_set_errno
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:718,1
    - Dst: malloc
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:723,1
    - Dst: mbstowcs_s
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:730,1
    - Dst: _wopendir
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:735,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:744,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 746
    functionName: opendir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 3
    functionsReached:
    - malloc
    - dirent_set_errno
    - free
    - _wopendir
    - mbstowcs_s
    linkageType: ''
    returnType: DIR
    signature: DIR *opendir(const char *dirname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: readdir_r
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 761
    functionName: readdir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 2
    functionsReached:
    - readdir_r
    linkageType: ''
    returnType: struct dirent
    signature: 'struct dirent *

      readdir(DIR *dirp)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dirent_next
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:774,1
    - Dst: wcstombs_s
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:783,1
    - Dst: wcstombs_s
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:797,1
    - Dst: dirent_next
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:818,1
    - Dst: dirent_hash
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:821,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - dirp
    - entry
    - result
    argTypes:
    - DIR*
    - struct dirent*
    - struct dirent**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 852
    functionName: readdir_r
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 2
    functionsReached:
    - dirent_hash
    - dirent_next
    - wcstombs_s
    linkageType: ''
    returnType: int
    signature: "int readdir_r(\n\tDIR *dirp, struct dirent *entry, struct dirent **result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _wclosedir
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:864,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:868,1
    - Dst: dirent_set_errno
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 875
    functionName: closedir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 4
    functionsReached:
    - dirent_set_errno
    - free
    - _wclosedir
    linkageType: ''
    returnType: int
    signature: int closedir(DIR *dirp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _wrewinddir
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 886
    functionName: rewinddir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 1
    functionsReached:
    - _wrewinddir
    linkageType: ''
    returnType: void
    signature: void rewinddir(DIR *dirp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dirent_set_errno
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:893,1
    - Dst: dirent_next
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:898,1
    - Dst: dirent_hash
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _WDIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 909
    functionName: _wtelldir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached:
    - dirent_set_errno
    - dirent_hash
    - dirent_next
    linkageType: ''
    returnType: long
    signature: long _wtelldir(_WDIR *dirp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dirent_set_errno
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:916,1
    - Dst: _wtelldir
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 921
    functionName: telldir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 1
    functionsReached:
    - dirent_set_errno
    - _wtelldir
    linkageType: ''
    returnType: long
    signature: long telldir(DIR *dirp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:939,1
    - Dst: dirent_first
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:940,1
    - Dst: dirent_next
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:956,1
    - Dst: dirent_hash
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:967,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - dirp
    - loc
    argTypes:
    - _WDIR*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 981
    functionName: _wseekdir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached:
    - FindClose
    - dirent_hash
    - dirent_first
    - dirent_next
    linkageType: ''
    returnType: void
    signature: void _wseekdir(_WDIR *dirp, long loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _wseekdir
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dirp
    - loc
    argTypes:
    - DIR*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 984
    functionDepth: 3
    functionLinenumber: 984
    functionLinenumberEnd: 991
    functionName: seekdir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 1
    functionsReached:
    - _wseekdir
    linkageType: ''
    returnType: void
    signature: void seekdir(DIR *dirp, long loc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1003,1
    - Dst: malloc
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1017,1
    - Dst: readdir_r
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1024,1
    - Dst: filter
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1032,1
    - Dst: realloc
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1041,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1058,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1062,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1072,1
    - Dst: free
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1085,1
    - Dst: closedir
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1088,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 2
    argNames:
    - dirname
    - namelist
    argTypes:
    - char*
    - struct dirent***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 994
    functionDepth: 3
    functionLinenumber: 994
    functionLinenumberEnd: 1090
    functionName: scandir
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached:
    - readdir_r
    - closedir
    - filter
    - opendir
    - malloc
    - free
    - realloc
    - qsort
    linkageType: ''
    returnType: int
    signature: "int scandir(\n\tconst char *dirname, struct dirent ***namelist,\n\tint
      (*filter)(const struct dirent*),\n\tint (*compare)(const struct dirent**, const
      struct dirent**))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcoll
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dirent**
    - struct dirent**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1097
    functionName: alphasort
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached:
    - strcoll
    linkageType: ''
    returnType: int
    signature: int alphasort(const struct dirent **a, const struct dirent **b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strverscmp
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dirent**
    - struct dirent**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1104
    functionName: versionsort
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached:
    - strverscmp
    linkageType: ''
    returnType: int
    signature: int versionsort(const struct dirent **a, const struct dirent **b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1124,1
    - Dst: isdigit
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1136,1
    - Dst: isdigit
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1137,1
    - Dst: isdigit
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1140,1
    - Dst: isdigit
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1143,1
    - Dst: isdigit
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1143,1
    - Dst: isdigit
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1149,1
    - Dst: isdigit
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1152,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1165
    functionName: strverscmp
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 1
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: int
    signature: int strverscmp(const char *a, const char *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbstowcs
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - pReturnValue
    - wcstr
    - sizeInWords
    - mbstr
    - count
    argTypes:
    - size_t*
    - wchar_t*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1193
    functionName: dirent_mbstowcs_s
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached:
    - mbstowcs
    linkageType: ''
    returnType: int
    signature: "int dirent_mbstowcs_s(\n\tsize_t *pReturnValue, wchar_t *wcstr,\n\tsize_t
      sizeInWords, const char *mbstr, size_t count)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wcstombs
      Src: /src/ndpi/src/lib/third_party/include/windows/dirent.h:1204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - pReturnValue
    - mbstr
    - sizeInBytes
    - wcstr
    - count
    argTypes:
    - size_t*
    - char*
    - size_t
    - wchar_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1223
    functionName: dirent_wcstombs_s
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 0
    functionsReached:
    - wcstombs
    linkageType: ''
    returnType: int
    signature: "int dirent_wcstombs_s(\n\tsize_t *pReturnValue, char *mbstr,\n\tsize_t
      sizeInBytes, const wchar_t *wcstr, size_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1233
    functionName: dirent_set_errno
    functionSourceFile: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dirent_set_errno(int error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: bswap_64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: bswap_64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: bswap_64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: bswap_64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: bswap_64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: bswap_64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: bswap_64
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: MBEDTLS_GET_UINT32_LE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_GET_UINT32_LE(b,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: MBEDTLS_GET_UINT32_BE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_GET_UINT32_BE(b,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - b
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: MBEDTLS_PUT_UINT32_LE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_PUT_UINT32_LE(n,b,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - b
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: MBEDTLS_PUT_UINT64_BE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_PUT_UINT64_BE(n,b,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: MBEDTLS_GET_UINT32_LE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_GET_UINT32_LE(b,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: MBEDTLS_GET_UINT32_BE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_GET_UINT32_BE(b,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - b
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: MBEDTLS_PUT_UINT32_LE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_PUT_UINT32_LE(n,b,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - b
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: MBEDTLS_PUT_UINT64_BE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_PUT_UINT64_BE(n,b,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: MBEDTLS_BYTE_0
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_BYTE_0( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: MBEDTLS_BYTE_1
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_BYTE_1( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: MBEDTLS_BYTE_2
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_BYTE_2( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: MBEDTLS_BYTE_3
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_BYTE_3( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: MBEDTLS_GET_UINT32_BE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_GET_UINT32_BE( data , offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: MBEDTLS_PUT_UINT32_BE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_PUT_UINT32_BE( n, data, offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: MBEDTLS_GET_UINT32_LE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_GET_UINT32_LE( data, offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: MBEDTLS_PUT_UINT32_LE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_PUT_UINT32_LE( n, data, offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: MBEDTLS_GET_UINT16_LE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_GET_UINT16_LE( data, offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: MBEDTLS_PUT_UINT16_LE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_PUT_UINT16_LE( n, data, offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: MBEDTLS_GET_UINT16_BE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_GET_UINT16_BE( data, offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: MBEDTLS_PUT_UINT16_BE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_PUT_UINT16_BE( n, data, offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 277
    functionName: MBEDTLS_GET_UINT64_BE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_GET_UINT64_BE( data, offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: MBEDTLS_PUT_UINT64_BE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_PUT_UINT64_BE( n, data, offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: MBEDTLS_GET_UINT64_LE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_GET_UINT64_LE( data, offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - data
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: MBEDTLS_PUT_UINT64_LE
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_PUT_UINT64_LE( n, data, offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    functionName: ROTL8
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: ROTL16
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: ROTL24
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL24(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - high
    - ','
    - low
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: MBEDTLS_ERROR_ADD
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_ERROR_ADD( high, low )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - high
    - low
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: mbedtls_error_add
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/error.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mbedtls_error_add( int high, int low,\n                                     const
      char *file, int line )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: mbedtls_cipher_info_get_type
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_cipher_type_t
    signature: "mbedtls_cipher_type_t mbedtls_cipher_info_get_type(\n    const mbedtls_cipher_info_t
      *info )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: mbedtls_cipher_info_get_mode
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mbedtls_cipher_mode_t
    signature: "mbedtls_cipher_mode_t mbedtls_cipher_info_get_mode(\n    const mbedtls_cipher_info_t
      *info )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: mbedtls_cipher_info_get_key_bitlen
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t mbedtls_cipher_info_get_key_bitlen(\n    const mbedtls_cipher_info_t
      *info )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 479
    functionName: mbedtls_cipher_info_get_name
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *mbedtls_cipher_info_get_name(\n    const mbedtls_cipher_info_t
      *info )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 498
    functionName: mbedtls_cipher_info_get_iv_size
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t mbedtls_cipher_info_get_iv_size(\n    const mbedtls_cipher_info_t
      *info )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: mbedtls_cipher_info_get_block_size
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t mbedtls_cipher_info_get_block_size(\n    const mbedtls_cipher_info_t
      *info )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 535
    functionName: mbedtls_cipher_info_has_variable_key_bitlen
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_info_has_variable_key_bitlen(\n    const mbedtls_cipher_info_t
      *info )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - mbedtls_cipher_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 553
    functionName: mbedtls_cipher_info_has_variable_iv_size
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_info_has_variable_iv_size(\n    const mbedtls_cipher_info_t
      *info )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_INTERNAL_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 580
    functionName: mbedtls_cipher_get_block_size
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 2
    functionsReached:
    - MBEDTLS_INTERNAL_VALIDATE_RET
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int mbedtls_cipher_get_block_size(\n    const mbedtls_cipher_context_t
      *ctx )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_INTERNAL_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 599
    functionName: mbedtls_cipher_get_cipher_mode
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached:
    - MBEDTLS_INTERNAL_VALIDATE_RET
    linkageType: ''
    returnType: mbedtls_cipher_mode_t
    signature: "mbedtls_cipher_mode_t mbedtls_cipher_get_cipher_mode(\n    const mbedtls_cipher_context_t
      *ctx )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_INTERNAL_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 622
    functionName: mbedtls_cipher_get_iv_size
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 1
    functionsReached:
    - MBEDTLS_INTERNAL_VALIDATE_RET
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_get_iv_size(\n    const mbedtls_cipher_context_t
      *ctx )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_INTERNAL_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 641
    functionName: mbedtls_cipher_get_type
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached:
    - MBEDTLS_INTERNAL_VALIDATE_RET
    linkageType: ''
    returnType: mbedtls_cipher_type_t
    signature: "mbedtls_cipher_type_t mbedtls_cipher_get_type(\n    const mbedtls_cipher_context_t
      *ctx )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_INTERNAL_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 660
    functionName: mbedtls_cipher_get_name
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached:
    - MBEDTLS_INTERNAL_VALIDATE_RET
    linkageType: ''
    returnType: char
    signature: "char *mbedtls_cipher_get_name(\n    const mbedtls_cipher_context_t
      *ctx )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_INTERNAL_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 680
    functionName: mbedtls_cipher_get_key_bitlen
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached:
    - MBEDTLS_INTERNAL_VALIDATE_RET
    linkageType: ''
    returnType: int
    signature: "int mbedtls_cipher_get_key_bitlen(\n    const mbedtls_cipher_context_t
      *ctx )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MBEDTLS_INTERNAL_VALIDATE_RET
      Src: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - mbedtls_cipher_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 699
    functionName: mbedtls_cipher_get_operation
    functionSourceFile: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    functionUses: 0
    functionsReached:
    - MBEDTLS_INTERNAL_VALIDATE_RET
    linkageType: ''
    returnType: mbedtls_operation_t
    signature: "mbedtls_operation_t mbedtls_cipher_get_operation(\n    const mbedtls_cipher_context_t
      *ctx )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/nats.c:46,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/nats.c:52,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/nats.c:55,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/nats.c:55,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/nats.c:56,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/nats.c:60,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/nats.c:63,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/nats.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/nats.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 72
    functionName: ndpi_search_nats_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/nats.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - strlen
    - NDPI_LOG_DBG
    - strncmp
    - ndpi_strnstr
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_min
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_nats_tcp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/nats.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: init_nats_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/nats.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_nats_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/roughtime.c:64,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/roughtime.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: ndpi_int_roughtime_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/roughtime.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_roughtime_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                              struct ndpi_flow_struct
      * const flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/roughtime.c:76,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/roughtime.c:80,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/roughtime.c:84,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/roughtime.c:84,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/roughtime.c:89,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/roughtime.c:91,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/roughtime.c:96,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/roughtime.c:96,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/roughtime.c:99,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/roughtime.c:107,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/roughtime.c:107,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/roughtime.c:110,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/roughtime.c:117,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/roughtime.c:119,1
    - Dst: ndpi_int_roughtime_add_connection
      Src: /src/ndpi/src/lib/protocols/roughtime.c:124,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 125
    functionName: ndpi_search_roughtime
    functionSourceFile: /src/ndpi/src/lib/protocols/roughtime.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - get_u_int32_t
    - le32toh
    - ndpi_int_roughtime_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_roughtime(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/roughtime.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: init_roughtime_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/roughtime.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_roughtime_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/hamachi.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/hamachi.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ndpi_int_hamachi_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/hamachi.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_hamachi_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, \n                                            struct ndpi_flow_struct
      *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/hamachi.c:47,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/hamachi.c:50,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/hamachi.c:50,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/hamachi.c:51,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/hamachi.c:51,1
    - Dst: ndpi_int_hamachi_add_connection
      Src: /src/ndpi/src/lib/protocols/hamachi.c:53,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/hamachi.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: search_hamachi_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/hamachi.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_hamachi_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void search_hamachi_tcp(struct ndpi_detection_module_struct* ndpi_struct,
      \n                               struct ndpi_flow_struct* flow)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/hamachi.c:65,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/hamachi.c:70,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/hamachi.c:71,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/hamachi.c:84,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/hamachi.c:84,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/hamachi.c:89,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/hamachi.c:89,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/hamachi.c:90,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/hamachi.c:90,1
    - Dst: ndpi_int_hamachi_add_connection
      Src: /src/ndpi/src/lib/protocols/hamachi.c:151,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/hamachi.c:156,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 55
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 157
    functionName: search_hamachi_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/hamachi.c
    functionUses: 0
    functionsReached:
    - get_u_int64_t
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_hamachi_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void search_hamachi_udp(struct ndpi_detection_module_struct* ndpi_struct,\n
      \                              struct ndpi_flow_struct* flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: search_hamachi_tcp
      Src: /src/ndpi/src/lib/protocols/hamachi.c:162,1
    - Dst: search_hamachi_udp
      Src: /src/ndpi/src/lib/protocols/hamachi.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 7
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: ndpi_search_hamachi
    functionSourceFile: /src/ndpi/src/lib/protocols/hamachi.c
    functionUses: 0
    functionsReached:
    - search_hamachi_tcp
    - search_hamachi_udp
    linkageType: ''
    returnType: void
    signature: void ndpi_search_hamachi(struct ndpi_detection_module_struct* ndpi_struct,
      struct ndpi_flow_struct* flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/hamachi.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: init_hamachi_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/hamachi.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_hamachi_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/nfs.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: ndpi_int_nfs_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/nfs.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_nfs_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t*ndpi_struct,
      struct ndpi_flow_struct *flow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/nfs.c:44,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/nfs.c:53,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/nfs.c:56,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/nfs.c:56,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/nfs.c:59,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/nfs.c:61,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/nfs.c:64,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/nfs.c:66,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/nfs.c:66,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/nfs.c:69,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/nfs.c:71,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/nfs.c:71,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/nfs.c:72,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/nfs.c:72,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/nfs.c:73,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/nfs.c:73,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/nfs.c:76,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/nfs.c:78,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/nfs.c:78,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/nfs.c:81,1
    - Dst: ndpi_int_nfs_add_connection
      Src: /src/ndpi/src/lib/protocols/nfs.c:83,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/nfs.c:87,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 88
    functionName: ndpi_search_nfs
    functionSourceFile: /src/ndpi/src/lib/protocols/nfs.c
    functionUses: 0
    functionsReached:
    - ndpi_int_nfs_add_connection
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - htonl
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: void ndpi_search_nfs(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/nfs.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: init_nfs_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/nfs.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_nfs_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/crynet.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/crynet.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: ndpi_int_crynet_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/crynet.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_crynet_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                           struct ndpi_flow_struct
      * const flow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/crynet.c:44,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/crynet.c:48,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/crynet.c:49,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/protocols/crynet.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/crynet.c:57,1
    - Dst: ndpi_int_crynet_add_connection
      Src: /src/ndpi/src/lib/protocols/crynet.c:63,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/crynet.c:72,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/crynet.c:79,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/crynet.c:86,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/crynet.c:86,1
    - Dst: ndpi_int_crynet_add_connection
      Src: /src/ndpi/src/lib/protocols/crynet.c:88,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/crynet.c:95,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/crynet.c:95,1
    - Dst: ndpi_int_crynet_add_connection
      Src: /src/ndpi/src/lib/protocols/crynet.c:97,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/crynet.c:101,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 102
    functionName: ndpi_search_crynet
    functionSourceFile: /src/ndpi/src/lib/protocols/crynet.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - NDPI_LOG_DBG
    - ndpi_int_crynet_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    - ndpi_isdigit
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_crynet(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/crynet.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: init_crynet_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/crynet.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_crynet_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/nano.c:43,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/nano.c:45,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/nano.c:51,1
    - Dst: mining_make_lru_cache_key
      Src: /src/ndpi/src/lib/protocols/nano.c:51,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/nano.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: ndpi_int_nano_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/nano.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_get_current_time
    - mining_make_lru_cache_key
    - NDPI_LOG_INFO
    - ndpi_lru_add_to_cache
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_nano_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                         struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/nano.c:60,1
    - Dst: ndpi_int_nano_add_connection
      Src: /src/ndpi/src/lib/protocols/nano.c:74,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/nano.c:79,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 6
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: ndpi_search_nano
    functionSourceFile: /src/ndpi/src/lib/protocols/nano.c
    functionUses: 0
    functionsReached:
    - ndpi_int_nano_add_connection
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_nano(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/nano.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: init_nano_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/nano.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_nano_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_seen_flow_beginning
      Src: /src/ndpi/src/lib/protocols/hcl_notes.c:39,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/hcl_notes.c:43,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/hcl_notes.c:44,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/hcl_notes.c:45,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/hcl_notes.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: ndpi_check_hcl_notes
    functionSourceFile: /src/ndpi/src/lib/protocols/hcl_notes.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - ndpi_seen_flow_beginning
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_hcl_notes(struct ndpi_detection_module_struct *ndpi_struct,
      \n\t\t\t\t   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/hcl_notes.c:57,1
    - Dst: ndpi_check_hcl_notes
      Src: /src/ndpi/src/lib/protocols/hcl_notes.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 6
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: ndpi_search_hcl_notes
    functionSourceFile: /src/ndpi/src/lib/protocols/hcl_notes.c
    functionUses: 0
    functionsReached:
    - ndpi_check_hcl_notes
    - NDPI_LOG_DBG
    linkageType: ''
    returnType: void
    signature: void ndpi_search_hcl_notes(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/hcl_notes.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: init_hcl_notes_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/hcl_notes.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_hcl_notes_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/matter.c:31,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/matter.c:34,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/matter.c:35,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/matter.c:39,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/matter.c:62,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/matter.c:66,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/matter.c:70,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/matter.c:71,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/matter.c:79,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 80
    functionName: ndpi_search_matter
    functionSourceFile: /src/ndpi/src/lib/protocols/matter.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_matter(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/matter.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: init_matter_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/matter.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_matter_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: ts_header
    functionSourceFile: /src/ndpi/src/lib/protocols/tristation.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ts_header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tristation.c:40,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tristation.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: ndpi_int_tristation_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/tristation.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_tristation_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                               struct
      ndpi_flow_struct * const flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/tristation.c:52,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tristation.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tristation.c:61,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/tristation.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tristation.c:67,1
    - Dst: ndpi_int_tristation_add_connection
      Src: /src/ndpi/src/lib/protocols/tristation.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 6
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: ndpi_search_tristation
    functionSourceFile: /src/ndpi/src/lib/protocols/tristation.c
    functionUses: 0
    functionsReached:
    - ndpi_int_tristation_add_connection
    - NDPI_LOG_DBG
    - le16toh
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_tristation(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/tristation.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: init_tristation_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/tristation.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_tristation_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: ndpi_int_profinet_io_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/profinet_io.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_profinet_io_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                                struct ndpi_flow_struct
      *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:46,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:58,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:58,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:59,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:59,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:60,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:60,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:62,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:62,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:63,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:63,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:64,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:64,1
    - Dst: ndpi_int_profinet_io_add_connection
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:70,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 76
    functionName: ndpi_search_profinet_io
    functionSourceFile: /src/ndpi/src/lib/protocols/profinet_io.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - le32toh
    - ndpi_int_profinet_io_add_connection
    - le16toh
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_profinet_io(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/profinet_io.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: init_profinet_io_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/profinet_io.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_profinet_io_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:35,1
    - Dst: ndpi_set_detected_protocol_keeping_master
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ndpi_int_mpegdash_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/mpegdash.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_set_detected_protocol_keeping_master
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_mpegdash_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                             struct ndpi_flow_struct
      *flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:45,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:52,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:59,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:66,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:67,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:68,1
    - Dst: ndpi_int_mpegdash_add_connection
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:70,1
    - Dst: LINE_STARTS
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:76,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:77,1
    - Dst: LINE_STARTS
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:78,1
    - Dst: ndpi_int_mpegdash_add_connection
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:80,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:86,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 88
    functionName: ndpi_search_mpegdash_http
    functionSourceFile: /src/ndpi/src/lib/protocols/mpegdash.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_parse_packet_line_info
    - LINE_STARTS
    - ndpi_int_mpegdash_add_connection
    - LINE_ENDS
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_mpegdash_http(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                      struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mpegdash.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: init_mpegdash_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mpegdash.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mpegdash_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/checkmk.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ndpi_int_checkmk_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/checkmk.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_checkmk_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t    struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/checkmk.c:44,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/checkmk.c:55,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/checkmk.c:64,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/checkmk.c:66,1
    - Dst: ndpi_int_checkmk_add_connection
      Src: /src/ndpi/src/lib/protocols/checkmk.c:67,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/checkmk.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 73
    functionName: ndpi_search_checkmk
    functionSourceFile: /src/ndpi/src/lib/protocols/checkmk.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ndpi_int_checkmk_add_connection
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_checkmk(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\tstruct
      ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/checkmk.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: init_checkmk_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/checkmk.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_checkmk_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:45,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:45,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:46,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:46,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:47,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:47,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:51,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:57,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:58,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:59,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:64,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 66
    functionName: ndpi_check_radius
    functionSourceFile: /src/ndpi/src/lib/protocols/radius_proto.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_check_radius(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:70,1
    - Dst: ndpi_check_radius
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: ndpi_search_radius
    functionSourceFile: /src/ndpi/src/lib/protocols/radius_proto.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_check_radius
    linkageType: ''
    returnType: void
    signature: void ndpi_search_radius(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/radius_proto.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: init_radius_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/radius_proto.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_radius_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/among_us.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ndpi_int_among_us_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/among_us.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_among_us_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                             struct ndpi_flow_struct
      *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/among_us.c:41,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/among_us.c:42,1
    - Dst: ndpi_int_among_us_add_connection
      Src: /src/ndpi/src/lib/protocols/among_us.c:44,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/among_us.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 6
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: ndpi_search_among_us
    functionSourceFile: /src/ndpi/src/lib/protocols/among_us.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_among_us_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_among_us(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                         struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/among_us.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: init_among_us_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/among_us.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_among_us_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/monero.c:34,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/monero.c:36,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/monero.c:42,1
    - Dst: mining_make_lru_cache_key
      Src: /src/ndpi/src/lib/protocols/monero.c:43,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/monero.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: ndpi_int_monero_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/monero.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_get_current_time
    - mining_make_lru_cache_key
    - NDPI_LOG_INFO
    - ndpi_lru_add_to_cache
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_monero_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                           struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/monero.c:54,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/monero.c:58,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/monero.c:62,1
    - Dst: ndpi_htonll
      Src: /src/ndpi/src/lib/protocols/monero.c:62,1
    - Dst: ndpi_int_monero_add_connection
      Src: /src/ndpi/src/lib/protocols/monero.c:64,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/monero.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 6
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: ndpi_search_monero
    functionSourceFile: /src/ndpi/src/lib/protocols/monero.c
    functionUses: 0
    functionsReached:
    - ndpi_htonll
    - ndpi_int_monero_add_connection
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - get_u_int64_t
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_monero(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/monero.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: init_monero_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/monero.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_monero_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - flow
    - msg
    - buf
    - buf_len
    argTypes:
    - struct ndpi_flow_struct*
    - char*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: forge_attempt_msg
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * forge_attempt_msg(struct ndpi_flow_struct *flow, char *msg,
      char *buf, u_int buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:73,1
    - Dst: forge_attempt_msg
      Src: /src/ndpi/src/lib/protocols/http.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - msg
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: ndpi_set_binary_data_transfer
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - forge_attempt_msg
    - ndpi_set_risk
    linkageType: ''
    returnType: void
    signature: "void ndpi_set_binary_data_transfer(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow,\n\t\t\t\t\t  char *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/http.c:86,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/http.c:87,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/http.c:88,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/http.c:89,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:95,1
    - Dst: forge_attempt_msg
      Src: /src/ndpi/src/lib/protocols/http.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - msg
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 97
    functionName: ndpi_set_binary_application_transfer
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - forge_attempt_msg
    - ndpi_set_risk
    - ends_with
    linkageType: ''
    returnType: void
    signature: "void ndpi_set_binary_application_transfer(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t\t struct ndpi_flow_struct *flow,\n\t\t\t\t\t\t char
      *msg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/http.c:129,1
    - Dst: ndpi_set_binary_application_transfer
      Src: /src/ndpi/src/lib/protocols/http.c:134,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: ndpi_analyze_content_signature
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ndpi_set_binary_application_transfer
    linkageType: ''
    returnType: void
    signature: "void ndpi_analyze_content_signature(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t   struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_http_tcp
      Src: /src/ndpi/src/lib/protocols/http.c:145,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/http.c:148,1
    - Dst: switch_extra_dissection_to_tls_obfuscated_heur
      Src: /src/ndpi/src/lib/protocols/http.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 169
    functionName: ndpi_search_http_tcp_again
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - printf
    - switch_extra_dissection_to_tls_obfuscated_heur
    - ndpi_search_http_tcp
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_http_tcp_again(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t      struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/protocols/http.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: ndpi_http_is_print
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - ndpi_isprint
    linkageType: ''
    returnType: int
    signature: int ndpi_http_is_print(char c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/http.c:186,1
    - Dst: ndpi_http_is_print
      Src: /src/ndpi/src/lib/protocols/http.c:191,1
    - Dst: ndpi_http_is_print
      Src: /src/ndpi/src/lib/protocols/http.c:191,1
    - Dst: ndpi_http_is_print
      Src: /src/ndpi/src/lib/protocols/http.c:192,1
    - Dst: ndpi_http_is_print
      Src: /src/ndpi/src/lib/protocols/http.c:192,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:203,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:206,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:208,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:210,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - content
    - content_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 215
    functionName: ndpi_http_check_human_redeable_content
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - is_flowrisk_info_enabled
    - NDPI_LOG_DBG
    - snprintf
    - ndpi_http_is_print
    linkageType: ''
    returnType: void
    signature: "void ndpi_http_check_human_redeable_content(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t\t   struct ndpi_flow_struct *flow,\n\t\t\t\t\t\t   const
      u_int8_t *content, u_int16_t content_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/http.c:222,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/http.c:224,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/http.c:225,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/http.c:233,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/http.c:234,1
    - Dst: ndpi_http_check_human_redeable_content
      Src: /src/ndpi/src/lib/protocols/http.c:243,1
    - Dst: ndpi_entropy
      Src: /src/ndpi/src/lib/protocols/http.c:245,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:252,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:254,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:256,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:263,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/http.c:267,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:271,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 272
    functionName: ndpi_validate_http_content
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ndpi_set_risk
    - NDPI_LOG_DBG
    - strncmp
    - ndpi_http_check_human_redeable_content
    - ndpi_strnstr
    - ndpi_isset_risk
    - ndpi_entropy
    linkageType: ''
    returnType: void
    signature: "void ndpi_validate_http_content(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t       struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_proto_category
      Src: /src/ndpi/src/lib/protocols/http.c:281,1
    - Dst: get_proto_breed
      Src: /src/ndpi/src/lib/protocols/http.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: update_category_and_breed
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - get_proto_breed
    - get_proto_category
    linkageType: ''
    returnType: void
    signature: "void update_category_and_breed(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                      struct ndpi_flow_struct
      *flow)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:299,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:317,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/http.c:321,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:323,1
    - Dst: ndpi_set_binary_data_transfer
      Src: /src/ndpi/src/lib/protocols/http.c:324,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:345,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:348,1
    - Dst: ndpi_set_binary_application_transfer
      Src: /src/ndpi/src/lib/protocols/http.c:350,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/http.c:351,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:365,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/http.c:373,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:375,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/http.c:382,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:385,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/http.c:392,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:395,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/http.c:408,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:411,1
    - Dst: ndpi_set_binary_application_transfer
      Src: /src/ndpi/src/lib/protocols/http.c:413,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/http.c:414,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:420,1
    - Dst: ndpi_set_binary_data_transfer
      Src: /src/ndpi/src/lib/protocols/http.c:422,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:430,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/http.c:431,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:436,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/http.c:437,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 117
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 444
    functionName: ndpi_http_check_content
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - NDPI_LOG_INFO
    - ndpi_set_binary_application_transfer
    - snprintf
    - strncmp
    - ndpi_malloc
    - ndpi_set_binary_data_transfer
    - strncpy
    - memcmp
    - ndpi_min
    linkageType: ''
    returnType: ndpi_protocol_category_t
    signature: "ndpi_protocol_category_t ndpi_http_check_content(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t\t\tstruct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/http.c:452,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:460,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:462,1
    - Dst: proto_stack_reset
      Src: /src/ndpi/src/lib/protocols/http.c:463,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - master_protocol
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 448
    functionDepth: 5
    functionLinenumber: 448
    functionLinenumberEnd: 471
    functionName: ndpi_int_http_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - printf
    - NDPI_LOG_DBG2
    - proto_stack_reset
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_http_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t struct ndpi_flow_struct *flow,\n\t\t\t\t\t u_int16_t
      master_protocol)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:476,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:477,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:478,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:479,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:480,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:481,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:482,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:483,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:484,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/http.c:490,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - flow
    - ua
    argTypes:
    - struct ndpi_flow_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 491
    functionName: setHttpUserAgent
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ndpi_strdup
    linkageType: ''
    returnType: void
    signature: void setHttpUserAgent(struct ndpi_flow_struct *flow, char *ua)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:502,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:514,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:515,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:516,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:517,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:525,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:526,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:527,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:528,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:533,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:534,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:535,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:536,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:537,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:538,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:544,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:545,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:556,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:557,1
    - Dst: ndpi_match_hostname_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:565,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/http.c:568,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/http.c:583,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/http.c:587,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:591,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:594,1
    - Dst: ndpi_match_host_subprotocol
      Src: /src/ndpi/src/lib/protocols/http.c:595,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:606,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:607,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:609,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:610,1
    - Dst: ookla_add_to_cache
      Src: /src/ndpi/src/lib/protocols/http.c:611,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:616,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:617,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:618,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/http.c:623,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:624,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:625,1
    - Dst: ookla_add_to_cache
      Src: /src/ndpi/src/lib/protocols/http.c:626,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:632,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:633,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:634,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:635,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:636,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:637,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/http.c:642,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:650,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:651,1
    - Dst: ookla_add_to_cache
      Src: /src/ndpi/src/lib/protocols/http.c:652,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:656,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:657,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:658,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:662,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:663,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:664,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:668,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:669,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:670,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:674,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:675,1
    - Dst: update_category_and_breed
      Src: /src/ndpi/src/lib/protocols/http.c:676,1
    - Dst: ndpi_strndup
      Src: /src/ndpi/src/lib/protocols/http.c:686,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/protocols/http.c:691,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/protocols/http.c:695,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:700,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:700,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/http.c:701,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:702,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:702,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/http.c:703,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:704,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/protocols/http.c:707,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:710,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 126
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - hostname_just_set
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 495
    functionDepth: 8
    functionLinenumber: 495
    functionLinenumberEnd: 714
    functionName: ndpi_http_parse_subprotocol
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG2
    - ndpi_match_hostname_protocol
    - strcmp
    - ndpi_set_risk
    - strlen
    - strncmp
    - ndpi_unset_risk
    - ndpi_free
    - ndpi_set_detected_protocol
    - ndpi_strndup
    - ndpi_strdup
    - strstr
    - strtok_r
    - update_category_and_breed
    - memcmp
    - ndpi_strnstr
    - ndpi_isset_risk
    - ndpi_match_host_subprotocol
    - ookla_add_to_cache
    linkageType: ''
    returnType: void
    signature: "void ndpi_http_parse_subprotocol(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\tstruct ndpi_flow_struct *flow,\n\t\t\t\t\tint hostname_just_set)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_isalpha
      Src: /src/ndpi/src/lib/protocols/http.c:736,1
    - Dst: isupper
      Src: /src/ndpi/src/lib/protocols/http.c:740,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:750,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:753,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:754,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:756,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:762,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/http.c:763,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:765,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:768,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:769,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:771,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:775,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:779,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:782,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:783,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:785,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:792,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:793,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:797,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/http.c:798,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/http.c:799,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:801,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:809,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:810,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/src/lib/protocols/http.c:811,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/src/lib/protocols/http.c:812,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:814,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:817,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:819,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:821,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 57
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - ua
    - ua_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 824
    functionName: ndpi_check_user_agent
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - is_flowrisk_info_enabled
    - strchr
    - snprintf
    - isupper
    - strncmp
    - ndpi_strncasestr
    - strstr
    - ndpi_isalpha
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_user_agent(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow,\n\t\t\t\t  char
      const *ua, size_t ua_len)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/http.c:838,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:840,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:843,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/http.c:844,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/http.c:850,1
    - Dst: strsep
      Src: /src/ndpi/src/lib/protocols/http.c:853,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:855,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:856,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:857,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:858,1
    - Dst: strsep
      Src: /src/ndpi/src/lib/protocols/http.c:860,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:864,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:865,1
    - Dst: strsep
      Src: /src/ndpi/src/lib/protocols/http.c:866,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:869,1
    - Dst: strsep
      Src: /src/ndpi/src/lib/protocols/http.c:870,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:874,1
    - Dst: strsep
      Src: /src/ndpi/src/lib/protocols/http.c:876,1
    - Dst: setHttpUserAgent
      Src: /src/ndpi/src/lib/protocols/http.c:884,1
    - Dst: ndpi_user_agent_set
      Src: /src/ndpi/src/lib/protocols/http.c:890,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:891,1
    - Dst: ndpi_check_user_agent
      Src: /src/ndpi/src/lib/protocols/http.c:892,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:894,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:897,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 45
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - ua_ptr
    - ua_ptr_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 828
    functionDepth: 4
    functionLinenumber: 828
    functionLinenumberEnd: 899
    functionName: http_process_user_agent
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - ndpi_user_agent_set
    - strcmp
    - strchr
    - strncmp
    - strsep
    - ndpi_unset_risk
    - strncpy
    - ndpi_check_user_agent
    - ndpi_min
    - NDPI_LOG_DBG2
    - setHttpUserAgent
    linkageType: ''
    returnType: void
    signature: "void http_process_user_agent(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow,\n                                    const
      u_int8_t *ua_ptr, u_int16_t ua_ptr_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:909,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/http.c:912,1
    - Dst: inet_addr
      Src: /src/ndpi/src/lib/protocols/http.c:915,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/http.c:916,1
    - Dst: inet_ntoa
      Src: /src/ndpi/src/lib/protocols/http.c:916,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:917,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:920,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:921,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - ip
    - ip_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 903
    functionDepth: 3
    functionLinenumber: 903
    functionLinenumberEnd: 926
    functionName: ndpi_check_numeric_ip
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ndpi_set_risk
    - is_flowrisk_info_enabled
    - inet_ntoa
    - strchr
    - snprintf
    - strncpy
    - inet_addr
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_numeric_ip(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow,\n\t\t\t\t  char
      *ip, u_int ip_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/http.c:936,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:938,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:939,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:941,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:942,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:944,1
    - Dst: ndpi_validate_url
      Src: /src/ndpi/src/lib/protocols/http.c:946,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - url
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 930
    functionDepth: 4
    functionLinenumber: 930
    functionLinenumberEnd: 951
    functionName: ndpi_check_http_url
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - ndpi_validate_url
    - snprintf
    - strncmp
    - strstr
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_http_url(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow,\n\t\t\t\tchar
      *url)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/protocols/http.c:966,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/http.c:967,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:972,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/http.c:973,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/http.c:986,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/http.c:987,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 956
    functionDepth: 5
    functionLinenumber: 956
    functionLinenumberEnd: 992
    functionName: ndpi_check_http_url_subprotocol
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_hash_find_entry
    - ends_with
    - strlen
    - ndpi_get_master_proto
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_http_url_subprotocol(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t    struct ndpi_flow_struct *flow)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:1006,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:1007,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/protocols/http.c:1012,1
    - Dst: sscanf
      Src: /src/ndpi/src/lib/protocols/http.c:1015,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1020,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1021,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1022,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1024,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1027,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1028,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1029,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1031,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/protocols/http.c:1039,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1042,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1044,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - server
    - server_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 999
    functionDepth: 3
    functionLinenumber: 999
    functionLinenumberEnd: 1050
    functionName: ndpi_check_http_server
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - ndpi_set_risk
    - is_flowrisk_info_enabled
    - snprintf
    - ndpi_isprint
    - sscanf
    - ndpi_isdigit
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_http_server(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                  struct ndpi_flow_struct *flow,\n\t\t\t\t
      \  const char *server, u_int server_len)"
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/protocols/http.c:1069,1
    - Dst: ndpi_check_numeric_ip
      Src: /src/ndpi/src/lib/protocols/http.c:1071,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/http.c:1073,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:1079,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:1085,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:1086,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:1091,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:1095,1
    - Dst: ndpi_check_http_url
      Src: /src/ndpi/src/lib/protocols/http.c:1103,1
    - Dst: ndpi_check_http_url_subprotocol
      Src: /src/ndpi/src/lib/protocols/http.c:1104,1
    - Dst: ndpi_http_str2method
      Src: /src/ndpi/src/lib/protocols/http.c:1109,1
    - Dst: ndpi_check_http_server
      Src: /src/ndpi/src/lib/protocols/http.c:1113,1
    - Dst: http_process_user_agent
      Src: /src/ndpi/src/lib/protocols/http.c:1116,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/http.c:1122,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:1124,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/http.c:1133,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/http.c:1140,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:1142,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1153,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/src/lib/protocols/http.c:1157,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/src/lib/protocols/http.c:1159,1
    - Dst: ndpi_base64_decode
      Src: /src/ndpi/src/lib/protocols/http.c:1165,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/http.c:1169,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/http.c:1174,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/http.c:1176,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1179,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1182,1
    - Dst: ndpi_strndup
      Src: /src/ndpi/src/lib/protocols/http.c:1191,1
    - Dst: ndpi_strndup
      Src: /src/ndpi/src/lib/protocols/http.c:1195,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/http.c:1198,1
    - Dst: ndpi_check_is_numeric_ip
      Src: /src/ndpi/src/lib/protocols/http.c:1204,1
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/http.c:1207,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/http.c:1212,1
    - Dst: ndpi_cache_find_hostname_ip
      Src: /src/ndpi/src/lib/protocols/http.c:1214,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/http.c:1216,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1218,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/http.c:1222,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1232,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/http.c:1241,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:1243,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/http.c:1249,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/http.c:1259,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:1261,1
    - Dst: ndpi_http_check_content
      Src: /src/ndpi/src/lib/protocols/http.c:1267,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1275,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/http.c:1279,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/http.c:1281,1
    - Dst: ndpi_memrchr
      Src: /src/ndpi/src/lib/protocols/http.c:1291,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/http.c:1300,1
    - Dst: strtol
      Src: /src/ndpi/src/lib/protocols/http.c:1306,1
    - Dst: ndpi_is_valid_hostname
      Src: /src/ndpi/src/lib/protocols/http.c:1314,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1318,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1319,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1320,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1322,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1327,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1328,1
    - Dst: sscanf
      Src: /src/ndpi/src/lib/protocols/http.c:1332,1
    - Dst: inet_addr
      Src: /src/ndpi/src/lib/protocols/http.c:1335,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1336,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1339,1
    - Dst: ndpi_intoav4
      Src: /src/ndpi/src/lib/protocols/http.c:1340,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/http.c:1340,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1341,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1343,1
    - Dst: ndpi_http_parse_subprotocol
      Src: /src/ndpi/src/lib/protocols/http.c:1351,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/http.c:1353,1
    - Dst: ndpi_check_dga_name
      Src: /src/ndpi/src/lib/protocols/http.c:1354,1
    - Dst: ndpi_check_http_header
      Src: /src/ndpi/src/lib/protocols/http.c:1357,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 173
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1058
    functionDepth: 9
    functionLinenumber: 1058
    functionLinenumberEnd: 1358
    functionName: check_content_type_and_change_protocol
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - ntohl
    - ndpi_hostname_sni_set
    - ndpi_is_valid_hostname
    - NDPI_LOG_DBG2
    - ndpi_set_risk
    - strlen
    - ndpi_check_is_numeric_ip
    - strncmp
    - ndpi_check_dga_name
    - strncpy
    - ndpi_http_parse_subprotocol
    - ndpi_free
    - printf
    - ndpi_memrchr
    - sscanf
    - ndpi_check_http_server
    - ndpi_strndup
    - ndpi_cache_find_hostname_ip
    - ndpi_intoav4
    - ndpi_check_http_header
    - ndpi_check_http_url
    - is_flowrisk_info_enabled
    - ndpi_check_numeric_ip
    - strchr
    - ndpi_strdup
    - snprintf
    - ndpi_malloc
    - ndpi_strncasestr
    - http_process_user_agent
    - ndpi_http_str2method
    - inet_addr
    - memset
    - ndpi_isdigit
    - ndpi_http_check_content
    - ndpi_check_http_url_subprotocol
    - strtol
    - memcmp
    - ndpi_strnstr
    - memcpy
    - ndpi_base64_decode
    linkageType: ''
    returnType: void
    signature: "void check_content_type_and_change_protocol(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t\t   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1365
    functionName: non_ctrl
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t non_ctrl(uint8_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1378
    functionName: STATIC_STRING_L
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_STRING_L(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1410,1
    - Dst: non_ctrl
      Src: /src/ndpi/src/lib/protocols/http.c:1411,1
    - Dst: non_ctrl
      Src: /src/ndpi/src/lib/protocols/http.c:1412,1
    - Dst: non_ctrl
      Src: /src/ndpi/src/lib/protocols/http.c:1413,1
    - Dst: non_ctrl
      Src: /src/ndpi/src/lib/protocols/http.c:1414,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/http.c:1418,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:1426,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1431,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1436
    functionName: http_request_url_offset
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - NDPI_LOG_DBG2
    - non_ctrl
    - strchr
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t http_request_url_offset(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/ndpi/src/lib/protocols/http.c:1456,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:1459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - suspicious_headers
    - packet_line
    argTypes:
    - char*[]
    - struct ndpi_int_one_line_struct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1466
    functionName: is_a_suspicious_header
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - memchr
    linkageType: ''
    returnType: int
    signature: int is_a_suspicious_header(const char* suspicious_headers[], struct
      ndpi_int_one_line_struct packet_line)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: is_a_suspicious_header
      Src: /src/ndpi/src/lib/protocols/http.c:1480,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1481,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1484,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1485,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1487,1
    - Dst: is_a_suspicious_header
      Src: /src/ndpi/src/lib/protocols/http.c:1493,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1494,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1497,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1498,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1500,1
    - Dst: is_a_suspicious_header
      Src: /src/ndpi/src/lib/protocols/http.c:1506,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1507,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1510,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1511,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1513,1
    - Dst: is_a_suspicious_header
      Src: /src/ndpi/src/lib/protocols/http.c:1519,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1520,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1523,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1524,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1526,1
    - Dst: is_a_suspicious_header
      Src: /src/ndpi/src/lib/protocols/http.c:1532,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1533,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1536,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1537,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1539,1
    - Dst: is_a_suspicious_header
      Src: /src/ndpi/src/lib/protocols/http.c:1545,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1546,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1549,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1550,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1552,1
    - Dst: is_a_suspicious_header
      Src: /src/ndpi/src/lib/protocols/http.c:1558,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1559,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1562,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1563,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1565,1
    - Dst: is_a_suspicious_header
      Src: /src/ndpi/src/lib/protocols/http.c:1571,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1572,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1575,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1576,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1578,1
    - Dst: is_a_suspicious_header
      Src: /src/ndpi/src/lib/protocols/http.c:1584,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/http.c:1585,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1588,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1589,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1591,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 104
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1470
    functionDepth: 3
    functionLinenumber: 1470
    functionLinenumberEnd: 1599
    functionName: ndpi_check_http_header
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 1
    functionsReached:
    - is_a_suspicious_header
    - ndpi_set_risk
    - snprintf
    - is_flowrisk_info_enabled
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_http_header(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \  struct ndpi_flow_struct *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/http.c:1610,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/protocols/http.c:1613,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1614,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1621,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1622,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/http.c:1626,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:1629,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http.c:1630,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/http.c:1635,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1636,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1601
    functionDepth: 3
    functionLinenumber: 1601
    functionLinenumberEnd: 1641
    functionName: parse_response_code
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - strchr
    - snprintf
    - strncmp
    - atoi
    - strncpy
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: "void parse_response_code(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\tstruct
      ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_request_url_offset
      Src: /src/ndpi/src/lib/protocols/http.c:1647,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:1650,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/http.c:1651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1643
    functionDepth: 2
    functionLinenumber: 1643
    functionLinenumberEnd: 1654
    functionName: is_request
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - http_request_url_offset
    - ndpi_min
    linkageType: ''
    returnType: int
    signature: int is_request(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:1659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1662
    functionName: is_response
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int is_response(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/http.c:1670,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:1676,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1677,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:1681,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/http.c:1694,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:1700,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/http.c:1704,1
    - Dst: ndpi_int_http_add_connection
      Src: /src/ndpi/src/lib/protocols/http.c:1708,1
    - Dst: check_content_type_and_change_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:1709,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1713,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - filename_start
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1664
    functionDepth: 6
    functionLinenumber: 1664
    functionLinenumberEnd: 1715
    functionName: process_request
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - ndpi_set_risk
    - check_content_type_and_change_protocol
    - memcmp
    - ndpi_parse_packet_line_info
    - NDPI_LOG_DBG2
    - ndpi_int_http_add_connection
    linkageType: ''
    returnType: void
    signature: "void process_request(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   struct ndpi_flow_struct *flow,\n\t\t\t    u_int16_t filename_start)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/http.c:1720,1
    - Dst: parse_response_code
      Src: /src/ndpi/src/lib/protocols/http.c:1721,1
    - Dst: check_content_type_and_change_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:1722,1
    - Dst: ndpi_validate_http_content
      Src: /src/ndpi/src/lib/protocols/http.c:1724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1717
    functionDepth: 5
    functionLinenumber: 1717
    functionLinenumberEnd: 1725
    functionName: process_response
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 0
    functionsReached:
    - parse_response_code
    - ndpi_validate_http_content
    - ndpi_parse_packet_line_info
    - check_content_type_and_change_protocol
    linkageType: ''
    returnType: void
    signature: "void process_response(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1730,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1740,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1744,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1748,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1752,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1756,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1760,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1764,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1768,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1772,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1776,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1780,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/http.c:1784,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1791,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1792,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1793,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1794,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1795,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1796,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1797,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1798,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1799,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1800,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1801,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1802,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/http.c:1803,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1727
    functionDepth: 3
    functionLinenumber: 1727
    functionLinenumberEnd: 1804
    functionName: reset
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 24
    functionsReached:
    - NDPI_LOG_DBG2
    - ndpi_unset_risk
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: "void reset(struct ndpi_detection_module_struct *ndpi_struct,\n                  struct
      ndpi_flow_struct *flow)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/http.c:1811,1
    - Dst: is_request
      Src: /src/ndpi/src/lib/protocols/http.c:1813,1
    - Dst: is_response
      Src: /src/ndpi/src/lib/protocols/http.c:1813,1
    - Dst: is_request
      Src: /src/ndpi/src/lib/protocols/http.c:1816,1
    - Dst: is_response
      Src: /src/ndpi/src/lib/protocols/http.c:1819,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1820,1
    - Dst: ndpi_int_http_add_connection
      Src: /src/ndpi/src/lib/protocols/http.c:1830,1
    - Dst: process_response
      Src: /src/ndpi/src/lib/protocols/http.c:1831,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1837,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/http.c:1838,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1841,1
    - Dst: process_request
      Src: /src/ndpi/src/lib/protocols/http.c:1843,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1855,1
    - Dst: is_request
      Src: /src/ndpi/src/lib/protocols/http.c:1856,1
    - Dst: reset
      Src: /src/ndpi/src/lib/protocols/http.c:1865,1
    - Dst: process_request
      Src: /src/ndpi/src/lib/protocols/http.c:1866,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/http.c:1869,1
    - Dst: check_content_type_and_change_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:1870,1
    - Dst: is_response
      Src: /src/ndpi/src/lib/protocols/http.c:1872,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1873,1
    - Dst: process_response
      Src: /src/ndpi/src/lib/protocols/http.c:1875,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1879,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1888,1
    - Dst: is_response
      Src: /src/ndpi/src/lib/protocols/http.c:1889,1
    - Dst: reset
      Src: /src/ndpi/src/lib/protocols/http.c:1893,1
    - Dst: process_response
      Src: /src/ndpi/src/lib/protocols/http.c:1894,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/http.c:1897,1
    - Dst: check_content_type_and_change_protocol
      Src: /src/ndpi/src/lib/protocols/http.c:1898,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/http.c:1902,1
    - Dst: reset
      Src: /src/ndpi/src/lib/protocols/http.c:1904,1
    - Dst: ndpi_check_http_tcp
      Src: /src/ndpi/src/lib/protocols/http.c:1906,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1806
    functionDepth: 7
    functionLinenumber: 1806
    functionLinenumberEnd: 1908
    functionName: ndpi_check_http_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 1
    functionsReached:
    - reset
    - check_content_type_and_change_protocol
    - is_request
    - NDPI_LOG_DBG
    - process_request
    - ndpi_check_http_tcp
    - is_response
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_parse_packet_line_info
    - process_response
    - NDPI_LOG_DBG2
    - ndpi_int_http_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_http_tcp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\tstruct
      ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/http.c:1916,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/http.c:1920,1
    - Dst: ndpi_check_http_tcp
      Src: /src/ndpi/src/lib/protocols/http.c:1921,1
    - Dst: ndpi_analyze_content_signature
      Src: /src/ndpi/src/lib/protocols/http.c:1939,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1912
    functionDepth: 8
    functionLinenumber: 1912
    functionLinenumberEnd: 1941
    functionName: ndpi_search_http_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 1
    functionsReached:
    - ndpi_check_http_tcp
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_analyze_content_signature
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_http_tcp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/http.c:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1943
    functionDepth: 3
    functionLinenumber: 1943
    functionLinenumberEnd: 1948
    functionName: init_http_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/http.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_http_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/nintendo.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ndpi_int_nintendo_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/nintendo.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_nintendo_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t     struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/nintendo.c:46,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/nintendo.c:47,1
    - Dst: ndpi_int_nintendo_add_connection
      Src: /src/ndpi/src/lib/protocols/nintendo.c:48,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/nintendo.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: ndpi_search_nintendo
    functionSourceFile: /src/ndpi/src/lib/protocols/nintendo.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_nintendo_add_connection
    - memcmp
    linkageType: ''
    returnType: void
    signature: void ndpi_search_nintendo(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/nintendo.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: init_nintendo_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/nintendo.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_nintendo_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/lagofast.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/lagofast.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ndpi_int_lagofast_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/lagofast.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_lagofast_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                             struct ndpi_flow_struct
      * const flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/lagofast.c:43,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/lagofast.c:45,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/lagofast.c:50,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/lagofast.c:50,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/lagofast.c:51,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/lagofast.c:56,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/lagofast.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/lagofast.c:58,1
    - Dst: ndpi_int_lagofast_add_connection
      Src: /src/ndpi/src/lib/protocols/lagofast.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: ndpi_search_lagofast
    functionSourceFile: /src/ndpi/src/lib/protocols/lagofast.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_lagofast_add_connection
    - htonl
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_lagofast(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/lagofast.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: init_lagofast_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/lagofast.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_lagofast_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: ndpi_int_tuya_lp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/tuya_lp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_tuya_lp_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                                  struct
      ndpi_flow_struct * const flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:47,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:51,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:56,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:58,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:63,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:63,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:74,1
    - Dst: ndpi_int_tuya_lp_add_connection
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 79
    functionName: ndpi_search_tuya_lp
    functionSourceFile: /src/ndpi/src/lib/protocols/tuya_lp.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_tuya_lp_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_tuya_lp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/tuya_lp.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: init_tuya_lp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/tuya_lp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_tuya_lp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/raknet.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/raknet.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ndpi_int_raknet_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/raknet.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_raknet_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                           struct ndpi_flow_struct
      * const flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - packet
    - offset
    argTypes:
    - struct ndpi_packet_struct*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: raknet_dissect_ip
    functionSourceFile: /src/ndpi/src/lib/protocols/raknet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t raknet_dissect_ip(struct ndpi_packet_struct * const packet,
      size_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/raknet.c:60,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/raknet.c:61,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/raknet.c:62,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/raknet.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: is_custom_version
    functionSourceFile: /src/ndpi/src/lib/protocols/raknet.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int is_custom_version(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/raknet.c:76,1
    - Dst: ndpi_int_raknet_add_connection
      Src: /src/ndpi/src/lib/protocols/raknet.c:80,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/raknet.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: exclude_proto
    functionSourceFile: /src/ndpi/src/lib/protocols/raknet.c
    functionUses: 0
    functionsReached:
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_INFO
    - ndpi_int_raknet_add_connection
    linkageType: ''
    returnType: void
    signature: "void exclude_proto(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                         struct ndpi_flow_struct *flow)"
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/raknet.c:93,1
    - Dst: is_custom_version
      Src: /src/ndpi/src/lib/protocols/raknet.c:106,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:111,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:122,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:132,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:141,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:151,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:161,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/raknet.c:166,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/raknet.c:166,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:169,1
    - Dst: raknet_dissect_ip
      Src: /src/ndpi/src/lib/protocols/raknet.c:177,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:182,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/raknet.c:187,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/raknet.c:187,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:190,1
    - Dst: raknet_dissect_ip
      Src: /src/ndpi/src/lib/protocols/raknet.c:197,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:202,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/raknet.c:207,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/raknet.c:207,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:210,1
    - Dst: raknet_dissect_ip
      Src: /src/ndpi/src/lib/protocols/raknet.c:221,1
    - Dst: raknet_dissect_ip
      Src: /src/ndpi/src/lib/protocols/raknet.c:228,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:233,1
    - Dst: get_u_int8_t
      Src: /src/ndpi/src/lib/protocols/raknet.c:258,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:261,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/raknet.c:265,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/raknet.c:265,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:269,1
    - Dst: ndpi_int_raknet_add_connection
      Src: /src/ndpi/src/lib/protocols/raknet.c:299,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:301,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:309,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:323,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:331,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/raknet.c:336,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/raknet.c:336,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:340,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/raknet.c:349,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/raknet.c:349,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:360,1
    - Dst: ndpi_int_raknet_add_connection
      Src: /src/ndpi/src/lib/protocols/raknet.c:370,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:372,1
    - Dst: exclude_proto
      Src: /src/ndpi/src/lib/protocols/raknet.c:382,1
    - Dst: ndpi_int_raknet_add_connection
      Src: /src/ndpi/src/lib/protocols/raknet.c:391,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 197
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 87
    functionDepth: 7
    functionLinenumber: 87
    functionLinenumberEnd: 392
    functionName: ndpi_search_raknet
    functionSourceFile: /src/ndpi/src/lib/protocols/raknet.c
    functionUses: 0
    functionsReached:
    - get_u_int8_t
    - is_custom_version
    - get_u_int16_t
    - NDPI_LOG_DBG
    - exclude_proto
    - raknet_dissect_ip
    - ntohs
    - ndpi_int_raknet_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_raknet(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/raknet.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: init_raknet_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/raknet.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_raknet_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/someip.c:81,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/someip.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: ndpi_int_someip_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/someip.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_someip_add_connection (struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t    struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/someip.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - u_int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: someip_data_cover_32
    functionSourceFile: /src/ndpi/src/lib/protocols/someip.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t someip_data_cover_32(const u_int8_t *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/someip.c:102,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/someip.c:104,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/someip.c:110,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/someip.c:113,1
    - Dst: someip_data_cover_32
      Src: /src/ndpi/src/lib/protocols/someip.c:113,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/someip.c:114,1
    - Dst: someip_data_cover_32
      Src: /src/ndpi/src/lib/protocols/someip.c:114,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/someip.c:116,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/someip.c:122,1
    - Dst: someip_data_cover_32
      Src: /src/ndpi/src/lib/protocols/someip.c:122,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/someip.c:124,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/someip.c:125,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/someip.c:130,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/someip.c:132,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/someip.c:133,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/someip.c:141,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/someip.c:146,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/someip.c:147,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/someip.c:152,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/someip.c:154,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/someip.c:155,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/someip.c:162,1
    - Dst: ndpi_int_someip_add_connection
      Src: /src/ndpi/src/lib/protocols/someip.c:163,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/someip.c:167,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/someip.c:168,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/someip.c:176,1
    - Dst: ndpi_int_someip_add_connection
      Src: /src/ndpi/src/lib/protocols/someip.c:177,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/someip.c:181,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/someip.c:182,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/someip.c:188,1
    - Dst: ndpi_int_someip_add_connection
      Src: /src/ndpi/src/lib/protocols/someip.c:191,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 192
    functionName: ndpi_search_someip
    functionSourceFile: /src/ndpi/src/lib/protocols/someip.c
    functionUses: 0
    functionsReached:
    - someip_data_cover_32
    - ntohl
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_someip_add_connection
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_someip(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/someip.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: init_someip_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/someip.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_someip_dissector (struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/oracle.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: ndpi_int_oracle_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/oracle.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_oracle_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \  *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/oracle.c:40,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/oracle.c:43,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/oracle.c:44,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/oracle.c:49,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/oracle.c:49,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/oracle.c:54,1
    - Dst: ndpi_int_oracle_add_connection
      Src: /src/ndpi/src/lib/protocols/oracle.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/oracle.c:59,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: ndpi_search_oracle
    functionSourceFile: /src/ndpi/src/lib/protocols/oracle.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - get_u_int16_t
    - NDPI_LOG_DBG
    - ndpi_int_oracle_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_oracle(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/oracle.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: init_oracle_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/oracle.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_oracle_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/yojimbo.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/yojimbo.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ndpi_int_yojimbo_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/yojimbo.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_yojimbo_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                            struct ndpi_flow_struct
      * const flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/yojimbo.c:43,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/yojimbo.c:49,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/yojimbo.c:54,1
    - Dst: ndpi_htonll
      Src: /src/ndpi/src/lib/protocols/yojimbo.c:54,1
    - Dst: ndpi_int_yojimbo_add_connection
      Src: /src/ndpi/src/lib/protocols/yojimbo.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/yojimbo.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: ndpi_search_yojimbo
    functionSourceFile: /src/ndpi/src/lib/protocols/yojimbo.c
    functionUses: 0
    functionsReached:
    - ndpi_int_yojimbo_add_connection
    - ndpi_htonll
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - get_u_int64_t
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_yojimbo(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/yojimbo.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: init_yojimbo_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/yojimbo.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_yojimbo_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ceph.c:37,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/ceph.c:42,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/ceph.c:43,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/ceph.c:43,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ceph.c:45,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ceph.c:46,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ceph.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: ndpi_search_ceph
    functionSourceFile: /src/ndpi/src/lib/protocols/ceph.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ceph(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ceph.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: init_ceph_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ceph.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ceph_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/cnp-ip.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/cnp-ip.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ndpi_int_cnp_ip_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/cnp-ip.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_cnp_ip_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                           struct ndpi_flow_struct
      *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/cnp-ip.c:45,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cnp-ip.c:47,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/cnp-ip.c:47,1
    - Dst: ndpi_int_cnp_ip_add_connection
      Src: /src/ndpi/src/lib/protocols/cnp-ip.c:50,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/cnp-ip.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: ndpi_search_cnp_ip
    functionSourceFile: /src/ndpi/src/lib/protocols/cnp-ip.c
    functionUses: 0
    functionsReached:
    - ndpi_int_cnp_ip_add_connection
    - get_u_int16_t
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_cnp_ip(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/cnp-ip.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: init_cnp_ip_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/cnp-ip.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_cnp_ip_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/vxlan.c:44,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/vxlan.c:47,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/vxlan.c:50,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/vxlan.c:51,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/vxlan.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 58
    functionName: ndpi_check_vxlan
    functionSourceFile: /src/ndpi/src/lib/protocols/vxlan.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: void ndpi_check_vxlan(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/vxlan.c:62,1
    - Dst: ndpi_check_vxlan
      Src: /src/ndpi/src/lib/protocols/vxlan.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: ndpi_search_vxlan
    functionSourceFile: /src/ndpi/src/lib/protocols/vxlan.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_check_vxlan
    linkageType: ''
    returnType: void
    signature: void ndpi_search_vxlan(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/vxlan.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: init_vxlan_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/vxlan.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_vxlan_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/epicgames.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/epicgames.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: ndpi_int_epicgames_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/epicgames.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_epicgames_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                              struct ndpi_flow_struct
      * const flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/epicgames.c:44,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/epicgames.c:49,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/epicgames.c:49,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/epicgames.c:50,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/epicgames.c:51,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/epicgames.c:52,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/epicgames.c:54,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/epicgames.c:54,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/epicgames.c:57,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/epicgames.c:62,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/epicgames.c:62,1
    - Dst: ndpi_int_epicgames_add_connection
      Src: /src/ndpi/src/lib/protocols/epicgames.c:63,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/epicgames.c:66,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/epicgames.c:72,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 75
    functionName: ndpi_search_epicgames
    functionSourceFile: /src/ndpi/src/lib/protocols/epicgames.c
    functionUses: 0
    functionsReached:
    - ndpi_int_epicgames_add_connection
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - get_u_int64_t
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_epicgames(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/epicgames.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: init_epicgames_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/epicgames.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_epicgames_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/paltalk.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/paltalk.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ndpi_int_paltalk_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/paltalk.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_paltalk_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                            struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/paltalk.c:44,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/paltalk.c:46,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/paltalk.c:46,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/paltalk.c:47,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/paltalk.c:47,1
    - Dst: ndpi_int_paltalk_add_connection
      Src: /src/ndpi/src/lib/protocols/paltalk.c:49,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/paltalk.c:53,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/paltalk.c:53,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/paltalk.c:54,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/paltalk.c:54,1
    - Dst: ndpi_int_paltalk_add_connection
      Src: /src/ndpi/src/lib/protocols/paltalk.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/paltalk.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: ndpi_search_paltalk
    functionSourceFile: /src/ndpi/src/lib/protocols/paltalk.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_paltalk_add_connection
    - htonl
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_paltalk(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/paltalk.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: init_paltalk_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/paltalk.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_paltalk_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/h323.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/h323.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: ndpi_int_h323_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/h323.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_h323_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                             struct ndpi_flow_struct *flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/h323.c:43,1
    - Dst: tpkt_verify_hdr
      Src: /src/ndpi/src/lib/protocols/h323.c:46,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/h323.c:49,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/h323.c:49,1
    - Dst: ndpi_int_h323_add_connection
      Src: /src/ndpi/src/lib/protocols/h323.c:50,1
    - Dst: ndpi_int_h323_add_connection
      Src: /src/ndpi/src/lib/protocols/h323.c:55,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/h323.c:59,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/h323.c:59,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/h323.c:64,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/h323.c:64,1
    - Dst: ndpi_int_h323_add_connection
      Src: /src/ndpi/src/lib/protocols/h323.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/h323.c:71,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 72
    functionName: ndpi_search_h323
    functionSourceFile: /src/ndpi/src/lib/protocols/h323.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_h323_add_connection
    - tpkt_verify_hdr
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_h323(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/h323.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: init_h323_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/h323.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_h323_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: GET_SEQ_SIZE
    functionSourceFile: /src/ndpi/src/lib/protocols/whatsapp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SEQ_SIZE(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: GET_SEQ
    functionSourceFile: /src/ndpi/src/lib/protocols/whatsapp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_SEQ(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:54,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: ndpi_int_whatsapp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/whatsapp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_whatsapp_add_connection(struct ndpi_detection_module_struct
      * ndpi_struct,\n                                             struct ndpi_flow_struct
      * flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_SEQ_SIZE
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:65,1
    - Dst: GET_SEQ_SIZE
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:67,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:73,1
    - Dst: GET_SEQ
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:73,1
    - Dst: GET_SEQ_SIZE
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:77,1
    - Dst: ndpi_int_whatsapp_add_connection
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - seq_id
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - enum whatsapp_sequence_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: ndpi_int_match_whatsapp_sequence
    functionSourceFile: /src/ndpi/src/lib/protocols/whatsapp.c
    functionUses: 0
    functionsReached:
    - GET_SEQ
    - GET_SEQ_SIZE
    - memcmp
    - ndpi_int_whatsapp_add_connection
    linkageType: ''
    returnType: int
    signature: "int ndpi_int_match_whatsapp_sequence(struct ndpi_detection_module_struct
      * ndpi_struct,\n                                            struct ndpi_flow_struct
      * flow,\n                                            enum whatsapp_sequence_id
      seq_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:92,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:96,1
    - Dst: GET_SEQ_SIZE
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:105,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:106,1
    - Dst: GET_SEQ
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:106,1
    - Dst: GET_SEQ_SIZE
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:106,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:108,1
    - Dst: ndpi_int_whatsapp_add_connection
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:109,1
    - Dst: ndpi_int_match_whatsapp_sequence
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:113,1
    - Dst: ndpi_int_match_whatsapp_sequence
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:114,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 88
    functionDepth: 7
    functionLinenumber: 88
    functionLinenumberEnd: 120
    functionName: ndpi_search_whatsapp
    functionSourceFile: /src/ndpi/src/lib/protocols/whatsapp.c
    functionUses: 0
    functionsReached:
    - GET_SEQ
    - NDPI_LOG_INFO
    - GET_SEQ_SIZE
    - NDPI_LOG_DBG
    - ndpi_int_match_whatsapp_sequence
    - NDPI_EXCLUDE_DISSECTOR
    - memcmp
    - ndpi_int_whatsapp_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_whatsapp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/whatsapp.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: init_whatsapp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/whatsapp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_whatsapp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/kismet.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/kismet.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: ndpi_int_kismet_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/kismet.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_kismet_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                           struct ndpi_flow_struct
      * const flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/kismet.c:44,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/kismet.c:46,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kismet.c:48,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/kismet.c:52,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/kismet.c:52,1
    - Dst: ndpi_int_kismet_add_connection
      Src: /src/ndpi/src/lib/protocols/kismet.c:54,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kismet.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: ndpi_search_kismet
    functionSourceFile: /src/ndpi/src/lib/protocols/kismet.c
    functionUses: 0
    functionsReached:
    - ndpi_int_kismet_add_connection
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - strncmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_kismet(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/kismet.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: init_kismet_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/kismet.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_kismet_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/cpha.c:36,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/cpha.c:38,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/cpha.c:49,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/cpha.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: ndpi_search_cpha
    functionSourceFile: /src/ndpi/src/lib/protocols/cpha.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_DBG
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_cpha(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/cpha.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: init_cpha_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/cpha.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_cpha_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/syslog.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ndpi_int_syslog_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/syslog.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_syslog_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \  *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/syslog.c:44,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/syslog.c:47,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/syslog.c:54,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/syslog.c:58,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/syslog.c:59,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/syslog.c:62,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/syslog.c:66,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/syslog.c:69,1
    - Dst: ndpi_isalnum
      Src: /src/ndpi/src/lib/protocols/syslog.c:74,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/syslog.c:82,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/syslog.c:94,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/syslog.c:99,1
    - Dst: ndpi_int_syslog_add_connection
      Src: /src/ndpi/src/lib/protocols/syslog.c:100,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/syslog.c:103,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 104
    functionName: ndpi_search_syslog
    functionSourceFile: /src/ndpi/src/lib/protocols/syslog.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_isalnum
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_syslog_add_connection
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_syslog(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/syslog.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: init_syslog_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/syslog.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_syslog_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/hl7.c:39,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/hl7.c:45,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/hl7.c:46,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/hl7.c:47,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/hl7.c:48,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/hl7.c:49,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/hl7.c:50,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/hl7.c:52,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/hl7.c:53,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/hl7.c:61,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/hl7.c:61,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/hl7.c:63,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/hl7.c:64,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/hl7.c:69,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 70
    functionName: ndpi_search_hl7
    functionSourceFile: /src/ndpi/src/lib/protocols/hl7.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - LINE_ENDS
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_hl7(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/hl7.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: init_hl7_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/hl7.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_hl7_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/pfcp.c:39,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/pfcp.c:42,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/pfcp.c:42,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/pfcp.c:49,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/pfcp.c:49,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/pfcp.c:51,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/pfcp.c:52,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/pfcp.c:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: ndpi_search_pfcp
    functionSourceFile: /src/ndpi/src/lib/protocols/pfcp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - get_u_int16_t
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_pfcp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/pfcp.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: init_pfcp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/pfcp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_pfcp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hmac_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: P_HARD_RESET_PACKET_ID_OFFSET
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P_HARD_RESET_PACKET_ID_OFFSET(hmac_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hmac_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: P_PACKET_ID_ARRAY_LEN_OFFSET
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P_PACKET_ID_ARRAY_LEN_OFFSET(hmac_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/openvpn.c:69,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/openvpn.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - confidence
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: ndpi_int_openvpn_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_openvpn_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                            struct ndpi_flow_struct
      * const flow,\n                                            ndpi_confidence_t
      confidence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: is_opcode_valid
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_opcode_valid(u_int8_t opcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/openvpn.c:92,1
    - Dst: P_HARD_RESET_PACKET_ID_OFFSET
      Src: /src/ndpi/src/lib/protocols/openvpn.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - payload
    - hms
    argTypes:
    - u_int8_t*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: get_packet_id
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 0
    functionsReached:
    - ntohl
    - P_HARD_RESET_PACKET_ID_OFFSET
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t get_packet_id(const u_int8_t * payload, u_int8_t hms)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - hmac
    argTypes:
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: check_for_valid_hmac
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_for_valid_hmac(u_int32_t hmac)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: P_HARD_RESET_PACKET_ID_OFFSET
      Src: /src/ndpi/src/lib/protocols/openvpn.c:119,1
    - Dst: get_packet_id
      Src: /src/ndpi/src/lib/protocols/openvpn.c:120,1
    - Dst: P_HARD_RESET_PACKET_ID_OFFSET
      Src: /src/ndpi/src/lib/protocols/openvpn.c:123,1
    - Dst: get_packet_id
      Src: /src/ndpi/src/lib/protocols/openvpn.c:124,1
    - Dst: check_for_valid_hmac
      Src: /src/ndpi/src/lib/protocols/openvpn.c:130,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/openvpn.c:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - payload
    - payload_len
    argTypes:
    - u_int8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: detect_hmac_size
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 0
    functionsReached:
    - get_packet_id
    - check_for_valid_hmac
    - P_HARD_RESET_PACKET_ID_OFFSET
    - ntohl
    linkageType: ''
    returnType: int8_t
    signature: int8_t detect_hmac_size(const u_int8_t *payload, int payload_len)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_opcode_valid
      Src: /src/ndpi/src/lib/protocols/openvpn.c:163,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:168,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:177,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:187,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/openvpn.c:192,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:193,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:197,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/openvpn.c:203,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:204,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/openvpn.c:210,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/openvpn.c:216,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/openvpn.c:220,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:221,1
    - Dst: ndpi_ntohll
      Src: /src/ndpi/src/lib/protocols/openvpn.c:222,1
    - Dst: detect_hmac_size
      Src: /src/ndpi/src/lib/protocols/openvpn.c:230,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:231,1
    - Dst: P_PACKET_ID_ARRAY_LEN_OFFSET
      Src: /src/ndpi/src/lib/protocols/openvpn.c:234,1
    - Dst: P_PACKET_ID_ARRAY_LEN_OFFSET
      Src: /src/ndpi/src/lib/protocols/openvpn.c:235,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/openvpn.c:245,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/openvpn.c:246,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:249,1
    - Dst: ndpi_ntohll
      Src: /src/ndpi/src/lib/protocols/openvpn.c:249,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 69
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 262
    functionName: search_standard
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 0
    functionsReached:
    - is_opcode_valid
    - detect_hmac_size
    - NDPI_LOG_INFO
    - ndpi_ntohll
    - memcmp
    - P_PACKET_ID_ARRAY_LEN_OFFSET
    - NDPI_LOG_DBG2
    - ntohs
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int search_standard(struct ndpi_detection_module_struct* ndpi_struct,\n
      \                          struct ndpi_flow_struct* flow)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:291,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:303,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:311,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:318,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:323,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:329,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:341,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:347,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:359,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/openvpn.c:364,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:367,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - first_byte
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 369
    functionName: search_heur_opcode_common
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG2
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: int
    signature: "int search_heur_opcode_common(struct ndpi_detection_module_struct*
      ndpi_struct,\n                                     struct ndpi_flow_struct*
      flow,\n                                     u_int8_t first_byte)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_flow_addr_informative
      Src: /src/ndpi/src/lib/protocols/openvpn.c:385,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:386,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:393,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:402,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/openvpn.c:420,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:421,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:426,1
    - Dst: search_heur_opcode_common
      Src: /src/ndpi/src/lib/protocols/openvpn.c:429,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:430,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:438,1
    - Dst: search_heur_opcode_common
      Src: /src/ndpi/src/lib/protocols/openvpn.c:450,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 452
    functionName: search_heur_opcode
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG2
    - search_heur_opcode_common
    - ntohs
    - is_flow_addr_informative
    linkageType: ''
    returnType: int
    signature: "int search_heur_opcode(struct ndpi_detection_module_struct* ndpi_struct,\n
      \                             struct ndpi_flow_struct* flow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/openvpn.c:459,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/openvpn.c:462,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:463,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/openvpn.c:464,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:468,1
    - Dst: search_standard
      Src: /src/ndpi/src/lib/protocols/openvpn.c:473,1
    - Dst: search_heur_opcode
      Src: /src/ndpi/src/lib/protocols/openvpn.c:477,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/openvpn.c:483,1
    - Dst: ndpi_int_openvpn_add_connection
      Src: /src/ndpi/src/lib/protocols/openvpn.c:488,1
    - Dst: ndpi_int_openvpn_add_connection
      Src: /src/ndpi/src/lib/protocols/openvpn.c:490,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/openvpn.c:491,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/openvpn.c:494,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 455
    functionDepth: 6
    functionLinenumber: 455
    functionLinenumberEnd: 497
    functionName: ndpi_search_openvpn
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - ndpi_int_openvpn_add_connection
    - search_standard
    - ntohl
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    - search_heur_opcode
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_openvpn(struct ndpi_detection_module_struct* ndpi_struct,\n
      \                               struct ndpi_flow_struct* flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/openvpn.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 504
    functionName: init_openvpn_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/openvpn.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_openvpn_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/dlep.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dlep.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: ndpi_int_dlep_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/dlep.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_dlep_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                         struct ndpi_flow_struct
      *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dlep.c:48,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/dlep.c:51,1
    - Dst: ndpi_int_dlep_add_connection
      Src: /src/ndpi/src/lib/protocols/dlep.c:52,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dlep.c:59,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dlep.c:59,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dlep.c:61,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/dlep.c:61,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dlep.c:62,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/dlep.c:62,1
    - Dst: ndpi_int_dlep_add_connection
      Src: /src/ndpi/src/lib/protocols/dlep.c:64,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dlep.c:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 71
    functionName: ndpi_search_dlep
    functionSourceFile: /src/ndpi/src/lib/protocols/dlep.c
    functionUses: 0
    functionsReached:
    - ndpi_int_dlep_add_connection
    - get_u_int16_t
    - NDPI_LOG_DBG
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_dlep(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/dlep.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: init_dlep_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/dlep.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_dlep_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:59,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:62,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:63,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:64,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:65,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:66,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:69,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:71,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:72,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:73,1
    - Dst: print_ip_p
      Src: /src/ndpi/src/lib/protocols/btlib.c:73,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:75,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/btlib.c:75,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:76,1
    - Dst: print20b
      Src: /src/ndpi/src/lib/protocols/btlib.c:76,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:77,1
    - Dst: print20b
      Src: /src/ndpi/src/lib/protocols/btlib.c:77,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:78,1
    - Dst: printXb
      Src: /src/ndpi/src/lib/protocols/btlib.c:78,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:79,1
    - Dst: print20b
      Src: /src/ndpi/src/lib/protocols/btlib.c:79,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:80,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:82,1
    - Dst: print_ip_p
      Src: /src/ndpi/src/lib/protocols/btlib.c:82,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:83,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/btlib.c:83,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:84,1
    - Dst: print20b
      Src: /src/ndpi/src/lib/protocols/btlib.c:84,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:85,1
    - Dst: printXb
      Src: /src/ndpi/src/lib/protocols/btlib.c:85,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:86,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:90,1
    - Dst: print_ip_p
      Src: /src/ndpi/src/lib/protocols/btlib.c:90,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:96,1
    - Dst: print_ip6_p
      Src: /src/ndpi/src/lib/protocols/btlib.c:96,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:101,1
    - Dst: print_id_ip_p
      Src: /src/ndpi/src/lib/protocols/btlib.c:101,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:106,1
    - Dst: print_id_ip6_p
      Src: /src/ndpi/src/lib/protocols/btlib.c:106,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:112,1
    - Dst: print_ip_p
      Src: /src/ndpi/src/lib/protocols/btlib.c:112,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:116,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:117,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 74
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct bt_parse_protocol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 118
    functionName: dump_bt_proto_struct
    functionSourceFile: /src/ndpi/src/lib/protocols/btlib.c
    functionUses: 0
    functionsReached:
    - print_ip6_p
    - print20b
    - print_id_ip6_p
    - print_id_ip_p
    - htons
    - printf
    - printXb
    - print_ip_p
    linkageType: ''
    returnType: void
    signature: void dump_bt_proto_struct(struct bt_parse_protocol *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/btlib.c:124,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:138,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/btlib.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - msg
    - k
    - s
    - l
    argTypes:
    - char*
    - char*
    - u_int8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 142
    functionName: _print_safe_str
    functionSourceFile: /src/ndpi/src/lib/protocols/btlib.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_free
    - ndpi_malloc
    linkageType: ''
    returnType: void
    signature: void _print_safe_str(char *msg,char *k,const u_int8_t *s,size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _print_safe_str
      Src: /src/ndpi/src/lib/protocols/btlib.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - cbd
    argTypes:
    - char*
    - bt_parse_data_cb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: print_safe_str
    functionSourceFile: /src/ndpi/src/lib/protocols/btlib.c
    functionUses: 1
    functionsReached:
    - _print_safe_str
    linkageType: ''
    returnType: void
    signature: void print_safe_str(char *msg,bt_parse_data_cb_t *cbd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cmd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: DEBUG_TRACE
    functionSourceFile: /src/ndpi/src/lib/protocols/btlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_TRACE(cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cmd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: DEBUG_TRACE
    functionSourceFile: /src/ndpi/src/lib/protocols/btlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_TRACE(cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: STREQ
    functionSourceFile: /src/ndpi/src/lib/protocols/btlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREQ(a,b)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_TRACE
      Src: /src/ndpi/src/lib/protocols/btlib.c:165,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:165,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:167,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:172,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:173,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:174,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:175,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:176,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:180,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:180,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:184,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:189,1
    - Dst: DEBUG_TRACE
      Src: /src/ndpi/src/lib/protocols/btlib.c:194,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:194,1
    - Dst: DEBUG_TRACE
      Src: /src/ndpi/src/lib/protocols/btlib.c:198,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:198,1
    - Dst: DEBUG_TRACE
      Src: /src/ndpi/src/lib/protocols/btlib.c:201,1
    - Dst: print_safe_str
      Src: /src/ndpi/src/lib/protocols/btlib.c:201,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:206,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:210,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:214,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:218,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:223,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:228,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:232,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:236,1
    - Dst: DEBUG_TRACE
      Src: /src/ndpi/src/lib/protocols/btlib.c:238,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/btlib.c:238,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:244,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:249,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:279,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:279,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:284,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:293,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/btlib.c:311,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/btlib.c:315,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/btlib.c:319,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/btlib.c:323,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/btlib.c:327,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:331,1
    - Dst: STREQ
      Src: /src/ndpi/src/lib/protocols/btlib.c:339,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/btlib.c:349,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/btlib.c:351,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/btlib.c:353,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/btlib.c:354,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/btlib.c:356,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/btlib.c:357,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 208
    argCount: 1
    argNames:
    - cbd
    argTypes:
    - bt_parse_data_cb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 372
    functionName: cb_data
    functionSourceFile: /src/ndpi/src/lib/protocols/btlib.c
    functionUses: 0
    functionsReached:
    - STREQ
    - strncmp
    - htons
    - print_safe_str
    - htonl
    - printf
    - DEBUG_TRACE
    linkageType: ''
    returnType: void
    signature: void cb_data(bt_parse_data_cb_t *cbd)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: bt_decode
      Src: /src/ndpi/src/lib/protocols/btlib.c:433,1
    - Dst: cb_data
      Src: /src/ndpi/src/lib/protocols/btlib.c:435,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/btlib.c:446,1
    - Dst: bt_decode
      Src: /src/ndpi/src/lib/protocols/btlib.c:449,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/btlib.c:453,1
    - Dst: bt_decode
      Src: /src/ndpi/src/lib/protocols/btlib.c:456,1
    - Dst: cb_data
      Src: /src/ndpi/src/lib/protocols/btlib.c:458,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 123
    argCount: 4
    argNames:
    - b
    - l
    - ret
    - cbd
    argTypes:
    - u_int8_t*
    - size_t*
    - int*
    - bt_parse_data_cb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 472
    functionName: bt_decode
    functionSourceFile: /src/ndpi/src/lib/protocols/btlib.c
    functionUses: 1
    functionsReached:
    - bt_decode
    - cb_data
    - strncpy
    - strlen
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t *bt_decode(const u_int8_t *b, size_t *l, int *ret, bt_parse_data_cb_t
      *cbd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/wsd.c:36,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/wsd.c:40,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/wsd.c:42,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/wsd.c:44,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/wsd.c:46,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/wsd.c:48,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/wsd.c:49,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/wsd.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: ndpi_search_wsd
    functionSourceFile: /src/ndpi/src/lib/protocols/wsd.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - strncmp
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_wsd(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/wsd.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: init_wsd_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/wsd.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_wsd_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_ber_decode_length
      Src: /src/ndpi/src/lib/protocols/kerberos.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - kasn1_offset
    argTypes:
    - struct ndpi_detection_module_struct*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: krb_decode_asn1_length
    functionSourceFile: /src/ndpi/src/lib/protocols/kerberos.c
    functionUses: 0
    functionsReached:
    - asn1_ber_decode_length
    linkageType: ''
    returnType: int
    signature: "int krb_decode_asn1_length(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 size_t * const kasn1_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: krb_decode_asn1_length
      Src: /src/ndpi/src/lib/protocols/kerberos.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - kasn1_offset
    argTypes:
    - struct ndpi_detection_module_struct*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: krb_decode_asn1_sequence_type
    functionSourceFile: /src/ndpi/src/lib/protocols/kerberos.c
    functionUses: 0
    functionsReached:
    - krb_decode_asn1_length
    linkageType: ''
    returnType: int
    signature: "int krb_decode_asn1_sequence_type(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                         size_t * const kasn1_offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: krb_decode_asn1_length
      Src: /src/ndpi/src/lib/protocols/kerberos.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ndpi_struct
    - kasn1_offset
    - out
    argTypes:
    - struct ndpi_detection_module_struct*
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 110
    functionName: krb_decode_asn1_string_type
    functionSourceFile: /src/ndpi/src/lib/protocols/kerberos.c
    functionUses: 0
    functionsReached:
    - krb_decode_asn1_length
    linkageType: ''
    returnType: int
    signature: "int krb_decode_asn1_string_type(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                       size_t * const kasn1_offset,\n
      \                                      char const ** const out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: krb_decode_asn1_length
      Src: /src/ndpi/src/lib/protocols/kerberos.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ndpi_struct
    - kasn1_offset
    - out
    argTypes:
    - struct ndpi_detection_module_struct*
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 146
    functionName: krb_decode_asn1_int_type
    functionSourceFile: /src/ndpi/src/lib/protocols/kerberos.c
    functionUses: 0
    functionsReached:
    - krb_decode_asn1_length
    linkageType: ''
    returnType: int
    signature: "int krb_decode_asn1_int_type(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   size_t * const kasn1_offset,\n                                    int
      * const out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: krb_decode_asn1_length
      Src: /src/ndpi/src/lib/protocols/kerberos.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - kasn1_offset
    argTypes:
    - struct ndpi_detection_module_struct*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 172
    functionName: krb_decode_asn1_blocks_skip
    functionSourceFile: /src/ndpi/src/lib/protocols/kerberos.c
    functionUses: 0
    functionsReached:
    - krb_decode_asn1_length
    linkageType: ''
    returnType: int
    signature: "int krb_decode_asn1_blocks_skip(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                       size_t * const kasn1_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/kerberos.c:177,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/protocols/kerberos.c:183,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/protocols/kerberos.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - dst
    - dst_siz
    - src
    - src_siz
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: krb_strncpy_lower
    functionSourceFile: /src/ndpi/src/lib/protocols/kerberos.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - ndpi_isprint
    - tolower
    linkageType: ''
    returnType: void
    signature: "void krb_strncpy_lower(char * const dst, size_t dst_siz,\n                              char
      const * const src, size_t src_siz)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: krb_decode_asn1_sequence_type
      Src: /src/ndpi/src/lib/protocols/kerberos.c:201,1
    - Dst: krb_decode_asn1_blocks_skip
      Src: /src/ndpi/src/lib/protocols/kerberos.c:207,1
    - Dst: krb_decode_asn1_int_type
      Src: /src/ndpi/src/lib/protocols/kerberos.c:213,1
    - Dst: krb_decode_asn1_blocks_skip
      Src: /src/ndpi/src/lib/protocols/kerberos.c:219,1
    - Dst: krb_decode_asn1_int_type
      Src: /src/ndpi/src/lib/protocols/kerberos.c:225,1
    - Dst: krb_decode_asn1_blocks_skip
      Src: /src/ndpi/src/lib/protocols/kerberos.c:231,1
    - Dst: krb_decode_asn1_sequence_type
      Src: /src/ndpi/src/lib/protocols/kerberos.c:233,1
    - Dst: krb_decode_asn1_string_type
      Src: /src/ndpi/src/lib/protocols/kerberos.c:239,1
    - Dst: krb_strncpy_lower
      Src: /src/ndpi/src/lib/protocols/kerberos.c:250,1
    - Dst: krb_decode_asn1_string_type
      Src: /src/ndpi/src/lib/protocols/kerberos.c:254,1
    - Dst: krb_decode_asn1_sequence_type
      Src: /src/ndpi/src/lib/protocols/kerberos.c:260,1
    - Dst: krb_decode_asn1_blocks_skip
      Src: /src/ndpi/src/lib/protocols/kerberos.c:266,1
    - Dst: krb_decode_asn1_blocks_skip
      Src: /src/ndpi/src/lib/protocols/kerberos.c:273,1
    - Dst: krb_decode_asn1_string_type
      Src: /src/ndpi/src/lib/protocols/kerberos.c:279,1
    - Dst: krb_strncpy_lower
      Src: /src/ndpi/src/lib/protocols/kerberos.c:290,1
    - Dst: krb_strncpy_lower
      Src: /src/ndpi/src/lib/protocols/kerberos.c:293,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - payload_offset
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 298
    functionName: krb_parse
    functionSourceFile: /src/ndpi/src/lib/protocols/kerberos.c
    functionUses: 0
    functionsReached:
    - krb_decode_asn1_sequence_type
    - krb_strncpy_lower
    - krb_decode_asn1_string_type
    - krb_decode_asn1_int_type
    - krb_decode_asn1_blocks_skip
    linkageType: ''
    returnType: int
    signature: "int krb_parse(struct ndpi_detection_module_struct * const ndpi_struct,\n
      \                    struct ndpi_flow_struct * const flow,\n                     size_t
      payload_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/kerberos.c:302,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/kerberos.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 5
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: ndpi_int_kerberos_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/kerberos.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_kerberos_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t     struct ndpi_flow_struct *flow)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/kerberos.c:311,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/kerberos.c:311,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/kerberos.c:312,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/kerberos.c:312,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kerberos.c:317,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/kerberos.c:321,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:324,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/kerberos.c:331,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:340,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:344,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/kerberos.c:359,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/kerberos.c:359,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:366,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/kerberos.c:378,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:383,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/kerberos.c:390,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:412,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:425,1
    - Dst: ndpi_int_kerberos_add_connection
      Src: /src/ndpi/src/lib/protocols/kerberos.c:428,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:447,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:454,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:463,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:469,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:482,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/protocols/kerberos.c:490,1
    - Dst: krb_strncpy_lower
      Src: /src/ndpi/src/lib/protocols/kerberos.c:513,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:516,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/kerberos.c:519,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/kerberos.c:519,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:535,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:537,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:545,1
    - Dst: krb_strncpy_lower
      Src: /src/ndpi/src/lib/protocols/kerberos.c:558,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:561,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:563,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:570,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:576,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:583,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:593,1
    - Dst: krb_strncpy_lower
      Src: /src/ndpi/src/lib/protocols/kerberos.c:606,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:609,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:611,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/kerberos.c:615,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:624,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/kerberos.c:632,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/kerberos.c:640,1
    - Dst: krb_parse
      Src: /src/ndpi/src/lib/protocols/kerberos.c:642,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/kerberos.c:644,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/kerberos.c:647,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:654,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:666,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kerberos.c:675,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 213
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 308
    functionDepth: 6
    functionLinenumber: 308
    functionLinenumberEnd: 676
    functionName: ndpi_search_kerberos
    functionSourceFile: /src/ndpi/src/lib/protocols/kerberos.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ntohl
    - ndpi_int_kerberos_add_connection
    - NDPI_LOG_DBG
    - get_u_int32_t
    - krb_strncpy_lower
    - ndpi_snprintf
    - ndpi_malloc
    - ndpi_isprint
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_free
    - printf
    - krb_parse
    - ntohs
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_kerberos(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/kerberos.c:684,1
    - Dst: ndpi_search_kerberos
      Src: /src/ndpi/src/lib/protocols/kerberos.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 678
    functionDepth: 7
    functionLinenumber: 678
    functionLinenumberEnd: 698
    functionName: ndpi_search_kerberos_extra
    functionSourceFile: /src/ndpi/src/lib/protocols/kerberos.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_search_kerberos
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_kerberos_extra(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/kerberos.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 700
    functionDepth: 3
    functionLinenumber: 700
    functionLinenumberEnd: 705
    functionName: init_kerberos_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/kerberos.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_kerberos_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ripe_atlas.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ripe_atlas.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ndpi_int_ripe_atlas_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ripe_atlas.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_DBG
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ripe_atlas_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                               struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ripe_atlas.c:47,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ripe_atlas.c:50,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/ripe_atlas.c:54,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/ripe_atlas.c:54,1
    - Dst: ndpi_int_ripe_atlas_add_connection
      Src: /src/ndpi/src/lib/protocols/ripe_atlas.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ripe_atlas.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 60
    functionName: ndpi_search_ripe_atlas
    functionSourceFile: /src/ndpi/src/lib/protocols/ripe_atlas.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - ndpi_int_ripe_atlas_add_connection
    - strncmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ripe_atlas(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ripe_atlas.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: init_ripe_atlas_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ripe_atlas.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ripe_atlas_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ndpi_int_cod_mobile_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/cod_mobile.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_cod_mobile_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, \n                                               struct ndpi_flow_struct
      *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:46,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:49,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:49,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:51,1
    - Dst: ndpi_int_cod_mobile_add_connection
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:53,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:60,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:61,1
    - Dst: ndpi_int_cod_mobile_add_connection
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:63,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 71
    functionName: ndpi_search_cod_mobile
    functionSourceFile: /src/ndpi/src/lib/protocols/cod_mobile.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_memmem
    - NDPI_STATICSTRING_LEN
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    - ndpi_int_cod_mobile_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_search_cod_mobile(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/cod_mobile.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: init_cod_mobile_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/cod_mobile.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_cod_mobile_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ndpi_int_snmp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/snmp_proto.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_snmp_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_snmp
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:47,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: ndpi_search_snmp_again
    functionSourceFile: /src/ndpi/src/lib/protocols/snmp_proto.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_search_snmp
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_snmp_again(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \     struct ndpi_flow_struct *flow)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:61,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:61,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:67,1
    - Dst: asn1_ber_decode_length
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:75,1
    - Dst: ndpi_int_snmp_add_connection
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:84,1
    - Dst: asn1_ber_decode_length
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:109,1
    - Dst: asn1_ber_decode_length
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:112,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:120,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:131,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:132,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:144,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 145
    functionName: ndpi_search_snmp
    functionSourceFile: /src/ndpi/src/lib/protocols/snmp_proto.c
    functionUses: 1
    functionsReached:
    - ndpi_set_risk
    - ndpi_int_snmp_add_connection
    - snprintf
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - printf
    - asn1_ber_decode_length
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_snmp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/snmp_proto.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: init_snmp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/snmp_proto.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_snmp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ptpv2.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ndpi_int_ptpv2_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ptpv2.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ptpv2_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t*ndpi_struct,
      struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ptpv2.c:47,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ptpv2.c:51,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ptpv2.c:52,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ptpv2.c:59,1
    - Dst: ndpi_int_ptpv2_add_connection
      Src: /src/ndpi/src/lib/protocols/ptpv2.c:60,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ptpv2.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: ndpi_search_ptpv2_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/ptpv2.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_int_ptpv2_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_ptpv2_udp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ptpv2.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: init_ptpv2_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ptpv2.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ptpv2_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/z3950.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: ndpi_int_z3950_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/z3950.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_z3950_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                          struct ndpi_flow_struct
      *flow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_seen_flow_beginning
      Src: /src/ndpi/src/lib/protocols/z3950.c:50,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 23
    argCount: 3
    argNames:
    - flow
    - packet
    - max_sequences
    argTypes:
    - struct ndpi_flow_struct*
    - struct ndpi_packet_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 87
    functionName: z3950_parse_sequences
    functionSourceFile: /src/ndpi/src/lib/protocols/z3950.c
    functionUses: 0
    functionsReached:
    - ndpi_seen_flow_beginning
    linkageType: ''
    returnType: int
    signature: "int z3950_parse_sequences(struct ndpi_flow_struct *flow, struct ndpi_packet_struct
      const * const packet,\n                                 int max_sequences)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/z3950.c:96,1
    - Dst: z3950_parse_sequences
      Src: /src/ndpi/src/lib/protocols/z3950.c:100,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/z3950.c:103,1
    - Dst: ndpi_int_z3950_add_connection
      Src: /src/ndpi/src/lib/protocols/z3950.c:114,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/z3950.c:116,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/z3950.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 124
    functionName: ndpi_search_z3950
    functionSourceFile: /src/ndpi/src/lib/protocols/z3950.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_int_z3950_add_connection
    - z3950_parse_sequences
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_z3950(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                             struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/z3950.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: init_z3950_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/z3950.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_z3950_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/imo.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ndpi_int_imo_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/imo.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_imo_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t*ndpi_struct,
      struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/imo.c:39,1
    - Dst: ndpi_int_imo_add_connection
      Src: /src/ndpi/src/lib/protocols/imo.c:45,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/imo.c:60,1
    - Dst: ndpi_int_imo_add_connection
      Src: /src/ndpi/src/lib/protocols/imo.c:61,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/imo.c:64,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 68
    functionName: ndpi_search_imo
    functionSourceFile: /src/ndpi/src/lib/protocols/imo.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - NDPI_LOG_INFO
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_imo_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_search_imo(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/imo.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: init_imo_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/imo.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_imo_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/openflow.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/openflow.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: ndpi_int_openflow_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/openflow.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_openflow_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                             struct ndpi_flow_struct
      *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/openflow.c:46,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/openflow.c:50,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/openflow.c:50,1
    - Dst: ndpi_int_openflow_add_connection
      Src: /src/ndpi/src/lib/protocols/openflow.c:52,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/openflow.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: ndpi_search_openflow
    functionSourceFile: /src/ndpi/src/lib/protocols/openflow.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    - ndpi_int_openflow_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_openflow(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/openflow.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: init_openflow_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/openflow.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_openflow_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:36,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: ndpi_int_teamview_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/teamviewer.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_teamview_add_connection(struct ndpi_detection_module_struct\n
      \                                            *ndpi_struct, struct ndpi_flow_struct
      *flow)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:45,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:52,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:52,1
    - Dst: ndpi_int_teamview_add_connection
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:53,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:54,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:65,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:65,1
    - Dst: ndpi_int_teamview_add_connection
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:66,1
    - Dst: ndpi_int_teamview_add_connection
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:74,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:82,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 83
    functionName: ndpi_search_teamview
    functionSourceFile: /src/ndpi/src/lib/protocols/teamviewer.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - ndpi_int_teamview_add_connection
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_teamview(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/teamviewer.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: init_teamviewer_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/teamviewer.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_teamviewer_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/hots.c:33,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/hots.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: ndpi_hots_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/hots.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: void ndpi_hots_add_connection(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/hots.c:42,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/hots.c:45,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/hots.c:45,1
    - Dst: ndpi_hots_add_connection
      Src: /src/ndpi/src/lib/protocols/hots.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/hots.c:63,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 16
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: ndpi_search_hots
    functionSourceFile: /src/ndpi/src/lib/protocols/hots.c
    functionUses: 0
    functionsReached:
    - ndpi_hots_add_connection
    - NDPI_LOG_DBG
    - ntohs
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_hots(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/hots.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: init_hots_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/hots.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_hots_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: thrift_strict_hdr
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON thrift_strict_hdr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: thrift_compact_hdr
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON thrift_compact_hdr
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/thrift.c:81,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/thrift.c:84,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/thrift.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - master_protocol
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: ndpi_int_thrift_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_DBG
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_thrift_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                           struct ndpi_flow_struct
      *flow,\n                                           uint16_t master_protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_printable_buffer
      Src: /src/ndpi/src/lib/protocols/thrift.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - method_length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: thrift_validate_method
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 0
    functionsReached:
    - ndpi_is_printable_buffer
    linkageType: ''
    returnType: int
    signature: int thrift_validate_method(char const * const method, size_t method_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: thrift_validate_version
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int thrift_validate_version(uint8_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message_type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: thrift_validate_type
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int thrift_validate_type(uint8_t message_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: thrift_validate_method
      Src: /src/ndpi/src/lib/protocols/thrift.c:117,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/thrift.c:118,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/thrift.c:121,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/thrift.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - method
    - method_length
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: thrift_set_method
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - ndpi_set_risk
    - strncpy
    - thrift_validate_method
    linkageType: ''
    returnType: void
    signature: "void thrift_set_method(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                             struct ndpi_flow_struct *flow,\n                              char
      const * const method, size_t method_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/thrift.c:130,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/thrift.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - message_type
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: thrift_set_type
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    linkageType: ''
    returnType: void
    signature: "void thrift_set_type(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow,\n                            uint8_t
      message_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/thrift.c:144,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/thrift.c:147,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/thrift.c:152,1
    - Dst: thrift_validate_version
      Src: /src/ndpi/src/lib/protocols/thrift.c:156,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/thrift.c:157,1
    - Dst: thrift_validate_type
      Src: /src/ndpi/src/lib/protocols/thrift.c:161,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/thrift.c:162,1
    - Dst: ndpi_int_thrift_add_connection
      Src: /src/ndpi/src/lib/protocols/thrift.c:166,1
    - Dst: thrift_set_method
      Src: /src/ndpi/src/lib/protocols/thrift.c:168,1
    - Dst: thrift_set_type
      Src: /src/ndpi/src/lib/protocols/thrift.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - strict_hdr
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - struct thrift_strict_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 139
    functionDepth: 6
    functionLinenumber: 139
    functionLinenumberEnd: 170
    functionName: ndpi_dissect_strict_hdr
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 0
    functionsReached:
    - thrift_set_method
    - ntohl
    - ndpi_int_thrift_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - thrift_validate_version
    - thrift_set_type
    - thrift_validate_type
    linkageType: ''
    returnType: void
    signature: "void ndpi_dissect_strict_hdr(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow,\n                                    struct
      thrift_strict_hdr const * const strict_hdr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/thrift.c:179,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/thrift.c:184,1
    - Dst: thrift_validate_version
      Src: /src/ndpi/src/lib/protocols/thrift.c:188,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/thrift.c:189,1
    - Dst: thrift_validate_type
      Src: /src/ndpi/src/lib/protocols/thrift.c:193,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/thrift.c:194,1
    - Dst: ndpi_int_thrift_add_connection
      Src: /src/ndpi/src/lib/protocols/thrift.c:198,1
    - Dst: thrift_set_method
      Src: /src/ndpi/src/lib/protocols/thrift.c:200,1
    - Dst: thrift_set_type
      Src: /src/ndpi/src/lib/protocols/thrift.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - compact_hdr
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - struct thrift_compact_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 172
    functionDepth: 6
    functionLinenumber: 172
    functionLinenumberEnd: 202
    functionName: ndpi_dissect_compact_hdr
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 0
    functionsReached:
    - thrift_set_method
    - ndpi_int_thrift_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - thrift_validate_version
    - thrift_set_type
    - thrift_validate_type
    linkageType: ''
    returnType: void
    signature: "void ndpi_dissect_compact_hdr(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                     struct ndpi_flow_struct
      *flow,\n                                     struct thrift_compact_hdr const
      * const compact_hdr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/thrift.c:209,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/thrift.c:217,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/thrift.c:218,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/thrift.c:219,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/thrift.c:221,1
    - Dst: ndpi_int_thrift_add_connection
      Src: /src/ndpi/src/lib/protocols/thrift.c:222,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/thrift.c:238,1
    - Dst: ndpi_dissect_strict_hdr
      Src: /src/ndpi/src/lib/protocols/thrift.c:242,1
    - Dst: ndpi_dissect_compact_hdr
      Src: /src/ndpi/src/lib/protocols/thrift.c:246,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/thrift.c:250,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/thrift.c:255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 204
    functionDepth: 7
    functionLinenumber: 204
    functionLinenumberEnd: 256
    functionName: ndpi_search_thrift_tcp_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 0
    functionsReached:
    - ndpi_dissect_strict_hdr
    - NDPI_LOG_INFO
    - ndpi_int_thrift_add_connection
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_dissect_compact_hdr
    - LINE_ENDS
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_thrift_tcp_udp(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                       struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/thrift.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: init_apache_thrift_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/thrift.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_apache_thrift_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:51,1
    - Dst: ndpi_user_agent_set
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:56,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:58,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:64,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:66,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:68,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - payload
    - payload_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 79
    functionName: xiaomi_dissect_metadata
    functionSourceFile: /src/ndpi/src/lib/protocols/xiaomi.c
    functionUses: 0
    functionsReached:
    - ndpi_user_agent_set
    - NDPI_LOG_DBG
    - ndpi_hostname_sni_set
    - ndpi_strnstr
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: "void xiaomi_dissect_metadata(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct * const flow,\n
      \                                   u_int8_t const * const payload,\n                                    u_int32_t
      payload_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:86,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:91,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:91,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:93,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:93,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:94,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:94,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:95,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:96,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:99,1
    - Dst: xiaomi_dissect_metadata
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:103,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 111
    functionName: ndpi_search_xiaomi
    functionSourceFile: /src/ndpi/src/lib/protocols/xiaomi.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - xiaomi_dissect_metadata
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_xiaomi(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/xiaomi.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: init_xiaomi_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/xiaomi.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_xiaomi_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/bjnp.c:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 8
    functionDepth: 5
    functionLinenumber: 8
    functionLinenumberEnd: 12
    functionName: ndpi_int_bjnp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/bjnp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_bjnp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t    struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bjnp.c:21,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bjnp.c:22,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bjnp.c:23,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bjnp.c:24,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bjnp.c:26,1
    - Dst: ndpi_int_bjnp_add_connection
      Src: /src/ndpi/src/lib/protocols/bjnp.c:27,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/bjnp.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 15
    functionDepth: 6
    functionLinenumber: 15
    functionLinenumberEnd: 33
    functionName: ndpi_check_bjnp
    functionSourceFile: /src/ndpi/src/lib/protocols/bjnp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_bjnp_add_connection
    - memcmp
    linkageType: ''
    returnType: void
    signature: void ndpi_check_bjnp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/bjnp.c:37,1
    - Dst: ndpi_check_bjnp
      Src: /src/ndpi/src/lib/protocols/bjnp.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 7
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: ndpi_search_bjnp
    functionSourceFile: /src/ndpi/src/lib/protocols/bjnp.c
    functionUses: 0
    functionsReached:
    - ndpi_check_bjnp
    - NDPI_LOG_DBG
    linkageType: ''
    returnType: void
    signature: void ndpi_search_bjnp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/bjnp.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: init_bjnp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/bjnp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_bjnp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/capwap.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: ndpi_int_capwap_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/capwap.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_capwap_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t   struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/capwap.c:50,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/capwap.c:53,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/capwap.c:56,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: is_capwap_multicast
    functionSourceFile: /src/ndpi/src/lib/protocols/capwap.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: int
    signature: int is_capwap_multicast(const struct ndpi_packet_struct *packet)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/capwap.c:69,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/capwap.c:69,1
    - Dst: is_capwap_multicast
      Src: /src/ndpi/src/lib/protocols/capwap.c:72,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/capwap.c:90,1
    - Dst: is_capwap_multicast
      Src: /src/ndpi/src/lib/protocols/capwap.c:98,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/capwap.c:108,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/capwap.c:118,1
    - Dst: ndpi_int_capwap_add_connection
      Src: /src/ndpi/src/lib/protocols/capwap.c:122,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 31
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 64
    functionDepth: 6
    functionLinenumber: 64
    functionLinenumberEnd: 123
    functionName: ndpi_search_setup_capwap
    functionSourceFile: /src/ndpi/src/lib/protocols/capwap.c
    functionUses: 0
    functionsReached:
    - is_capwap_multicast
    - ntohs
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_capwap_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_setup_capwap(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t     struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_setup_capwap
      Src: /src/ndpi/src/lib/protocols/capwap.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 7
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: ndpi_search_capwap
    functionSourceFile: /src/ndpi/src/lib/protocols/capwap.c
    functionUses: 0
    functionsReached:
    - ndpi_search_setup_capwap
    linkageType: ''
    returnType: void
    signature: void ndpi_search_capwap(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/capwap.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: init_capwap_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/capwap.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_capwap_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/afp.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ndpi_int_afp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/afp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void ndpi_int_afp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/afp.c:49,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/afp.c:61,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/afp.c:68,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/afp.c:69,1
    - Dst: ndpi_int_afp_add_connection
      Src: /src/ndpi/src/lib/protocols/afp.c:70,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/afp.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 45
    functionDepth: 6
    functionLinenumber: 45
    functionLinenumberEnd: 76
    functionName: ndpi_search_afp
    functionSourceFile: /src/ndpi/src/lib/protocols/afp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - ndpi_int_afp_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_afp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/afp.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: init_afp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/afp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_afp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ethersio.c:37,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/ethersio.c:40,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ethersio.c:43,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ethersio.c:44,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ethersio.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: ndpi_search_ethersio
    functionSourceFile: /src/ndpi/src/lib/protocols/ethersio.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ethersio(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ethersio.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: init_ethersio_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ethersio.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ethersio_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/trdp.c:40,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/trdp.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: ndpi_int_trdp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/trdp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_trdp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                         struct ndpi_flow_struct
      *flow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/trdp.c:48,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/trdp.c:56,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/trdp.c:56,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/trdp.c:58,1
    - Dst: ndpi_crc32
      Src: /src/ndpi/src/lib/protocols/trdp.c:60,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/trdp.c:61,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/trdp.c:61,1
    - Dst: ndpi_int_trdp_add_connection
      Src: /src/ndpi/src/lib/protocols/trdp.c:62,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/trdp.c:69,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/trdp.c:69,1
    - Dst: ndpi_crc32
      Src: /src/ndpi/src/lib/protocols/trdp.c:74,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/trdp.c:75,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/trdp.c:75,1
    - Dst: ndpi_int_trdp_add_connection
      Src: /src/ndpi/src/lib/protocols/trdp.c:76,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/trdp.c:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 84
    functionName: ndpi_search_trdp
    functionSourceFile: /src/ndpi/src/lib/protocols/trdp.c
    functionUses: 0
    functionsReached:
    - ndpi_crc32
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - le32toh
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_trdp_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_search_trdp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/trdp.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: init_trdp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/trdp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_trdp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/vmware.c:32,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/vmware.c:36,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/vmware.c:39,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/vmware.c:40,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/vmware.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: ndpi_search_vmware
    functionSourceFile: /src/ndpi/src/lib/protocols/vmware.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_vmware(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/vmware.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: init_vmware_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/vmware.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_vmware_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: raft_header
    functionSourceFile: /src/ndpi/src/lib/protocols/raft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON raft_header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/raft.c:47,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/raft.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: ndpi_int_raft_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/raft.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_raft_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                         struct ndpi_flow_struct
      *flow)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/raft.c:60,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/raft.c:64,1
    - Dst: le64toh
      Src: /src/ndpi/src/lib/protocols/raft.c:68,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/raft.c:80,1
    - Dst: le64toh
      Src: /src/ndpi/src/lib/protocols/raft.c:84,1
    - Dst: ndpi_int_raft_add_connection
      Src: /src/ndpi/src/lib/protocols/raft.c:87,1
    - Dst: ndpi_int_raft_add_connection
      Src: /src/ndpi/src/lib/protocols/raft.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 54
    functionDepth: 6
    functionLinenumber: 54
    functionLinenumberEnd: 97
    functionName: ndpi_search_raft
    functionSourceFile: /src/ndpi/src/lib/protocols/raft.c
    functionUses: 0
    functionsReached:
    - ndpi_int_raft_add_connection
    - NDPI_LOG_DBG
    - le64toh
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_raft(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/raft.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: init_raft_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/raft.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_raft_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/smpp.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: ndpi_int_smpp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/smpp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_smpp_add_connection(struct ndpi_detection_module_struct*
      ndpi_struct, \n                                         struct ndpi_flow_struct*
      flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - current_length
    - total_lenth
    argTypes:
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ndpi_check_overflow
    functionSourceFile: /src/ndpi/src/lib/protocols/smpp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_check_overflow(u_int32_t current_length, u_int32_t total_lenth)
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/smpp.c:47,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/smpp.c:51,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/smpp.c:55,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:55,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/smpp.c:57,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/smpp.c:63,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/smpp.c:77,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:77,1
    - Dst: ndpi_check_overflow
      Src: /src/ndpi/src/lib/protocols/smpp.c:79,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/smpp.c:81,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:81,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/smpp.c:88,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/smpp.c:100,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:100,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/smpp.c:103,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/smpp.c:114,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:135,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:153,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:161,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:176,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:185,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:194,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:208,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:222,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:236,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:250,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:264,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:278,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/smpp.c:292,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/smpp.c:302,1
    - Dst: ndpi_int_smpp_add_connection
      Src: /src/ndpi/src/lib/protocols/smpp.c:303,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/smpp.c:308,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 167
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 310
    functionName: ndpi_search_smpp_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/smpp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_check_overflow
    - ndpi_int_smpp_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_smpp_tcp(struct ndpi_detection_module_struct* ndpi_struct,\n
      \                                struct ndpi_flow_struct* flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/smpp.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: init_smpp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/smpp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_smpp_dissector(struct ndpi_detection_module_struct* ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tftp.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ndpi_int_tftp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/tftp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_tftp_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/ndpi/src/lib/protocols/tftp.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - packet
    - offset
    - string_start
    argTypes:
    - struct ndpi_packet_struct*
    - size_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: tftp_dissect_szstr
    functionSourceFile: /src/ndpi/src/lib/protocols/tftp.c
    functionUses: 0
    functionsReached:
    - strnlen
    linkageType: ''
    returnType: size_t
    signature: "size_t tftp_dissect_szstr(struct ndpi_packet_struct const * const
      packet,\n                                 size_t * const offset,\n                                 char
      const ** const string_start)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tftp_dissect_szstr
      Src: /src/ndpi/src/lib/protocols/tftp.c:75,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/tftp.c:83,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/tftp.c:85,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/tftp.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - packet
    - offset
    argTypes:
    - struct ndpi_packet_struct*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 92
    functionName: tftp_dissect_mode
    functionSourceFile: /src/ndpi/src/lib/protocols/tftp.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - NDPI_ARRAY_LENGTH
    - tftp_dissect_szstr
    linkageType: ''
    returnType: int
    signature: "int tftp_dissect_mode(struct ndpi_packet_struct const * const packet,\n
      \                            size_t * const offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/tftp.c:100,1
    - Dst: tftp_dissect_szstr
      Src: /src/ndpi/src/lib/protocols/tftp.c:105,1
    - Dst: tftp_dissect_szstr
      Src: /src/ndpi/src/lib/protocols/tftp.c:108,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/tftp.c:113,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/tftp.c:115,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/tftp.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - packet
    - offset
    argTypes:
    - struct ndpi_packet_struct*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 131
    functionName: tftp_dissect_options
    functionSourceFile: /src/ndpi/src/lib/protocols/tftp.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - NDPI_ARRAY_LENGTH
    - tftp_dissect_szstr
    linkageType: ''
    returnType: int
    signature: "int tftp_dissect_options(struct ndpi_packet_struct const * const packet,\n
      \                               size_t * const offset)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/tftp.c:140,1
    - Dst: get_u_int8_t
      Src: /src/ndpi/src/lib/protocols/tftp.c:143,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tftp.c:145,1
    - Dst: get_u_int8_t
      Src: /src/ndpi/src/lib/protocols/tftp.c:150,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tftp.c:159,1
    - Dst: tftp_dissect_szstr
      Src: /src/ndpi/src/lib/protocols/tftp.c:168,1
    - Dst: ndpi_is_printable_buffer
      Src: /src/ndpi/src/lib/protocols/tftp.c:171,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tftp.c:173,1
    - Dst: tftp_dissect_mode
      Src: /src/ndpi/src/lib/protocols/tftp.c:177,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tftp.c:179,1
    - Dst: tftp_dissect_options
      Src: /src/ndpi/src/lib/protocols/tftp.c:183,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tftp.c:185,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tftp.c:190,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/tftp.c:191,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tftp.c:195,1
    - Dst: ndpi_int_tftp_add_connection
      Src: /src/ndpi/src/lib/protocols/tftp.c:196,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tftp.c:204,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tftp.c:209,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/tftp.c:209,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tftp.c:223,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tftp.c:228,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/tftp.c:228,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tftp.c:244,1
    - Dst: tftp_dissect_options
      Src: /src/ndpi/src/lib/protocols/tftp.c:255,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tftp.c:257,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tftp.c:263,1
    - Dst: ndpi_int_tftp_add_connection
      Src: /src/ndpi/src/lib/protocols/tftp.c:264,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tftp.c:268,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tftp.c:274,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tftp.c:279,1
    - Dst: ndpi_int_tftp_add_connection
      Src: /src/ndpi/src/lib/protocols/tftp.c:280,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 83
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 133
    functionDepth: 6
    functionLinenumber: 133
    functionLinenumberEnd: 281
    functionName: ndpi_search_tftp
    functionSourceFile: /src/ndpi/src/lib/protocols/tftp.c
    functionUses: 0
    functionsReached:
    - get_u_int8_t
    - tftp_dissect_szstr
    - ndpi_is_printable_buffer
    - NDPI_LOG_INFO
    - get_u_int16_t
    - NDPI_LOG_DBG
    - ndpi_int_tftp_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - tftp_dissect_mode
    - ndpi_min
    - NDPI_LOG_DBG2
    - ntohs
    - tftp_dissect_options
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_tftp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/tftp.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: init_tftp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/tftp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_tftp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/gearman.c:37,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/gearman.c:40,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/gearman.c:41,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/gearman.c:43,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/gearman.c:44,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/gearman.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: ndpi_search_gearman
    functionSourceFile: /src/ndpi/src/lib/protocols/gearman.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_gearman(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/gearman.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: init_gearman_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/gearman.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_gearman_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/kakaotalk_voice.c:38,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/kakaotalk_voice.c:55,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/kakaotalk_voice.c:56,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/kakaotalk_voice.c:57,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/kakaotalk_voice.c:58,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kakaotalk_voice.c:64,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 65
    functionName: ndpi_search_kakaotalk_voice
    functionSourceFile: /src/ndpi/src/lib/protocols/kakaotalk_voice.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_kakaotalk_voice(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/kakaotalk_voice.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: init_kakaotalk_voice_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/kakaotalk_voice.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_kakaotalk_voice_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/sip.c:36,1
    - Dst: search_metadata
      Src: /src/ndpi/src/lib/protocols/sip.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ndpi_int_sip_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/sip.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - search_metadata
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_sip_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\tstruct ndpi_flow_struct *flow)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/sip.c:124,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/sip.c:126,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/sip.c:127,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 133
    functionName: search_cmd
    functionSourceFile: /src/ndpi/src/lib/protocols/sip.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - NDPI_LOG_DBG
    - strlen
    linkageType: ''
    returnType: int
    signature: int search_cmd(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/sip.c:143,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/sip.c:143,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/sip.c:146,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/sip.c:146,1
    - Dst: isdigit
      Src: /src/ndpi/src/lib/protocols/sip.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - str
    - imsi_len
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: get_imsi
    functionSourceFile: /src/ndpi/src/lib/protocols/sip.c
    functionUses: 0
    functionsReached:
    - ndpi_strnstr
    - isdigit
    - strlen
    linkageType: ''
    returnType: char
    signature: char *get_imsi(const char *str, int *imsi_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: metadata_enabled
    functionSourceFile: /src/ndpi/src/lib/protocols/sip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int metadata_enabled(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: metadata_enabled
      Src: /src/ndpi/src/lib/protocols/sip.c:179,1
    - Dst: NDPI_PARSE_PACKET_LINE_INFO
      Src: /src/ndpi/src/lib/protocols/sip.c:182,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/sip.c:189,1
    - Dst: ndpi_strip_leading_trailing_spaces
      Src: /src/ndpi/src/lib/protocols/sip.c:191,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/sip.c:193,1
    - Dst: ndpi_strndup
      Src: /src/ndpi/src/lib/protocols/sip.c:194,1
    - Dst: get_imsi
      Src: /src/ndpi/src/lib/protocols/sip.c:197,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/sip.c:199,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/sip.c:200,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/sip.c:210,1
    - Dst: ndpi_strip_leading_trailing_spaces
      Src: /src/ndpi/src/lib/protocols/sip.c:212,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/sip.c:214,1
    - Dst: ndpi_strndup
      Src: /src/ndpi/src/lib/protocols/sip.c:215,1
    - Dst: get_imsi
      Src: /src/ndpi/src/lib/protocols/sip.c:218,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/sip.c:220,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/sip.c:221,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 227
    functionName: search_metadata
    functionSourceFile: /src/ndpi/src/lib/protocols/sip.c
    functionUses: 1
    functionsReached:
    - ndpi_strndup
    - NDPI_PARSE_PACKET_LINE_INFO
    - metadata_enabled
    - ndpi_strip_leading_trailing_spaces
    - get_imsi
    - memcmp
    - NDPI_LOG_DBG2
    - memcpy
    linkageType: ''
    returnType: void
    signature: void search_metadata(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/sip.c:236,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/sip.c:239,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/sip.c:245,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/sip.c:245,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/sip.c:248,1
    - Dst: isprint
      Src: /src/ndpi/src/lib/protocols/sip.c:253,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/sip.c:254,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/sip.c:259,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/sip.c:260,1
    - Dst: ndpi_int_sip_add_connection
      Src: /src/ndpi/src/lib/protocols/sip.c:261,1
    - Dst: search_cmd
      Src: /src/ndpi/src/lib/protocols/sip.c:266,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/sip.c:267,1
    - Dst: ndpi_int_sip_add_connection
      Src: /src/ndpi/src/lib/protocols/sip.c:268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 231
    functionDepth: 6
    functionLinenumber: 231
    functionLinenumberEnd: 272
    functionName: ndpi_search_sip
    functionSourceFile: /src/ndpi/src/lib/protocols/sip.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - get_u_int16_t
    - search_cmd
    - isprint
    - NDPI_LOG_DBG
    - ndpi_int_sip_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - memcmp
    - NDPI_LOG_DBG2
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_sip(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/sip.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: init_sip_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/sip.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_sip_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/nexon.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ndpi_int_nexon_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/nexon.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void ndpi_int_nexon_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/nexon.c:42,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/nexon.c:45,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/nexon.c:45,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/nexon.c:46,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/nexon.c:46,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/nexon.c:47,1
    - Dst: ndpi_int_nexon_add_connection
      Src: /src/ndpi/src/lib/protocols/nexon.c:48,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/nexon.c:52,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/nexon.c:52,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/nexon.c:53,1
    - Dst: ndpi_int_nexon_add_connection
      Src: /src/ndpi/src/lib/protocols/nexon.c:54,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/nexon.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: ndpi_search_nexon
    functionSourceFile: /src/ndpi/src/lib/protocols/nexon.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ntohl
    - ndpi_int_nexon_add_connection
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_nexon(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/nexon.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: init_nexon_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/nexon.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_nexon_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/lustre.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/lustre.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: ndpi_int_lustre_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/lustre.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_lustre_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                           struct ndpi_flow_struct
      *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/lustre.c:45,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/lustre.c:50,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/lustre.c:50,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/lustre.c:51,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/lustre.c:51,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/lustre.c:53,1
    - Dst: ndpi_int_lustre_add_connection
      Src: /src/ndpi/src/lib/protocols/lustre.c:55,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/lustre.c:64,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/lustre.c:64,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/lustre.c:66,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/lustre.c:66,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/lustre.c:67,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/lustre.c:67,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/lustre.c:69,1
    - Dst: ndpi_int_lustre_add_connection
      Src: /src/ndpi/src/lib/protocols/lustre.c:72,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/lustre.c:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 78
    functionName: ndpi_search_lustre
    functionSourceFile: /src/ndpi/src/lib/protocols/lustre.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_lustre_add_connection
    - le32toh
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_lustre(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/lustre.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: init_lustre_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/lustre.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_lustre_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/cip.c:36,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cip.c:39,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cip.c:39,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/cip.c:55,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/cip.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/cip.c:62,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: ndpi_search_cip
    functionSourceFile: /src/ndpi/src/lib/protocols/cip.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_cip(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/cip.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: init_cip_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/cip.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_cip_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/ookla.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: get_ookla_key
    functionSourceFile: /src/ndpi/src/lib/protocols/ookla.c
    functionUses: 0
    functionsReached:
    - ndpi_quick_hash64
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t get_ookla_key(struct ndpi_flow_struct *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_ookla_key
      Src: /src/ndpi/src/lib/protocols/ookla.c:50,1
    - Dst: ndpi_lru_find_cache
      Src: /src/ndpi/src/lib/protocols/ookla.c:52,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/ookla.c:54,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ookla.c:56,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ookla.c:56,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ookla.c:56,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ookla.c:61,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ookla.c:61,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ookla.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: ookla_search_into_cache
    functionSourceFile: /src/ndpi/src/lib/protocols/ookla.c
    functionUses: 1
    functionsReached:
    - ndpi_lru_find_cache
    - ndpi_get_current_time
    - printf
    - get_ookla_key
    - ntohs
    linkageType: ''
    returnType: int
    signature: "int ookla_search_into_cache(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_ookla_key
      Src: /src/ndpi/src/lib/protocols/ookla.c:77,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ookla.c:79,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ookla.c:79,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ookla.c:79,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/ookla.c:81,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/ookla.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: ookla_add_to_cache
    functionSourceFile: /src/ndpi/src/lib/protocols/ookla.c
    functionUses: 2
    functionsReached:
    - ndpi_get_current_time
    - ndpi_lru_add_to_cache
    - printf
    - get_ookla_key
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ookla_add_to_cache(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                       struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ookla.c:92,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ookla.c:94,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ookla.c:94,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ookla.c:95,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/ookla.c:100,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/ookla.c:101,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/ookla.c:101,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/ookla.c:108,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/ookla.c:109,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/ookla.c:109,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ookla.c:110,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ookla.c:111,1
    - Dst: ookla_add_to_cache
      Src: /src/ndpi/src/lib/protocols/ookla.c:112,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ookla.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 117
    functionName: ndpi_search_ookla
    functionSourceFile: /src/ndpi/src/lib/protocols/ookla.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - NDPI_EXCLUDE_DISSECTOR
    - memcmp
    - ntohs
    - ookla_add_to_cache
    linkageType: ''
    returnType: void
    signature: void ndpi_search_ookla(struct ndpi_detection_module_struct* ndpi_struct,
      struct ndpi_flow_struct* flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ookla.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: init_ookla_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ookla.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ookla_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/nest_log_sink.c:42,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/nest_log_sink.c:45,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/nest_log_sink.c:49,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/nest_log_sink.c:50,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/nest_log_sink.c:51,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/nest_log_sink.c:61,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/nest_log_sink.c:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: ndpi_search_nest_log_sink
    functionSourceFile: /src/ndpi/src/lib/protocols/nest_log_sink.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_nest_log_sink(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                      struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/nest_log_sink.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: init_nest_log_sink_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/nest_log_sink.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_nest_log_sink_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/discord.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/discord.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: ndpi_int_discord_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/discord.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_discord_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                             struct ndpi_flow_struct
      * const flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/discord.c:44,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/discord.c:47,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/discord.c:47,1
    - Dst: ndpi_int_discord_add_connection
      Src: /src/ndpi/src/lib/protocols/discord.c:49,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/discord.c:56,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/discord.c:56,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/discord.c:63,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/discord.c:63,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/discord.c:67,1
    - Dst: ndpi_int_discord_add_connection
      Src: /src/ndpi/src/lib/protocols/discord.c:69,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/discord.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 76
    functionName: ndpi_search_discord
    functionSourceFile: /src/ndpi/src/lib/protocols/discord.c
    functionUses: 0
    functionsReached:
    - ndpi_int_discord_add_connection
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - strncpy
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_discord(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/discord.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: init_discord_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/discord.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_discord_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/icecast.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ndpi_int_icecast_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/icecast.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void ndpi_int_icecast_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/icecast.c:42,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/icecast.c:45,1
    - Dst: ndpi_parse_packet_line_info_any
      Src: /src/ndpi/src/lib/protocols/icecast.c:47,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/icecast.c:48,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/icecast.c:51,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/icecast.c:52,1
    - Dst: ndpi_int_icecast_add_connection
      Src: /src/ndpi/src/lib/protocols/icecast.c:53,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/icecast.c:64,1
    - Dst: current_pkt_from_server_to_client
      Src: /src/ndpi/src/lib/protocols/icecast.c:69,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/icecast.c:72,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/icecast.c:75,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/icecast.c:76,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/icecast.c:77,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/icecast.c:81,1
    - Dst: ndpi_int_icecast_add_connection
      Src: /src/ndpi/src/lib/protocols/icecast.c:82,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/icecast.c:87,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 88
    functionName: ndpi_search_icecast_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/icecast.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - current_pkt_from_client_to_server
    - NDPI_LOG_DBG
    - current_pkt_from_server_to_client
    - NDPI_STATICSTRING_LEN
    - ndpi_int_icecast_add_connection
    - ndpi_parse_packet_line_info_any
    - memcmp
    - ndpi_parse_packet_line_info
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: void ndpi_search_icecast_tcp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/icecast.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: init_icecast_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/icecast.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_icecast_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/vnc.c:34,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/vnc.c:40,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/vnc.c:42,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/vnc.c:43,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/vnc.c:50,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/vnc.c:52,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/vnc.c:53,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/vnc.c:54,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/vnc.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/vnc.c:60,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: ndpi_search_vnc_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/vnc.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_set_risk
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: void ndpi_search_vnc_tcp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/vnc.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: init_vnc_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/vnc.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_vnc_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/modbus.c:34,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/modbus.c:35,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/modbus.c:46,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/modbus.c:53,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/modbus.c:54,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/modbus.c:58,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/modbus.c:59,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/modbus.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 66
    functionName: ndpi_search_modbus_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/modbus.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_modbus_tcp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/modbus.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: init_modbus_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/modbus.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_modbus_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/ethereum.c:43,1
    - Dst: mining_make_lru_cache_key
      Src: /src/ndpi/src/lib/protocols/ethereum.c:43,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/ethereum.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ndpi_ether_cache_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ethereum.c
    functionUses: 0
    functionsReached:
    - ndpi_get_current_time
    - mining_make_lru_cache_key
    - ndpi_lru_add_to_cache
    linkageType: ''
    returnType: void
    signature: "void ndpi_ether_cache_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ethereum.c:52,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ethereum.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: ndpi_ether_is_discv4
    functionSourceFile: /src/ndpi/src/lib/protocols/ethereum.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: bool
    signature: bool ndpi_ether_is_discv4(const struct ndpi_packet_struct *packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ethereum.c:80,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ethereum.c:81,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ethereum.c:82,1
    - Dst: ndpi_ether_is_discv4
      Src: /src/ndpi/src/lib/protocols/ethereum.c:83,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ethereum.c:84,1
    - Dst: ndpi_ether_cache_connection
      Src: /src/ndpi/src/lib/protocols/ethereum.c:85,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ethereum.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: ndpi_search_ethereum_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/ethereum.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_ether_cache_connection
    - ntohl
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_ether_is_discv4
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ethereum_udp(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dport
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: ndpi_is_ether_port
    functionSourceFile: /src/ndpi/src/lib/protocols/ethereum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_is_ether_port(u_int16_t dport)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ethereum.c:104,1
    - Dst: ndpi_is_ether_port
      Src: /src/ndpi/src/lib/protocols/ethereum.c:111,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ethereum.c:111,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ethereum.c:112,1
    - Dst: ndpi_ether_cache_connection
      Src: /src/ndpi/src/lib/protocols/ethereum.c:113,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/ethereum.c:116,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/ethereum.c:118,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/ethereum.c:119,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ethereum.c:129,1
    - Dst: ndpi_ether_cache_connection
      Src: /src/ndpi/src/lib/protocols/ethereum.c:130,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ethereum.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 136
    functionName: ndpi_search_ethereum_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/ethereum.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_ether_cache_connection
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_strnstr
    - ntohs
    - ndpi_is_ether_port
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ethereum_tcp(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t   struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_ethereum_tcp
      Src: /src/ndpi/src/lib/protocols/ethereum.c:145,1
    - Dst: ndpi_search_ethereum_udp
      Src: /src/ndpi/src/lib/protocols/ethereum.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 6
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: ndpi_search_ethereum
    functionSourceFile: /src/ndpi/src/lib/protocols/ethereum.c
    functionUses: 0
    functionsReached:
    - ndpi_search_ethereum_tcp
    - ndpi_search_ethereum_udp
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ethereum(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ethereum.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: init_ethereum_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ethereum.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ethereum_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: is_valid_rtp_payload_type
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_rtp_payload_type(uint8_t type)
  - BBCount: 66
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 128
    argCount: 3
    argNames:
    - payloadType
    - s_type
    - sub_proto
    argTypes:
    - u_int8_t
    - u_int8_t*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 209
    functionName: rtp_get_stream_type
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t rtp_get_stream_type(u_int8_t payloadType, u_int8_t *s_type,
      u_int16_t sub_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: is_valid_rtcp_payload_type
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_rtcp_payload_type(uint8_t type)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtp.c:230,1
    - Dst: is_valid_rtp_payload_type
      Src: /src/ndpi/src/lib/protocols/rtp.c:234,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtp.c:242,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rtp.c:245,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtp.c:249,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rtp.c:256,1
    - Dst: is_valid_rtcp_payload_type
      Src: /src/ndpi/src/lib/protocols/rtp.c:258,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rtp.c:260,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtp.c:262,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtp.c:267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - ndpi_struct
    - payload
    - payload_len
    - seq
    argTypes:
    - struct ndpi_detection_module_struct*
    - u_int8_t*
    - u_int16_t
    - u_int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 269
    functionName: is_rtp_or_rtcp
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 0
    functionsReached:
    - is_valid_rtp_payload_type
    - NDPI_LOG_DBG
    - ntohs
    - is_valid_rtcp_payload_type
    linkageType: ''
    returnType: int
    signature: "int is_rtp_or_rtcp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                  const u_int8_t *payload, u_int16_t payload_len, u_int16_t
      *seq)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/rtp.c:277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - payload
    - payload_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 343
    functionName: get_rtp_info
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 0
    functionsReached:
    - current_pkt_from_client_to_server
    linkageType: ''
    returnType: int
    signature: "int get_rtp_info(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                       struct ndpi_flow_struct *flow,\n                        const
      u_int8_t *payload,\n                        u_int16_t payload_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: keep_extra_dissection
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keep_extra_dissection(struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/rtp.c:355,1
    - Dst: ndpi_rtp_search
      Src: /src/ndpi/src/lib/protocols/rtp.c:357,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/rtp.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: rtp_search_again
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 0
    functionsReached:
    - keep_extra_dissection
    - NDPI_LOG_DBG2
    - ndpi_rtp_search
    linkageType: ''
    returnType: int
    signature: "int rtp_search_again(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/rtp.c:368,1
    - Dst: ndpi_seen_flow_beginning
      Src: /src/ndpi/src/lib/protocols/rtp.c:374,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtp.c:375,1
    - Dst: switch_extra_dissection_to_stun
      Src: /src/ndpi/src/lib/protocols/rtp.c:376,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/rtp.c:380,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtp.c:382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: ndpi_int_rtp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - keep_extra_dissection
    - switch_extra_dissection_to_stun
    - NDPI_LOG_DBG
    - ndpi_seen_flow_beginning
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_rtp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                        struct ndpi_flow_struct
      *flow,\n                                        u_int16_t proto)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rtp.c:404,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtp.c:410,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rtp.c:420,1
    - Dst: is_rtp_or_rtcp
      Src: /src/ndpi/src/lib/protocols/rtp.c:424,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtp.c:438,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rtp.c:441,1
    - Dst: get_rtp_info
      Src: /src/ndpi/src/lib/protocols/rtp.c:443,1
    - Dst: rtp_get_stream_type
      Src: /src/ndpi/src/lib/protocols/rtp.c:444,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/rtp.c:447,1
    - Dst: ndpi_int_rtp_add_connection
      Src: /src/ndpi/src/lib/protocols/rtp.c:448,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/rtp.c:461,1
    - Dst: ndpi_int_rtp_add_connection
      Src: /src/ndpi/src/lib/protocols/rtp.c:462,1
    - Dst: is_stun
      Src: /src/ndpi/src/lib/protocols/rtp.c:473,1
    - Dst: is_dtls
      Src: /src/ndpi/src/lib/protocols/rtp.c:474,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rtp.c:477,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 391
    functionDepth: 6
    functionLinenumber: 391
    functionLinenumberEnd: 481
    functionName: ndpi_rtp_search
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 1
    functionsReached:
    - NDPI_LOG_INFO
    - get_rtp_info
    - NDPI_LOG_DBG
    - is_dtls
    - is_rtp_or_rtcp
    - ndpi_int_rtp_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - rtp_get_stream_type
    - is_stun
    linkageType: ''
    returnType: void
    signature: "void ndpi_rtp_search(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rtp.c:499,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rtp.c:503,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/rtp.c:503,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rtp.c:505,1
    - Dst: ndpi_rtp_search
      Src: /src/ndpi/src/lib/protocols/rtp.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 492
    functionDepth: 7
    functionLinenumber: 492
    functionLinenumberEnd: 510
    functionName: ndpi_search_rtp_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ndpi_rtp_search
    - ntohs
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_rtp_tcp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\tstruct
      ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rtp.c:517,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rtp.c:518,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rtp.c:528,1
    - Dst: ndpi_rtp_search
      Src: /src/ndpi/src/lib/protocols/rtp.c:531,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 513
    functionDepth: 7
    functionLinenumber: 513
    functionLinenumberEnd: 532
    functionName: ndpi_search_rtp_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 0
    functionsReached:
    - ndpi_rtp_search
    - ntohs
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_rtp_udp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\tstruct
      ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_rtp_tcp
      Src: /src/ndpi/src/lib/protocols/rtp.c:539,1
    - Dst: ndpi_search_rtp_udp
      Src: /src/ndpi/src/lib/protocols/rtp.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 535
    functionDepth: 8
    functionLinenumber: 535
    functionLinenumberEnd: 543
    functionName: ndpi_search_rtp
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 0
    functionsReached:
    - ndpi_search_rtp_tcp
    - ndpi_search_rtp_udp
    linkageType: ''
    returnType: void
    signature: void ndpi_search_rtp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/rtp.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: init_rtp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/rtp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_rtp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/protobuf.c:50,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/protobuf.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ndpi_int_protobuf_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/protobuf.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_protobuf_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                             struct ndpi_flow_struct
      *flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - tag
    - field_number
    argTypes:
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: protobuf_dissect_tag
    functionSourceFile: /src/ndpi/src/lib/protocols/protobuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum protobuf_type
    signature: enum protobuf_type protobuf_dissect_tag(uint64_t tag, uint64_t * const
      field_number)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - packet
    - offset
    - value
    argTypes:
    - struct ndpi_packet_struct*
    - size_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 97
    functionName: protobuf_dissect_varint
    functionSourceFile: /src/ndpi/src/lib/protocols/protobuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int protobuf_dissect_varint(struct ndpi_packet_struct const * const
      packet,\n                        size_t * const offset, uint64_t * const value)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/protobuf.c:104,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/protobuf.c:111,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/protobuf.c:115,1
    - Dst: protobuf_dissect_varint
      Src: /src/ndpi/src/lib/protocols/protobuf.c:119,1
    - Dst: protobuf_dissect_tag
      Src: /src/ndpi/src/lib/protocols/protobuf.c:125,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/protobuf.c:128,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/protobuf.c:133,1
    - Dst: protobuf_dissect_varint
      Src: /src/ndpi/src/lib/protocols/protobuf.c:140,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/protobuf.c:142,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/protobuf.c:146,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/protobuf.c:154,1
    - Dst: le64toh
      Src: /src/ndpi/src/lib/protocols/protobuf.c:163,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/protobuf.c:164,1
    - Dst: protobuf_dissect_varint
      Src: /src/ndpi/src/lib/protocols/protobuf.c:173,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/protobuf.c:179,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/protobuf.c:185,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/protobuf.c:191,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/protobuf.c:198,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/protobuf.c:203,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/protobuf.c:212,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/protobuf.c:213,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/protobuf.c:224,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/protobuf.c:235,1
    - Dst: ndpi_int_protobuf_add_connection
      Src: /src/ndpi/src/lib/protocols/protobuf.c:237,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/protobuf.c:248,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 78
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 99
    functionDepth: 6
    functionLinenumber: 99
    functionLinenumberEnd: 249
    functionName: ndpi_search_protobuf
    functionSourceFile: /src/ndpi/src/lib/protocols/protobuf.c
    functionUses: 0
    functionsReached:
    - protobuf_dissect_tag
    - NDPI_LOG_DBG
    - ndpi_int_protobuf_add_connection
    - le64toh
    - le32toh
    - NDPI_EXCLUDE_DISSECTOR
    - printf
    - protobuf_dissect_varint
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_protobuf(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/protobuf.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: init_protobuf_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/protobuf.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_protobuf_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: oicq_hdr
    functionSourceFile: /src/ndpi/src/lib/protocols/oicq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON oicq_hdr
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/oicq.c:42,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/oicq.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: ndpi_int_oicq_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/oicq.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_oicq_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                         struct ndpi_flow_struct
      * const flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/oicq.c:58,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/oicq.c:62,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/oicq.c:68,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/oicq.c:72,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/oicq.c:74,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/oicq.c:78,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/oicq.c:82,1
    - Dst: ndpi_int_oicq_add_connection
      Src: /src/ndpi/src/lib/protocols/oicq.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 87
    functionName: ndpi_search_oicq
    functionSourceFile: /src/ndpi/src/lib/protocols/oicq.c
    functionUses: 0
    functionsReached:
    - ndpi_int_oicq_add_connection
    - NDPI_LOG_DBG
    - ntohs
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_oicq(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/oicq.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: init_oicq_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/oicq.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_oicq_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/egd.c:38,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/egd.c:40,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/egd.c:40,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/egd.c:42,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/egd.c:43,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/egd.c:43,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/egd.c:44,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/egd.c:46,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/egd.c:47,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/egd.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 53
    functionName: ndpi_search_egd
    functionSourceFile: /src/ndpi/src/lib/protocols/egd.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_egd(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/egd.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: init_egd_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/egd.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_egd_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ieee-c37118.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ieee-c37118.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: ndpi_int_ieee_c37118_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ieee-c37118.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ieee_c37118_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                            struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ieee-c37118.c:48,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ieee-c37118.c:55,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/ieee-c37118.c:55,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ieee-c37118.c:56,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/ieee-c37118.c:56,1
    - Dst: ndpi_crc16_ccit_false
      Src: /src/ndpi/src/lib/protocols/ieee-c37118.c:59,1
    - Dst: ndpi_int_ieee_c37118_add_connection
      Src: /src/ndpi/src/lib/protocols/ieee-c37118.c:61,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ieee-c37118.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: ndpi_search_ieee_c37118
    functionSourceFile: /src/ndpi/src/lib/protocols/ieee-c37118.c
    functionUses: 0
    functionsReached:
    - ndpi_crc16_ccit_false
    - get_u_int16_t
    - NDPI_LOG_DBG
    - ndpi_int_ieee_c37118_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ieee_c37118(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ieee-c37118.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: init_ieee_c37118_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ieee-c37118.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ieee_c37118_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/source_engine.c:34,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/source_engine.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: ndpi_int_source_engine_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/source_engine.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_source_engine_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                                  struct
      ndpi_flow_struct * const flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/source_engine.c:49,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/source_engine.c:54,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/source_engine.c:56,1
    - Dst: ndpi_int_source_engine_add_connection
      Src: /src/ndpi/src/lib/protocols/source_engine.c:62,1
    - Dst: current_pkt_from_server_to_client
      Src: /src/ndpi/src/lib/protocols/source_engine.c:68,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/source_engine.c:72,1
    - Dst: ndpi_int_source_engine_add_connection
      Src: /src/ndpi/src/lib/protocols/source_engine.c:75,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/source_engine.c:80,1
    - Dst: ndpi_int_source_engine_add_connection
      Src: /src/ndpi/src/lib/protocols/source_engine.c:86,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/source_engine.c:92,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 93
    functionName: ndpi_search_source_engine
    functionSourceFile: /src/ndpi/src/lib/protocols/source_engine.c
    functionUses: 0
    functionsReached:
    - current_pkt_from_client_to_server
    - current_pkt_from_server_to_client
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_source_engine_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_source_engine(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                      struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/source_engine.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: init_source_engine_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/source_engine.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_source_engine_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/zeromq.c:33,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zeromq.c:36,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/zeromq.c:37,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/zeromq.c:39,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/zeromq.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: ndpi_search_zmq
    functionSourceFile: /src/ndpi/src/lib/protocols/zeromq.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_zmq(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/zeromq.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: init_zmq_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/zeromq.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_zmq_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/drda.c:44,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/drda.c:53,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/drda.c:56,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/drda.c:69,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/drda.c:71,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/drda.c:79,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/drda.c:80,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/drda.c:86,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 87
    functionName: ndpi_search_drda
    functionSourceFile: /src/ndpi/src/lib/protocols/drda.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_drda(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/drda.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: init_drda_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/drda.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_drda_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/gnutella.c:37,1
    - Dst: ndpi_set_detected_protocol_keeping_master
      Src: /src/ndpi/src/lib/protocols/gnutella.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - confidence
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: ndpi_int_gnutella_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/gnutella.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_set_detected_protocol_keeping_master
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_gnutella_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t     struct ndpi_flow_struct *flow,\n\t\t\t\t\t     ndpi_confidence_t
      confidence)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/gnutella.c:46,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/gnutella.c:49,1
    - Dst: ndpi_int_gnutella_add_connection
      Src: /src/ndpi/src/lib/protocols/gnutella.c:50,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/gnutella.c:52,1
    - Dst: ndpi_user_agent_set
      Src: /src/ndpi/src/lib/protocols/gnutella.c:54,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/gnutella.c:60,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/gnutella.c:60,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/gnutella.c:64,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/gnutella.c:64,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/gnutella.c:65,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/gnutella.c:65,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/gnutella.c:66,1
    - Dst: ndpi_int_gnutella_add_connection
      Src: /src/ndpi/src/lib/protocols/gnutella.c:67,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/gnutella.c:72,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/gnutella.c:73,1
    - Dst: ndpi_int_gnutella_add_connection
      Src: /src/ndpi/src/lib/protocols/gnutella.c:74,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/gnutella.c:79,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 80
    functionName: ndpi_search_gnutella
    functionSourceFile: /src/ndpi/src/lib/protocols/gnutella.c
    functionUses: 0
    functionsReached:
    - ndpi_user_agent_set
    - ndpi_int_gnutella_add_connection
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - le32toh
    - memcmp
    - ndpi_parse_packet_line_info
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: void ndpi_search_gnutella(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/gnutella.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: init_gnutella_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/gnutella.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_gnutella_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: MEMCACHED_MATCH
    functionSourceFile: /src/ndpi/src/lib/protocols/memcached.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMCACHED_MATCH(cr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/memcached.c:98,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/memcached.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: ndpi_int_memcached_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/memcached.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_memcached_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \     *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/memcached.c:111,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/memcached.c:115,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/memcached.c:123,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/memcached.c:129,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:143,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:144,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:145,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:146,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:147,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:148,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:149,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:150,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:151,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:152,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:153,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:154,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:155,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:156,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:157,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:158,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:159,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:160,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:161,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:162,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:163,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:164,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:165,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:166,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:167,1
    - Dst: MEMCACHED_MATCH
      Src: /src/ndpi/src/lib/protocols/memcached.c:168,1
    - Dst: ndpi_int_memcached_add_connection
      Src: /src/ndpi/src/lib/protocols/memcached.c:171,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/memcached.c:173,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 77
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 103
    functionDepth: 6
    functionLinenumber: 103
    functionLinenumberEnd: 174
    functionName: ndpi_search_memcached
    functionSourceFile: /src/ndpi/src/lib/protocols/memcached.c
    functionUses: 0
    functionsReached:
    - ndpi_int_memcached_add_connection
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - MEMCACHED_MATCH
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_memcached(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \ struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/memcached.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: init_memcached_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/memcached.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_memcached_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dofus.c:34,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/dofus.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ndpi_dofus_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/dofus.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: void ndpi_dofus_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dofus.c:42,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dofus.c:45,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dofus.c:45,1
    - Dst: ndpi_dofus_add_connection
      Src: /src/ndpi/src/lib/protocols/dofus.c:50,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dofus.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: ndpi_search_dofus
    functionSourceFile: /src/ndpi/src/lib/protocols/dofus.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ntohs
    - ndpi_dofus_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_dofus(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/dofus.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: init_dofus_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/dofus.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_dofus_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dnp3.c:38,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/dnp3.c:47,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dnp3.c:48,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dnp3.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: ndpi_search_dnp3_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/dnp3.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_DBG
    - NDPI_LOG_INFO
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_dnp3_tcp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/dnp3.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: init_dnp3_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/dnp3.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_dnp3_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ndpi_int_genshin_impact_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/genshin_impact.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_genshin_impact_add_connection(\n                struct
      ndpi_detection_module_struct *ndpi_struct,\n                struct ndpi_flow_struct
      *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:41,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:45,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:45,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:49,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:49,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:51,1
    - Dst: ndpi_int_genshin_impact_add_connection
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:52,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:59,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:59,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:60,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:60,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:61,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:61,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:62,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:62,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:64,1
    - Dst: ndpi_int_genshin_impact_add_connection
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:70,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 71
    functionName: ndpi_search_genshin_impact
    functionSourceFile: /src/ndpi/src/lib/protocols/genshin_impact.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_genshin_impact_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_genshin_impact(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                       struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/genshin_impact.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: init_genshin_impact_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/genshin_impact.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_genshin_impact_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/coap.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: ndpi_int_coap_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/coap.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_coap_add_connection (struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t  struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - port
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: isCoAPport
    functionSourceFile: /src/ndpi/src/lib/protocols/coap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isCoAPport(u_int16_t port)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/coap.c:117,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/coap.c:118,1
    - Dst: isCoAPport
      Src: /src/ndpi/src/lib/protocols/coap.c:120,1
    - Dst: isCoAPport
      Src: /src/ndpi/src/lib/protocols/coap.c:120,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/coap.c:122,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/coap.c:126,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/coap.c:136,1
    - Dst: ndpi_int_coap_add_connection
      Src: /src/ndpi/src/lib/protocols/coap.c:137,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/coap.c:145,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 21
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 147
    functionName: ndpi_search_coap
    functionSourceFile: /src/ndpi/src/lib/protocols/coap.c
    functionUses: 0
    functionsReached:
    - ndpi_int_coap_add_connection
    - NDPI_LOG_INFO
    - isCoAPport
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_coap(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/coap.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: init_coap_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/coap.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_coap_dissector (struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/ssdp.c:45,1
    - Dst: ndpi_user_agent_set
      Src: /src/ndpi/src/lib/protocols/ssdp.c:49,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/ssdp.c:51,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/ssdp.c:57,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:61,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:63,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:69,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:71,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:77,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:79,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:85,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:87,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:93,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:95,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:101,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:103,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:109,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:111,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:117,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:119,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:125,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:127,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:133,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:135,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:141,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:143,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:149,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:151,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:157,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:159,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:165,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:167,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:173,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:175,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:181,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:183,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:189,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:191,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:197,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:199,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:205,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:207,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 143
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 211
    functionName: ssdp_parse_lines
    functionSourceFile: /src/ndpi/src/lib/protocols/ssdp.c
    functionUses: 0
    functionsReached:
    - ndpi_user_agent_set
    - ndpi_malloc
    - ndpi_hostname_sni_set
    - ndpi_parse_packet_line_info
    - NDPI_LOG_DBG2
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ssdp_parse_lines(struct ndpi_detection_module_struct\n\t\t\t
      \    *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ssdp_parse_lines
      Src: /src/ndpi/src/lib/protocols/ssdp.c:217,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ssdp.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: ndpi_int_ssdp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ssdp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ssdp_parse_lines
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ssdp_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ssdp.c:226,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/ssdp.c:233,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/ssdp.c:233,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssdp.c:235,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/ssdp.c:235,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ssdp.c:238,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/ssdp.c:238,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/ssdp.c:239,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ssdp.c:243,1
    - Dst: ndpi_int_ssdp_add_connection
      Src: /src/ndpi/src/lib/protocols/ssdp.c:244,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/ssdp.c:250,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/ssdp.c:250,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ssdp.c:251,1
    - Dst: ndpi_int_ssdp_add_connection
      Src: /src/ndpi/src/lib/protocols/ssdp.c:252,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ssdp.c:258,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 259
    functionName: ndpi_search_ssdp
    functionSourceFile: /src/ndpi/src/lib/protocols/ssdp.c
    functionUses: 0
    functionsReached:
    - ndpi_int_ssdp_add_connection
    - NDPI_LOG_INFO
    - strlen
    - NDPI_LOG_DBG
    - ndpi_malloc
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ndpi_search_ssdp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ssdp.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: init_ssdp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ssdp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ssdp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/merakicloud.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/merakicloud.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: ndpi_int_merakicloud_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/merakicloud.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_merakicloud_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                                struct
      ndpi_flow_struct * const flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/merakicloud.c:41,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/merakicloud.c:43,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/merakicloud.c:43,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/merakicloud.c:45,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/merakicloud.c:45,1
    - Dst: ndpi_int_merakicloud_add_connection
      Src: /src/ndpi/src/lib/protocols/merakicloud.c:46,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/merakicloud.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: ndpi_search_merakicloud
    functionSourceFile: /src/ndpi/src/lib/protocols/merakicloud.c
    functionUses: 0
    functionsReached:
    - ndpi_int_merakicloud_add_connection
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_merakicloud(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/merakicloud.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: init_merakicloud_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/merakicloud.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_merakicloud_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/line.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/line.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: ndpi_int_line_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/line.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_line_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                         struct ndpi_flow_struct
      * const flow)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/line.c:43,1
    - Dst: ndpi_int_line_add_connection
      Src: /src/ndpi/src/lib/protocols/line.c:59,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/line.c:63,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/line.c:63,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/line.c:64,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/line.c:64,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/line.c:65,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/line.c:65,1
    - Dst: ndpi_int_line_add_connection
      Src: /src/ndpi/src/lib/protocols/line.c:69,1
    - Dst: is_rtp_or_rtcp
      Src: /src/ndpi/src/lib/protocols/line.c:86,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/line.c:89,1
    - Dst: ndpi_int_line_add_connection
      Src: /src/ndpi/src/lib/protocols/line.c:99,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/line.c:101,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/line.c:109,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 39
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 111
    functionName: ndpi_search_line
    functionSourceFile: /src/ndpi/src/lib/protocols/line.c
    functionUses: 0
    functionsReached:
    - ndpi_int_line_add_connection
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - is_rtp_or_rtcp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_line(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/line.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: init_line_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/line.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_line_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/iec62056.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/iec62056.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: ndpi_int_iec62056_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/iec62056.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_iec62056_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                             struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/iec62056.c:48,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/iec62056.c:54,1
    - Dst: ndpi_crc16_x25
      Src: /src/ndpi/src/lib/protocols/iec62056.c:54,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/iec62056.c:55,1
    - Dst: ndpi_int_iec62056_add_connection
      Src: /src/ndpi/src/lib/protocols/iec62056.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/iec62056.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: ndpi_search_iec62056
    functionSourceFile: /src/ndpi/src/lib/protocols/iec62056.c
    functionUses: 0
    functionsReached:
    - ndpi_crc16_x25
    - get_u_int16_t
    - NDPI_LOG_DBG
    - le16toh
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_iec62056_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_iec62056(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/iec62056.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: init_iec62056_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/iec62056.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_iec62056_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/uftp.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/uftp.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: ndpi_int_uftp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/uftp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_uftp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                         struct ndpi_flow_struct
      *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/uftp.c:46,1
    - Dst: ndpi_int_uftp_add_connection
      Src: /src/ndpi/src/lib/protocols/uftp.c:53,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/uftp.c:57,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: ndpi_search_uftp
    functionSourceFile: /src/ndpi/src/lib/protocols/uftp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_int_uftp_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_uftp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/uftp.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: init_uftp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/uftp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_uftp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/lisp.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ndpi_int_lisp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/lisp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_lisp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t    struct ndpi_flow_struct *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/lisp.c:42,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/lisp.c:43,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/lisp.c:48,1
    - Dst: ndpi_int_lisp_add_connection
      Src: /src/ndpi/src/lib/protocols/lisp.c:49,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/lisp.c:57,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/lisp.c:64,1
    - Dst: ndpi_int_lisp_add_connection
      Src: /src/ndpi/src/lib/protocols/lisp.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/lisp.c:72,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 73
    functionName: ndpi_check_lisp
    functionSourceFile: /src/ndpi/src/lib/protocols/lisp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    - ndpi_int_lisp_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_check_lisp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/lisp.c:77,1
    - Dst: ndpi_check_lisp
      Src: /src/ndpi/src/lib/protocols/lisp.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 7
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: ndpi_search_lisp
    functionSourceFile: /src/ndpi/src/lib/protocols/lisp.c
    functionUses: 0
    functionsReached:
    - ndpi_check_lisp
    - NDPI_LOG_DBG
    linkageType: ''
    returnType: void
    signature: void ndpi_search_lisp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/lisp.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: init_lisp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/lisp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_lisp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/hislip.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/hislip.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ndpi_int_hislip_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/hislip.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_hislip_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                           struct ndpi_flow_struct
      * const flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/hislip.c:49,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/hislip.c:52,1
    - Dst: ndpi_ntohll
      Src: /src/ndpi/src/lib/protocols/hislip.c:53,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/hislip.c:53,1
    - Dst: ndpi_int_hislip_add_connection
      Src: /src/ndpi/src/lib/protocols/hislip.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/hislip.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: ndpi_search_hislip
    functionSourceFile: /src/ndpi/src/lib/protocols/hislip.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_ntohll
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_hislip_add_connection
    - get_u_int64_t
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_hislip(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/hislip.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: init_hislip_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/hislip.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_hislip_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/guildwars2.c:36,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/guildwars2.c:42,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/guildwars2.c:43,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/guildwars2.c:44,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/guildwars2.c:46,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/guildwars2.c:47,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/guildwars2.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: ndpi_search_guildwars2_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/guildwars2.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_guildwars2_tcp(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/guildwars2.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: init_guildwars2_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/guildwars2.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_guildwars2_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ndpi_int_ubntac2_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ubntac2.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void ndpi_int_ubntac2_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:42,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:45,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:45,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:46,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:46,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:47,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:47,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:48,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:49,1
    - Dst: ndpi_int_ubntac2_add_connection
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:50,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:56,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:58,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:61,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:62,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:71,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 72
    functionName: ndpi_search_ubntac2
    functionSourceFile: /src/ndpi/src/lib/protocols/ubntac2.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - get_u_int16_t
    - NDPI_LOG_DBG
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_ubntac2_add_connection
    - ndpi_min
    - NDPI_LOG_DBG2
    - ntohs
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ndpi_search_ubntac2(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ubntac2.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: init_ubntac2_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ubntac2.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ubntac2_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:35,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:36,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:40,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:41,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:41,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:42,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:43,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:43,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:46,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:47,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:47,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:48,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:49,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:49,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:52,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:53,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:53,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:54,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:55,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:55,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:58,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:59,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:59,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:60,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:61,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/apple_push.c:61,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 16
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 66
    functionName: is_apple_push_addr
    functionSourceFile: /src/ndpi/src/lib/protocols/apple_push.c
    functionUses: 0
    functionsReached:
    - ntohl
    - htonl
    linkageType: ''
    returnType: int
    signature: int is_apple_push_addr(const struct ndpi_packet_struct *packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_apple_push_addr
      Src: /src/ndpi/src/lib/protocols/apple_push.c:74,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/apple_push.c:75,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/apple_push.c:76,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/apple_push.c:80,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/apple_push.c:81,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/apple_push.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: ndpi_check_apple_push
    functionSourceFile: /src/ndpi/src/lib/protocols/apple_push.c
    functionUses: 0
    functionsReached:
    - is_apple_push_addr
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_apple_push(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \ struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/apple_push.c:91,1
    - Dst: ndpi_check_apple_push
      Src: /src/ndpi/src/lib/protocols/apple_push.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 6
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: ndpi_search_apple_push
    functionSourceFile: /src/ndpi/src/lib/protocols/apple_push.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_check_apple_push
    linkageType: ''
    returnType: void
    signature: void ndpi_search_apple_push(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/apple_push.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: init_apple_push_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/apple_push.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_apple_push_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mongodb.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: set_mongodb_detected
    functionSourceFile: /src/ndpi/src/lib/protocols/mongodb.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void set_mongodb_detected(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mongodb.c:71,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/mongodb.c:75,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/mongodb.c:80,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/mongodb.c:81,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mongodb.c:83,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mongodb.c:84,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/mongodb.c:88,1
    - Dst: set_mongodb_detected
      Src: /src/ndpi/src/lib/protocols/mongodb.c:97,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/mongodb.c:110,1
    - Dst: set_mongodb_detected
      Src: /src/ndpi/src/lib/protocols/mongodb.c:112,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mongodb.c:117,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mongodb.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 64
    functionDepth: 6
    functionLinenumber: 64
    functionLinenumberEnd: 121
    functionName: ndpi_check_mongodb
    functionSourceFile: /src/ndpi/src/lib/protocols/mongodb.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - le32toh
    - set_mongodb_detected
    - NDPI_EXCLUDE_DISSECTOR
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_mongodb(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mongodb.c:128,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mongodb.c:132,1
    - Dst: ndpi_check_mongodb
      Src: /src/ndpi/src/lib/protocols/mongodb.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 7
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: ndpi_search_mongodb
    functionSourceFile: /src/ndpi/src/lib/protocols/mongodb.c
    functionUses: 0
    functionsReached:
    - ndpi_check_mongodb
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_mongodb(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\tstruct
      ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mongodb.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: init_mongodb_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mongodb.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mongodb_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/kafka.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/kafka.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ndpi_int_kafka_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/kafka.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_kafka_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                          struct ndpi_flow_struct
      *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/kafka.c:45,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/kafka.c:53,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/kafka.c:53,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kafka.c:55,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/kafka.c:60,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/kafka.c:60,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/kafka.c:61,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/kafka.c:61,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kafka.c:65,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/kafka.c:69,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/kafka.c:69,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kafka.c:72,1
    - Dst: ndpi_is_printable_buffer
      Src: /src/ndpi/src/lib/protocols/kafka.c:75,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kafka.c:77,1
    - Dst: ndpi_int_kafka_add_connection
      Src: /src/ndpi/src/lib/protocols/kafka.c:81,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kafka.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 86
    functionName: ndpi_search_kafka
    functionSourceFile: /src/ndpi/src/lib/protocols/kafka.c
    functionUses: 0
    functionsReached:
    - ndpi_int_kafka_add_connection
    - ndpi_is_printable_buffer
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_kafka(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                             struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/kafka.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: init_kafka_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/kafka.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_kafka_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ipp.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ndpi_int_ipp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ipp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ipp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\tstruct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ipp.c:43,1
    - Dst: LINE_STARTS
      Src: /src/ndpi/src/lib/protocols/ipp.c:49,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ipp.c:50,1
    - Dst: ndpi_int_ipp_add_connection
      Src: /src/ndpi/src/lib/protocols/ipp.c:51,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ipp.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: ndpi_search_ipp
    functionSourceFile: /src/ndpi/src/lib/protocols/ipp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_int_ipp_add_connection
    - LINE_STARTS
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_ipp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ipp.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: init_ipp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ipp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ipp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/samsung_sdp.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/samsung_sdp.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ndpi_int_samsung_sdp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/samsung_sdp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_samsung_sdp_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                                struct
      ndpi_flow_struct * const flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/samsung_sdp.c:43,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/samsung_sdp.c:45,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/samsung_sdp.c:46,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/samsung_sdp.c:50,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/samsung_sdp.c:50,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/samsung_sdp.c:51,1
    - Dst: ndpi_int_samsung_sdp_add_connection
      Src: /src/ndpi/src/lib/protocols/samsung_sdp.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: ndpi_search_samsung_sdp
    functionSourceFile: /src/ndpi/src/lib/protocols/samsung_sdp.c
    functionUses: 0
    functionsReached:
    - ndpi_int_samsung_sdp_add_connection
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_samsung_sdp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/samsung_sdp.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: init_samsung_sdp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/samsung_sdp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_samsung_sdp_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/smb.c:33,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/smb.c:37,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/smb.c:51,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/smb.c:53,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/smb.c:54,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/smb.c:67,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/smb.c:70,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/smb.c:71,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/smb.c:72,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/smb.c:79,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 80
    functionName: ndpi_search_smb_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/smb.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_set_risk
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - htons
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_smb_tcp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/smb.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: init_smb_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/smb.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_smb_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:56,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: ndpi_int_mail_smtp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_smtp.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_mail_smtp_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \     *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_user_pwd_payload_copy
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:85,1
    - Dst: ndpi_base64_decode
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:86,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:86,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:98,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:100,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:103,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:105,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:110,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:111,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - line
    - line_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 116
    functionName: get_credentials_auth_plain
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_smtp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - strlen
    - snprintf
    - ndpi_user_pwd_payload_copy
    - ndpi_free
    - ndpi_min
    - memcpy
    - ndpi_base64_decode
    linkageType: ''
    returnType: void
    signature: "void get_credentials_auth_plain(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                       struct ndpi_flow_struct
      *flow,\n\t\t\t\t       const u_int8_t *line, u_int16_t line_len)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:124,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:128,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:128,1
    - Dst: NDPI_PARSE_PACKET_LINE_INFO
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:133,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:138,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:154,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:155,1
    - Dst: ndpi_match_hostname_protocol
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:157,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:159,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:162,1
    - Dst: smtpInitExtraPacketProcessing
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:163,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:169,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:171,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:173,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:175,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:182,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:183,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:186,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:191,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:196,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:198,1
    - Dst: get_credentials_auth_plain
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:208,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:216,1
    - Dst: ndpi_user_pwd_payload_copy
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:228,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:232,1
    - Dst: ndpi_base64_decode
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:235,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:235,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:238,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:240,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:243,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:246,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:248,1
    - Dst: ndpi_user_pwd_payload_copy
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:255,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:259,1
    - Dst: ndpi_base64_decode
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:262,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:262,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:265,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:267,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:270,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:273,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:278,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:287,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:295,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:303,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:305,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:307,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:319,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:323,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:326,1
    - Dst: ndpi_int_mail_smtp_add_connection
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:333,1
    - Dst: smtpInitExtraPacketProcessing
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:334,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:347,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:347,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:348,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:348,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:349,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:354,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 154
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 120
    functionDepth: 8
    functionLinenumber: 120
    functionLinenumberEnd: 355
    functionName: ndpi_search_mail_smtp_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_smtp.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - NDPI_LOG_DBG
    - ndpi_hostname_sni_set
    - NDPI_LOG_DBG2
    - ndpi_match_hostname_protocol
    - NDPI_PARSE_PACKET_LINE_INFO
    - ndpi_set_risk
    - strlen
    - smtpInitExtraPacketProcessing
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_free
    - printf
    - snprintf
    - ndpi_user_pwd_payload_copy
    - ndpi_min
    - ndpi_memcasecmp
    - ndpi_int_mail_smtp_add_connection
    - get_credentials_auth_plain
    - NDPI_LOG_INFO
    - memcmp
    - ntohs
    - memcpy
    - ndpi_base64_decode
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_mail_smtp_tcp(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t      struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:376,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:381,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:386,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:389,1
    - Dst: switch_extra_dissection_to_tls
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:392,1
    - Dst: ndpi_search_mail_smtp_tcp
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:398,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 359
    functionDepth: 9
    functionLinenumber: 359
    functionLinenumberEnd: 409
    functionName: ndpi_extra_search_mail_smtp_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_smtp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_search_mail_smtp_tcp
    - NDPI_LOG_DBG
    - switch_extra_dissection_to_tls
    - memcmp
    - printf
    linkageType: ''
    returnType: int
    signature: "int ndpi_extra_search_mail_smtp_tcp(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t    struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: smtpInitExtraPacketProcessing
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_smtp.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void smtpInitExtraPacketProcessing(struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mail_smtp.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 432
    functionName: init_mail_smtp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_smtp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mail_smtp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: ndpi_rx_header
    functionSourceFile: /src/ndpi/src/lib/protocols/rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_rx_header
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/rx.c:86,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rx.c:91,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rx.c:114,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rx.c:167,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rx.c:171,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rx.c:179,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/rx.c:191,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/rx.c:192,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rx.c:197,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 79
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 204
    functionName: ndpi_check_rx
    functionSourceFile: /src/ndpi/src/lib/protocols/rx.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG2
    - ndpi_set_detected_protocol
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_rx(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                         struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rx.c:209,1
    - Dst: ndpi_check_rx
      Src: /src/ndpi/src/lib/protocols/rx.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: ndpi_search_rx
    functionSourceFile: /src/ndpi/src/lib/protocols/rx.c
    functionUses: 0
    functionsReached:
    - ndpi_check_rx
    - NDPI_LOG_DBG
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_rx(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                          struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/rx.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: init_rx_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/rx.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_rx_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/sflow.c:34,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/sflow.c:39,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/sflow.c:39,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/sflow.c:41,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/sflow.c:41,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/sflow.c:42,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/sflow.c:42,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/sflow.c:43,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/sflow.c:46,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/sflow.c:47,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/sflow.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: ndpi_search_sflow
    functionSourceFile: /src/ndpi/src/lib/protocols/sflow.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_sflow(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/sflow.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: init_sflow_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/sflow.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_sflow_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:33,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:36,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:38,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:43,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:60,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:63,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:67,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:72,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:75,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:79,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:84,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:87,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:92,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:101,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:106,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 107
    functionName: ndpi_search_mikrotik
    functionSourceFile: /src/ndpi/src/lib/protocols/mikrotik.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ntohl
    - NDPI_LOG_DBG
    - snprintf
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_mikrotik(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mikrotik.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: init_mikrotik_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mikrotik.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mikrotik_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ldp.c:57,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ldp.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 5
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: ndpi_int_ldp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ldp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ldp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                        struct ndpi_flow_struct
      *flow)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ldp.c:67,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ldp.c:70,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/ldp.c:70,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ldp.c:71,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/ldp.c:71,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ldp.c:75,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/ldp.c:75,1
    - Dst: ndpi_int_ldp_add_connection
      Src: /src/ndpi/src/lib/protocols/ldp.c:77,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ldp.c:81,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/ldp.c:81,1
    - Dst: ndpi_int_ldp_add_connection
      Src: /src/ndpi/src/lib/protocols/ldp.c:85,1
    - Dst: ndpi_int_ldp_add_connection
      Src: /src/ndpi/src/lib/protocols/ldp.c:106,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ldp.c:114,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 62
    functionDepth: 6
    functionLinenumber: 62
    functionLinenumberEnd: 115
    functionName: ndpi_search_ldp
    functionSourceFile: /src/ndpi/src/lib/protocols/ldp.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    - ndpi_int_ldp_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ldp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ldp.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: init_ldp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ldp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ldp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: dhcp_packet
    functionSourceFile: /src/ndpi/src/lib/protocols/dhcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON dhcp_packet
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dhcp.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: ndpi_int_dhcp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/dhcp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_dhcp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - magic
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: is_dhcp_magic
    functionSourceFile: /src/ndpi/src/lib/protocols/dhcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_dhcp_magic(uint8_t *magic)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dhcp.c:79,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/dhcp.c:88,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/dhcp.c:88,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/dhcp.c:89,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/dhcp.c:89,1
    - Dst: is_dhcp_magic
      Src: /src/ndpi/src/lib/protocols/dhcp.c:90,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/dhcp.c:93,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/dhcp.c:108,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/dhcp.c:128,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dhcp.c:130,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/dhcp.c:135,1
    - Dst: ndpi_int_dhcp_add_connection
      Src: /src/ndpi/src/lib/protocols/dhcp.c:136,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/dhcp.c:147,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/dhcp.c:153,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/dhcp.c:160,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/dhcp.c:167,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/dhcp.c:180,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/dhcp.c:181,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/dhcp.c:187,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/dhcp.c:190,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dhcp.c:197,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 59
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 199
    functionName: ndpi_search_dhcp_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/dhcp.c
    functionUses: 0
    functionsReached:
    - ndpi_int_dhcp_add_connection
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_snprintf
    - ndpi_hostname_sni_set
    - is_dhcp_magic
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - strncpy
    - ndpi_min
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_dhcp_udp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/dhcp.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: init_dhcp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/dhcp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_dhcp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/sonos.c:32,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/sonos.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ndpi_sonos_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/sonos.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: void ndpi_sonos_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/sonos.c:39,1
    - Dst: ndpi_is_public_ipv4
      Src: /src/ndpi/src/lib/protocols/sonos.c:41,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/sonos.c:41,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/sonos.c:42,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/sonos.c:44,1
    - Dst: ndpi_sonos_add_connection
      Src: /src/ndpi/src/lib/protocols/sonos.c:47,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/sonos.c:50,1
    - Dst: ndpi_sonos_add_connection
      Src: /src/ndpi/src/lib/protocols/sonos.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/sonos.c:60,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: ndpi_search_sonos
    functionSourceFile: /src/ndpi/src/lib/protocols/sonos.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - ndpi_sonos_add_connection
    - ndpi_is_public_ipv4
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_sonos(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/sonos.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: init_sonos_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/sonos.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_sonos_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/viber.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/viber.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: viber_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/viber.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void viber_add_connection(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/viber.c:43,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/viber.c:48,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/viber.c:55,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/viber.c:58,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/viber.c:58,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/viber.c:60,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/viber.c:60,1
    - Dst: viber_add_connection
      Src: /src/ndpi/src/lib/protocols/viber.c:63,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/viber.c:66,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/viber.c:66,1
    - Dst: viber_add_connection
      Src: /src/ndpi/src/lib/protocols/viber.c:69,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/viber.c:74,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/viber.c:79,1
    - Dst: viber_add_connection
      Src: /src/ndpi/src/lib/protocols/viber.c:88,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/viber.c:92,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/viber.c:97,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 34
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 98
    functionName: ndpi_search_viber
    functionSourceFile: /src/ndpi/src/lib/protocols/viber.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - NDPI_LOG_DBG
    - viber_add_connection
    - le16toh
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_viber(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/viber.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: init_viber_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/viber.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_viber_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bfd.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/bfd.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ndpi_int_bfd_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/bfd.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_bfd_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, \n                                             struct ndpi_flow_struct
      *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bfd.c:48,1
    - Dst: ndpi_ntohll
      Src: /src/ndpi/src/lib/protocols/bfd.c:49,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/bfd.c:49,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bfd.c:50,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/bfd.c:50,1
    - Dst: ndpi_int_bfd_add_connection
      Src: /src/ndpi/src/lib/protocols/bfd.c:52,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bfd.c:59,1
    - Dst: ndpi_int_bfd_add_connection
      Src: /src/ndpi/src/lib/protocols/bfd.c:64,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/bfd.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: ndpi_search_bfd
    functionSourceFile: /src/ndpi/src/lib/protocols/bfd.c
    functionUses: 0
    functionsReached:
    - get_u_int64_t
    - get_u_int16_t
    - ndpi_ntohll
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_bfd_add_connection
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_bfd(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/bfd.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: init_bfd_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/bfd.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_bfd_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/jrmi.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ndpi_int_jrmi_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/jrmi.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_jrmi_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/jrmi.c:38,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/jrmi.c:46,1
    - Dst: ndpi_int_jrmi_add_connection
      Src: /src/ndpi/src/lib/protocols/jrmi.c:47,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/jrmi.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 34
    functionDepth: 6
    functionLinenumber: 34
    functionLinenumberEnd: 53
    functionName: ndpi_search_jrmi
    functionSourceFile: /src/ndpi/src/lib/protocols/jrmi.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - NDPI_LOG_INFO
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_jrmi_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_search_jrmi(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/jrmi.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: init_jrmi_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/jrmi.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_jrmi_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:36,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:40,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:40,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:41,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:41,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:42,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:42,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:42,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:42,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:44,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:45,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: ndpi_search_dingtalk
    functionSourceFile: /src/ndpi/src/lib/protocols/dingtalk.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_dingtalk(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/dingtalk.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: init_dingtalk_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/dingtalk.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_dingtalk_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: is_version_forcing_vn
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_version_forcing_vn(uint32_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: is_version_gquic
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_version_gquic(uint32_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_version_forcing_vn
      Src: /src/ndpi/src/lib/protocols/quic.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: is_version_quic
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_version_forcing_vn
    linkageType: ''
    returnType: int
    signature: int is_version_quic(uint32_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_version_gquic
      Src: /src/ndpi/src/lib/protocols/quic.c:92,1
    - Dst: is_version_quic
      Src: /src/ndpi/src/lib/protocols/quic.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: is_version_valid
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_version_gquic
    - is_version_quic
    linkageType: ''
    returnType: int
    signature: int is_version_valid(uint32_t version)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_version_forcing_vn
      Src: /src/ndpi/src/lib/protocols/quic.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 125
    functionName: get_u8_quic_ver
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_version_forcing_vn
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_u8_quic_ver(uint32_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u8_quic_ver
      Src: /src/ndpi/src/lib/protocols/quic.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - version
    - max_version
    argTypes:
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: is_quic_ver_less_than
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - get_u8_quic_ver
    linkageType: ''
    returnType: int
    signature: int is_quic_ver_less_than(uint32_t version, uint8_t max_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u8_quic_ver
      Src: /src/ndpi/src/lib/protocols/quic.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - version
    - min_version
    argTypes:
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: is_quic_ver_greater_than
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - get_u8_quic_ver
    linkageType: ''
    returnType: int
    signature: int is_quic_ver_greater_than(uint32_t version, uint8_t min_version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_version_gquic
      Src: /src/ndpi/src/lib/protocols/quic.c:138,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/quic.c:139,1
    - Dst: atoi
      Src: /src/ndpi/src/lib/protocols/quic.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: get_u8_gquic_ver
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - ntohl
    - is_version_gquic
    - atoi
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_u8_gquic_ver(uint32_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_u8_gquic_ver
      Src: /src/ndpi/src/lib/protocols/quic.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - version
    - max_version
    argTypes:
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: is_gquic_ver_less_than
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - get_u8_gquic_ver
    linkageType: ''
    returnType: int
    signature: int is_gquic_ver_less_than(uint32_t version, uint8_t max_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_quic_ver_greater_than
      Src: /src/ndpi/src/lib/protocols/quic.c:167,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: is_version_supported
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_quic_ver_greater_than
    linkageType: ''
    returnType: int
    signature: int is_version_supported(uint32_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_version_quic
      Src: /src/ndpi/src/lib/protocols/quic.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: is_version_with_encrypted_header
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_version_quic
    linkageType: ''
    returnType: int
    signature: int is_version_with_encrypted_header(uint32_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_version_quic
      Src: /src/ndpi/src/lib/protocols/quic.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: is_version_with_tls
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_version_quic
    linkageType: ''
    returnType: int
    signature: int is_version_with_tls(uint32_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_version_quic
      Src: /src/ndpi/src/lib/protocols/quic.c:182,1
    - Dst: is_quic_ver_greater_than
      Src: /src/ndpi/src/lib/protocols/quic.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: is_version_with_var_int_transport_params
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_quic_ver_greater_than
    - is_version_quic
    linkageType: ''
    returnType: int
    signature: int is_version_with_var_int_transport_params(uint32_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_version_quic
      Src: /src/ndpi/src/lib/protocols/quic.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: is_version_with_ietf_long_header
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_version_quic
    linkageType: ''
    returnType: int
    signature: int is_version_with_ietf_long_header(uint32_t version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_quic_ver_less_than
      Src: /src/ndpi/src/lib/protocols/quic.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: is_version_with_v1_labels
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_quic_ver_less_than
    linkageType: ''
    returnType: int
    signature: int is_version_with_v1_labels(uint32_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: is_version_quic_v2
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_version_quic_v2(uint32_t version)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:210,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:211,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:212,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:213,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:214,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:215,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:216,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:217,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:218,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:219,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:220,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:221,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:222,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:223,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:224,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:225,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:226,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:227,1
    - Dst: is_version_forcing_vn
      Src: /src/ndpi/src/lib/protocols/quic.c:230,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/quic.c:231,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/quic.c:236,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/quic.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 89
    argCount: 3
    argNames:
    - buf
    - buf_len
    - version
    argTypes:
    - char*
    - int
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 243
    functionName: ndpi_quic_version2str
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 1
    functionsReached:
    - ndpi_snprintf
    - snprintf
    - strncpy
    - is_version_forcing_vn
    linkageType: ''
    returnType: char
    signature: char *ndpi_quic_version2str(char *buf, int buf_len, u_int32_t version)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/quic.c:253,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/quic.c:256,1
    - Dst: ndpi_ntohll
      Src: /src/ndpi/src/lib/protocols/quic.c:259,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/quic.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - buf
    - value
    argTypes:
    - uint8_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 264
    functionName: quic_len
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - ntohl
    - ndpi_ntohll
    - ntohs
    - get_u_int64_t
    linkageType: ''
    returnType: int
    signature: int quic_len(const uint8_t *buf, uint64_t *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: quic_len_buffer_still_required
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quic_len_buffer_still_required(uint8_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/quic.c:285,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/quic.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - version
    argTypes:
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: gquic_get_u16
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - le16toh
    - ntohs
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t gquic_get_u16(const uint8_t *buf, uint32_t version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gpg_strerror_r
      Src: /src/ndpi/src/lib/protocols/quic.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - err
    - buf
    - buflen
    argTypes:
    - gpg_error_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: __gcry_err
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - gpg_strerror_r
    linkageType: ''
    returnType: char
    signature: char *__gcry_err(gpg_error_t err, char *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: pntoh64
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t pntoh64(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - uint8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: phton64
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void phton64(uint8_t *p, uint64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/quic.c:327,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - orig
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: memdup
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ndpi_malloc
    linkageType: ''
    returnType: void
    signature: void *memdup(const uint8_t *orig, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_open
      Src: /src/ndpi/src/lib/protocols/quic.c:374,1
    - Dst: gcry_md_setkey
      Src: /src/ndpi/src/lib/protocols/quic.c:378,1
    - Dst: gcry_md_close
      Src: /src/ndpi/src/lib/protocols/quic.c:380,1
    - Dst: gcry_md_write
      Src: /src/ndpi/src/lib/protocols/quic.c:383,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:384,1
    - Dst: gcry_md_read
      Src: /src/ndpi/src/lib/protocols/quic.c:384,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/ndpi/src/lib/protocols/quic.c:384,1
    - Dst: gcry_md_close
      Src: /src/ndpi/src/lib/protocols/quic.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - algo
    - digest
    - buffer
    - length
    - key
    - keylen
    argTypes:
    - int
    - void*
    - void*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 387
    functionName: ws_hmac_buffer
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_get_algo_dlen
    - gcry_md_close
    - gcry_md_open
    - gcry_md_read
    - gcry_md_setkey
    - memcpy
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t ws_hmac_buffer(int algo, void *digest, const void *buffer,\n\t\t\t\t
      \  size_t length, const void *key, size_t keylen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/ndpi/src/lib/protocols/quic.c:396,1
    - Dst: gcry_md_open
      Src: /src/ndpi/src/lib/protocols/quic.c:405,1
    - Dst: gcry_md_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:411,1
    - Dst: gcry_md_setkey
      Src: /src/ndpi/src/lib/protocols/quic.c:412,1
    - Dst: gcry_md_write
      Src: /src/ndpi/src/lib/protocols/quic.c:414,1
    - Dst: gcry_md_write
      Src: /src/ndpi/src/lib/protocols/quic.c:416,1
    - Dst: gcry_md_write
      Src: /src/ndpi/src/lib/protocols/quic.c:419,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:421,1
    - Dst: gcry_md_read
      Src: /src/ndpi/src/lib/protocols/quic.c:421,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:422,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/quic.c:422,1
    - Dst: gcry_md_close
      Src: /src/ndpi/src/lib/protocols/quic.c:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 7
    argNames:
    - hashalgo
    - prk
    - prk_len
    - info
    - info_len
    - out
    - out_len
    argTypes:
    - int
    - uint8_t*
    - uint32_t
    - uint8_t*
    - uint32_t
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 427
    functionName: hkdf_expand
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - gcry_md_write
    - gcry_md_get_algo_dlen
    - gcry_md_close
    - gcry_md_open
    - gcry_md_read
    - ndpi_min
    - gcry_md_reset
    - gcry_md_setkey
    - memcpy
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t hkdf_expand(int hashalgo, const uint8_t *prk, uint32_t
      prk_len,\n\t\t\t\tconst uint8_t *info, uint32_t info_len,\n\t\t\t\tuint8_t *out,
      uint32_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ws_hmac_buffer
      Src: /src/ndpi/src/lib/protocols/quic.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - hashalgo
    - salt
    - salt_len
    - ikm
    - ikm_len
    - prk
    argTypes:
    - int
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: hkdf_extract
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - ws_hmac_buffer
    linkageType: ''
    returnType: gcry_error_t
    signature: "gcry_error_t hkdf_extract(int hashalgo, const uint8_t *salt, size_t
      salt_len,\n\t\t\t\t const uint8_t *ikm, size_t ikm_len, uint8_t *prk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/quic.c:469,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/quic.c:470,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:477,1
    - Dst: g_byte_array_new
      Src: /src/ndpi/src/lib/protocols/quic.c:484,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/quic.c:485,1
    - Dst: g_byte_array_append
      Src: /src/ndpi/src/lib/protocols/quic.c:486,1
    - Dst: g_byte_array_append
      Src: /src/ndpi/src/lib/protocols/quic.c:489,1
    - Dst: g_byte_array_append
      Src: /src/ndpi/src/lib/protocols/quic.c:490,1
    - Dst: g_byte_array_append
      Src: /src/ndpi/src/lib/protocols/quic.c:491,1
    - Dst: g_byte_array_append
      Src: /src/ndpi/src/lib/protocols/quic.c:493,1
    - Dst: g_byte_array_append
      Src: /src/ndpi/src/lib/protocols/quic.c:495,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/quic.c:499,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/quic.c:502,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:503,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:507,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:509,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:511,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:514,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:517,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/quic.c:522,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:524,1
    - Dst: hkdf_expand
      Src: /src/ndpi/src/lib/protocols/quic.c:527,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:528,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:531,1
    - Dst: __gcry_err
      Src: /src/ndpi/src/lib/protocols/quic.c:531,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:532,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 9
    argNames:
    - ndpi_struct
    - md
    - secret
    - label_prefix
    - label
    - context_hash
    - context_length
    - out_len
    - out
    argTypes:
    - struct ndpi_detection_module_struct*
    - int
    - StringInfo*
    - char*
    - char*
    - uint8_t*
    - uint8_t
    - uint16_t
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 538
    functionName: tls13_hkdf_expand_label_context
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - g_byte_array_new
    - strlen
    - hkdf_expand
    - NDPI_LOG_DBG
    - __gcry_err
    - ndpi_malloc
    - htons
    - ndpi_free
    - g_byte_array_append
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int tls13_hkdf_expand_label_context(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t   int md, const StringInfo *secret,\n\t\t\t\t\t   const
      char *label_prefix, const char *label,\n\t\t\t\t\t   const uint8_t *context_hash,
      uint8_t context_length,\n\t\t\t\t\t   uint16_t out_len, uint8_t **out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls13_hkdf_expand_label_context
      Src: /src/ndpi/src/lib/protocols/quic.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ndpi_struct
    - md
    - secret
    - label_prefix
    - label
    - out_len
    - out
    argTypes:
    - struct ndpi_detection_module_struct*
    - int
    - StringInfo*
    - char*
    - char*
    - uint16_t
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: tls13_hkdf_expand_label
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - tls13_hkdf_expand_label_context
    linkageType: ''
    returnType: int
    signature: "int tls13_hkdf_expand_label(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \  int md, const StringInfo *secret,\n\t\t\t\t   const char *label_prefix, const
      char *label,\n\t\t\t\t   uint16_t out_len, unsigned char **out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tls13_hkdf_expand_label
      Src: /src/ndpi/src/lib/protocols/quic.c:558,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:559,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - ndpi_struct
    - hash_algo
    - secret
    - secret_len
    - label
    - out
    - out_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - int
    - uint8_t*
    - uint32_t
    - char*
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 552
    functionDepth: 5
    functionLinenumber: 552
    functionLinenumberEnd: 564
    functionName: quic_hkdf_expand_label
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - tls13_hkdf_expand_label
    - memcpy
    - ndpi_free
    linkageType: ''
    returnType: int
    signature: "int quic_hkdf_expand_label(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \ int hash_algo, uint8_t *secret, uint32_t secret_len,\n\t\t\t\t  const char
      *label, uint8_t *out, uint32_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_close
      Src: /src/ndpi/src/lib/protocols/quic.c:567,1
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/quic.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hp_cipher
    argTypes:
    - quic_hp_cipher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 571
    functionName: quic_hp_cipher_reset
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - memset
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void quic_hp_cipher_reset(quic_hp_cipher *hp_cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gcry_cipher_close
      Src: /src/ndpi/src/lib/protocols/quic.c:574,1
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/quic.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pp_cipher
    argTypes:
    - quic_pp_cipher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 578
    functionName: quic_pp_cipher_reset
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - memset
    - gcry_cipher_close
    linkageType: ''
    returnType: void
    signature: void quic_pp_cipher_reset(quic_pp_cipher *pp_cipher)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: quic_hp_cipher_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:581,1
    - Dst: quic_pp_cipher_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ciphers
    argTypes:
    - quic_ciphers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: quic_ciphers_reset
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - quic_hp_cipher_reset
    - quic_pp_cipher_reset
    linkageType: ''
    returnType: void
    signature: void quic_ciphers_reset(quic_ciphers *ciphers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/ndpi/src/lib/protocols/quic.c:594,1
    - Dst: is_version_with_v1_labels
      Src: /src/ndpi/src/lib/protocols/quic.c:595,1
    - Dst: quic_hkdf_expand_label
      Src: /src/ndpi/src/lib/protocols/quic.c:597,1
    - Dst: gcry_cipher_setkey
      Src: /src/ndpi/src/lib/protocols/quic.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - ndpi_struct
    - hp_cipher
    - hash_algo
    - key_length
    - secret
    - version
    argTypes:
    - struct ndpi_detection_module_struct*
    - quic_hp_cipher*
    - int
    - uint8_t
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 588
    functionDepth: 6
    functionLinenumber: 588
    functionLinenumberEnd: 602
    functionName: quic_hp_cipher_init
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_version_with_v1_labels
    - gcry_cipher_setkey
    - gcry_md_get_algo_dlen
    - quic_hkdf_expand_label
    linkageType: ''
    returnType: int
    signature: "int quic_hp_cipher_init(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      quic_hp_cipher *hp_cipher, int hash_algo,\n\t\t\t       uint8_t key_length,
      uint8_t *secret,\n\t\t\t       uint32_t version)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gcry_md_get_algo_dlen
      Src: /src/ndpi/src/lib/protocols/quic.c:609,1
    - Dst: is_version_with_v1_labels
      Src: /src/ndpi/src/lib/protocols/quic.c:610,1
    - Dst: is_version_with_v1_labels
      Src: /src/ndpi/src/lib/protocols/quic.c:611,1
    - Dst: quic_hkdf_expand_label
      Src: /src/ndpi/src/lib/protocols/quic.c:617,1
    - Dst: quic_hkdf_expand_label
      Src: /src/ndpi/src/lib/protocols/quic.c:618,1
    - Dst: gcry_cipher_setkey
      Src: /src/ndpi/src/lib/protocols/quic.c:622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - ndpi_struct
    - pp_cipher
    - hash_algo
    - key_length
    - secret
    - version
    argTypes:
    - struct ndpi_detection_module_struct*
    - quic_pp_cipher*
    - int
    - uint8_t
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 603
    functionDepth: 6
    functionLinenumber: 603
    functionLinenumberEnd: 623
    functionName: quic_pp_cipher_init
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_version_with_v1_labels
    - gcry_cipher_setkey
    - gcry_md_get_algo_dlen
    - quic_hkdf_expand_label
    linkageType: ''
    returnType: int
    signature: "int quic_pp_cipher_init(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      quic_pp_cipher *pp_cipher, int hash_algo,\n\t\t\t       uint8_t key_length,
      uint8_t *secret,\n\t\t\t       uint32_t version)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cipher_algo
    - hp_cipher_mode
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 638
    functionName: quic_get_pn_cipher_algo
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int quic_get_pn_cipher_algo(int cipher_algo, int *hp_cipher_mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: quic_hp_cipher_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:650,1
    - Dst: quic_get_pn_cipher_algo
      Src: /src/ndpi/src/lib/protocols/quic.c:654,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:655,1
    - Dst: gcry_cipher_open
      Src: /src/ndpi/src/lib/protocols/quic.c:659,1
    - Dst: quic_hp_cipher_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:660,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:661,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/ndpi/src/lib/protocols/quic.c:666,1
    - Dst: quic_hp_cipher_init
      Src: /src/ndpi/src/lib/protocols/quic.c:667,1
    - Dst: quic_hp_cipher_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:668,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - ndpi_struct
    - hp_cipher
    - hash_algo
    - cipher_algo
    - secret
    - version
    argTypes:
    - struct ndpi_detection_module_struct*
    - quic_hp_cipher*
    - int
    - int
    - uint8_t*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 644
    functionDepth: 7
    functionLinenumber: 644
    functionLinenumberEnd: 675
    functionName: quic_hp_cipher_prepare
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - quic_hp_cipher_init
    - gcry_cipher_open
    - NDPI_LOG_DBG
    - quic_hp_cipher_reset
    - gcry_cipher_get_algo_keylen
    - quic_get_pn_cipher_algo
    linkageType: ''
    returnType: int
    signature: "int quic_hp_cipher_prepare(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 quic_hp_cipher *hp_cipher, int hash_algo,
      int cipher_algo,\n                                  uint8_t *secret, u_int32_t
      version)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: quic_pp_cipher_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:682,1
    - Dst: gcry_cipher_open
      Src: /src/ndpi/src/lib/protocols/quic.c:685,1
    - Dst: quic_pp_cipher_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:686,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:687,1
    - Dst: gcry_cipher_get_algo_keylen
      Src: /src/ndpi/src/lib/protocols/quic.c:692,1
    - Dst: quic_pp_cipher_init
      Src: /src/ndpi/src/lib/protocols/quic.c:693,1
    - Dst: quic_pp_cipher_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:694,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - ndpi_struct
    - pp_cipher
    - hash_algo
    - cipher_algo
    - cipher_mode
    - secret
    - version
    argTypes:
    - struct ndpi_detection_module_struct*
    - quic_pp_cipher*
    - int
    - int
    - int
    - uint8_t*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 676
    functionDepth: 7
    functionLinenumber: 676
    functionLinenumberEnd: 701
    functionName: quic_pp_cipher_prepare
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_open
    - NDPI_LOG_DBG
    - quic_pp_cipher_reset
    - gcry_cipher_get_algo_keylen
    - quic_pp_cipher_init
    linkageType: ''
    returnType: int
    signature: "int quic_pp_cipher_prepare(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 quic_pp_cipher *pp_cipher, int hash_algo,
      int cipher_algo,\n                                  int cipher_mode, uint8_t
      *secret, u_int32_t version)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: quic_hp_cipher_prepare
      Src: /src/ndpi/src/lib/protocols/quic.c:708,1
    - Dst: quic_pp_cipher_prepare
      Src: /src/ndpi/src/lib/protocols/quic.c:711,1
    - Dst: quic_hp_cipher_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - ndpi_struct
    - ciphers
    - hash_algo
    - cipher_algo
    - cipher_mode
    - secret
    - version
    argTypes:
    - struct ndpi_detection_module_struct*
    - quic_ciphers*
    - int
    - int
    - int
    - uint8_t*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 702
    functionDepth: 8
    functionLinenumber: 702
    functionLinenumberEnd: 715
    functionName: quic_ciphers_prepare
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - quic_hp_cipher_reset
    - quic_hp_cipher_prepare
    - quic_pp_cipher_prepare
    linkageType: ''
    returnType: int
    signature: "int quic_ciphers_prepare(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               quic_ciphers *ciphers, int hash_algo, int cipher_algo,\n
      \                               int cipher_mode, uint8_t *secret, u_int32_t
      version)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:736,1
    - Dst: gcry_cipher_encrypt
      Src: /src/ndpi/src/lib/protocols/quic.c:743,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:746,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 7
    argNames:
    - packet_payload
    - pn_offset
    - hp_cipher
    - hp_cipher_algo
    - first_byte
    - pn
    - loss_bits_negotiated
    argTypes:
    - uint8_t*
    - uint32_t
    - quic_hp_cipher*
    - int
    - uint8_t*
    - uint32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 722
    functionDepth: 3
    functionLinenumber: 722
    functionLinenumberEnd: 779
    functionName: quic_decrypt_header
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_encrypt
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int quic_decrypt_header(const uint8_t *packet_payload,\n\t\t\t       uint32_t
      pn_offset, quic_hp_cipher *hp_cipher,\n\t\t\t       int hp_cipher_algo, uint8_t
      *first_byte, uint32_t *pn,\n\t\t\t       int loss_bits_negotiated)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:808,1
    - Dst: memdup
      Src: /src/ndpi/src/lib/protocols/quic.c:812,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:823,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:824,1
    - Dst: memdup
      Src: /src/ndpi/src/lib/protocols/quic.c:827,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:829,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:832,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:834,1
    - Dst: phton64
      Src: /src/ndpi/src/lib/protocols/quic.c:836,1
    - Dst: pntoh64
      Src: /src/ndpi/src/lib/protocols/quic.c:836,1
    - Dst: gcry_cipher_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:838,1
    - Dst: gcry_cipher_setiv
      Src: /src/ndpi/src/lib/protocols/quic.c:839,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:841,1
    - Dst: __gcry_err
      Src: /src/ndpi/src/lib/protocols/quic.c:841,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:842,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:843,1
    - Dst: gcry_cipher_authenticate
      Src: /src/ndpi/src/lib/protocols/quic.c:848,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:850,1
    - Dst: __gcry_err
      Src: /src/ndpi/src/lib/protocols/quic.c:850,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:851,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:852,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:856,1
    - Dst: gcry_cipher_decrypt
      Src: /src/ndpi/src/lib/protocols/quic.c:859,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:861,1
    - Dst: __gcry_err
      Src: /src/ndpi/src/lib/protocols/quic.c:861,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:862,1
    - Dst: gcry_cipher_checktag
      Src: /src/ndpi/src/lib/protocols/quic.c:866,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:868,1
    - Dst: __gcry_err
      Src: /src/ndpi/src/lib/protocols/quic.c:868,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:869,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 9
    argNames:
    - ndpi_struct
    - pp_cipher
    - packet_payload
    - packet_payload_len
    - header_length
    - first_byte
    - pkn_len
    - packet_number
    - result
    argTypes:
    - struct ndpi_detection_module_struct*
    - quic_pp_cipher*
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint8_t
    - uint32_t
    - uint64_t
    - quic_decrypt_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 875
    functionName: quic_decrypt_message
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - gcry_cipher_reset
    - phton64
    - memdup
    - pntoh64
    - gcry_cipher_decrypt
    - gcry_cipher_checktag
    - NDPI_LOG_DBG
    - __gcry_err
    - ndpi_free
    - gcry_cipher_setiv
    - gcry_cipher_authenticate
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void quic_decrypt_message(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      quic_pp_cipher *pp_cipher, const uint8_t *packet_payload, uint32_t packet_payload_len,\n\t\t\t\t
      uint32_t header_length, uint8_t first_byte, uint32_t pkn_len,\n\t\t\t\t uint64_t
      packet_number, quic_decrypt_result_t *result)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_extract
      Src: /src/ndpi/src/lib/protocols/quic.c:933,1
    - Dst: hkdf_extract
      Src: /src/ndpi/src/lib/protocols/quic.c:937,1
    - Dst: hkdf_extract
      Src: /src/ndpi/src/lib/protocols/quic.c:941,1
    - Dst: is_quic_ver_less_than
      Src: /src/ndpi/src/lib/protocols/quic.c:944,1
    - Dst: hkdf_extract
      Src: /src/ndpi/src/lib/protocols/quic.c:945,1
    - Dst: is_quic_ver_less_than
      Src: /src/ndpi/src/lib/protocols/quic.c:948,1
    - Dst: hkdf_extract
      Src: /src/ndpi/src/lib/protocols/quic.c:949,1
    - Dst: is_quic_ver_less_than
      Src: /src/ndpi/src/lib/protocols/quic.c:952,1
    - Dst: hkdf_extract
      Src: /src/ndpi/src/lib/protocols/quic.c:953,1
    - Dst: is_quic_ver_less_than
      Src: /src/ndpi/src/lib/protocols/quic.c:956,1
    - Dst: hkdf_extract
      Src: /src/ndpi/src/lib/protocols/quic.c:957,1
    - Dst: hkdf_extract
      Src: /src/ndpi/src/lib/protocols/quic.c:961,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:966,1
    - Dst: __gcry_err
      Src: /src/ndpi/src/lib/protocols/quic.c:966,1
    - Dst: quic_hkdf_expand_label
      Src: /src/ndpi/src/lib/protocols/quic.c:970,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:972,1
    - Dst: __gcry_err
      Src: /src/ndpi/src/lib/protocols/quic.c:972,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - ndpi_struct
    - version
    - cid
    - cid_len
    - client_initial_secret
    argTypes:
    - struct ndpi_detection_module_struct*
    - uint32_t
    - uint8_t*
    - uint8_t
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 879
    functionDepth: 6
    functionLinenumber: 879
    functionLinenumberEnd: 977
    functionName: quic_derive_initial_secrets
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - quic_hkdf_expand_label
    - NDPI_LOG_DBG
    - __gcry_err
    - hkdf_extract
    - is_quic_ver_less_than
    linkageType: ''
    returnType: int
    signature: "int quic_derive_initial_secrets(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t       uint32_t version,\n\t\t\t\t       const uint8_t
      *cid, uint8_t cid_len,\n\t\t\t\t       uint8_t client_initial_secret[HASH_SHA2_256_LENGTH])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/quic.c:998,1
    - Dst: quic_derive_initial_secrets
      Src: /src/ndpi/src/lib/protocols/quic.c:999,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1001,1
    - Dst: quic_ciphers_prepare
      Src: /src/ndpi/src/lib/protocols/quic.c:1007,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1010,1
    - Dst: quic_len
      Src: /src/ndpi/src/lib/protocols/quic.c:1016,1
    - Dst: quic_ciphers_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:1021,1
    - Dst: quic_len
      Src: /src/ndpi/src/lib/protocols/quic.c:1024,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1026,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1030,1
    - Dst: quic_ciphers_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:1032,1
    - Dst: quic_decrypt_header
      Src: /src/ndpi/src/lib/protocols/quic.c:1036,1
    - Dst: quic_ciphers_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:1038,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1041,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1049,1
    - Dst: quic_ciphers_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:1051,1
    - Dst: quic_decrypt_message
      Src: /src/ndpi/src/lib/protocols/quic.c:1054,1
    - Dst: quic_ciphers_reset
      Src: /src/ndpi/src/lib/protocols/quic.c:1057,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 7
    argNames:
    - ndpi_struct
    - orig_dest_conn_id
    - orig_dest_conn_id_len
    - dest_conn_id_len
    - source_conn_id_len
    - version
    - clear_payload_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - uint8_t*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 984
    functionDepth: 9
    functionLinenumber: 984
    functionLinenumberEnd: 1064
    functionName: decrypt_initial_packet
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - quic_decrypt_message
    - quic_len
    - NDPI_LOG_DBG
    - quic_derive_initial_secrets
    - quic_ciphers_prepare
    - quic_ciphers_reset
    - memset
    - NDPI_LOG_DBG2
    - quic_decrypt_header
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *decrypt_initial_packet(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t       const uint8_t *orig_dest_conn_id, uint8_t orig_dest_conn_id_len,\n\t\t\t\t
      \      uint8_t dest_conn_id_len,\n\t\t\t\t       uint8_t source_conn_id_len,
      uint32_t version,\n\t\t\t\t       uint32_t *clear_payload_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - buffer_bitmap
    - buffer_bitmap_size
    - recv_pos
    - recv_len
    argTypes:
    - u_int8_t*
    - u_int32_t
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1087
    functionName: update_reasm_buf_bitmap
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void update_reasm_buf_bitmap(u_int8_t *buffer_bitmap,\n\t\t\t\t    const
      u_int32_t buffer_bitmap_size,\n\t\t\t\t    const u_int32_t recv_pos,\n\t\t\t\t
      \   const u_int32_t recv_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - buffer_bitmap
    - buffer_len
    argTypes:
    - u_int8_t*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1107
    functionName: is_reasm_buf_complete
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int is_reasm_buf_complete(const u_int8_t *buffer_bitmap,\n                                 const
      u_int32_t buffer_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/quic.c:1118,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/protocols/quic.c:1120,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:1128,1
    - Dst: update_reasm_buf_bitmap
      Src: /src/ndpi/src/lib/protocols/quic.c:1130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - flow
    - frag
    - frag_len
    - frag_offset
    - buf
    - buf_len
    argTypes:
    - struct ndpi_flow_struct*
    - u_int8_t*
    - uint64_t
    - uint64_t
    - u_int8_t**
    - u_int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1135
    functionName: __reassemble
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - update_reasm_buf_bitmap
    - ndpi_calloc
    - memcpy
    - ndpi_malloc
    linkageType: ''
    returnType: int
    signature: "int __reassemble(struct ndpi_flow_struct *flow, const u_int8_t *frag,\n
      \                       uint64_t frag_len, uint64_t frag_offset,\n                        const
      u_int8_t **buf, u_int64_t *buf_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - buf_len
    argTypes:
    - u_int8_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1147
    functionName: is_ch_complete
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ch_complete(const u_int8_t *buf, uint64_t buf_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_reasm_buf_complete
      Src: /src/ndpi/src/lib/protocols/quic.c:1151,1
    - Dst: is_ch_complete
      Src: /src/ndpi/src/lib/protocols/quic.c:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1153
    functionName: is_ch_reassembler_pending
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_ch_complete
    - is_reasm_buf_complete
    linkageType: ''
    returnType: int
    signature: int is_ch_reassembler_pending(struct ndpi_flow_struct *flow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1163,1
    - Dst: is_ch_complete
      Src: /src/ndpi/src/lib/protocols/quic.c:1167,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1168,1
    - Dst: __reassemble
      Src: /src/ndpi/src/lib/protocols/quic.c:1173,1
    - Dst: is_reasm_buf_complete
      Src: /src/ndpi/src/lib/protocols/quic.c:1176,1
    - Dst: is_ch_complete
      Src: /src/ndpi/src/lib/protocols/quic.c:1177,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1178,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1181,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - ndpi_struct
    - flow
    - frag
    - frag_offset
    - frag_len
    - crypto_data_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t*
    - uint64_t
    - uint64_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1186
    functionName: get_reassembled_crypto_data
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - __reassemble
    - is_ch_complete
    - NDPI_LOG_DBG2
    - is_reasm_buf_complete
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *get_reassembled_crypto_data(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t\t  struct ndpi_flow_struct *flow,\n\t\t\t\t\t\t  const
      u_int8_t *frag,\n\t\t\t\t\t\t  uint64_t frag_offset, uint64_t frag_len,\n\t\t\t\t\t\t
      \ uint64_t *crypto_data_len)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1205,1
    - Dst: is_gquic_ver_less_than
      Src: /src/ndpi/src/lib/protocols/quic.c:1206,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1218,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1228,1
    - Dst: gquic_get_u16
      Src: /src/ndpi/src/lib/protocols/quic.c:1232,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1235,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1252,1
    - Dst: quic_len
      Src: /src/ndpi/src/lib/protocols/quic.c:1258,1
    - Dst: quic_len
      Src: /src/ndpi/src/lib/protocols/quic.c:1259,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1261,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1272,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1278,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1282,1
    - Dst: quic_len_buffer_still_required
      Src: /src/ndpi/src/lib/protocols/quic.c:1285,1
    - Dst: quic_len
      Src: /src/ndpi/src/lib/protocols/quic.c:1287,1
    - Dst: quic_len_buffer_still_required
      Src: /src/ndpi/src/lib/protocols/quic.c:1289,1
    - Dst: quic_len
      Src: /src/ndpi/src/lib/protocols/quic.c:1291,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1293,1
    - Dst: get_reassembled_crypto_data
      Src: /src/ndpi/src/lib/protocols/quic.c:1297,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1304,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1309,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1312,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1317,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 105
    argCount: 5
    argNames:
    - ndpi_struct
    - flow
    - clear_payload
    - clear_payload_len
    - crypto_data_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t*
    - uint32_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1188
    functionDepth: 3
    functionLinenumber: 1188
    functionLinenumberEnd: 1322
    functionName: get_crypto_data
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_gquic_ver_less_than
    - quic_len
    - NDPI_LOG_DBG
    - get_reassembled_crypto_data
    - gquic_get_u16
    - quic_len_buffer_still_required
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *get_crypto_data(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      struct ndpi_flow_struct *flow,\n\t\t\t       u_int8_t *clear_payload,
      uint32_t clear_payload_len,\n\t\t\t       uint64_t *crypto_data_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_gquic_ver_less_than
      Src: /src/ndpi/src/lib/protocols/quic.c:1333,1
    - Dst: is_gquic_ver_less_than
      Src: /src/ndpi/src/lib/protocols/quic.c:1337,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1343,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1354,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:1366,1
    - Dst: decrypt_initial_packet
      Src: /src/ndpi/src/lib/protocols/quic.c:1371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - version
    - clear_payload_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - uint32_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1324
    functionDepth: 10
    functionLinenumber: 1324
    functionLinenumberEnd: 1380
    functionName: get_clear_payload
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - decrypt_initial_packet
    - is_gquic_ver_less_than
    - memcpy
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *get_clear_payload(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \ struct ndpi_flow_struct *flow,\n\t\t\t\t  uint32_t version, uint32_t *clear_payload_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: processClientServerHello
      Src: /src/ndpi/src/lib/protocols/quic.c:1396,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/quic.c:1411,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1412,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/quic.c:1413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - crypto_data
    - crypto_data_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1382
    functionDepth: 5
    functionLinenumber: 1382
    functionLinenumberEnd: 1415
    functionName: process_tls
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_DBG
    - processClientServerHello
    - strncmp
    linkageType: ''
    returnType: void
    signature: "void process_tls(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t
      struct ndpi_flow_struct *flow,\n\t\t const u_int8_t *crypto_data, uint32_t crypto_data_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/quic.c:1430,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1431,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/quic.c:1434,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/quic.c:1442,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/quic.c:1450,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/quic.c:1453,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/quic.c:1455,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1457,1
    - Dst: ndpi_match_host_subprotocol
      Src: /src/ndpi/src/lib/protocols/quic.c:1460,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/quic.c:1462,1
    - Dst: ndpi_check_dga_name
      Src: /src/ndpi/src/lib/protocols/quic.c:1466,1
    - Dst: ndpi_is_valid_hostname
      Src: /src/ndpi/src/lib/protocols/quic.c:1469,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/quic.c:1471,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/quic.c:1474,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/quic.c:1475,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/quic.c:1477,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/quic.c:1481,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/quic.c:1489,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/quic.c:1492,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1493,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1503,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/quic.c:1508,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - crypto_data
    - crypto_data_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1416
    functionDepth: 7
    functionLinenumber: 1416
    functionLinenumberEnd: 1510
    functionName: process_chlo
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - ndpi_is_valid_hostname
    - ndpi_set_risk
    - strlen
    - is_flowrisk_info_enabled
    - NDPI_LOG_DBG
    - snprintf
    - le32toh
    - ndpi_hostname_sni_set
    - ndpi_check_dga_name
    - ndpi_match_host_subprotocol
    - le16toh
    - memcmp
    - printf
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: "void process_chlo(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t
      \ struct ndpi_flow_struct *flow,\n\t\t  const u_int8_t *crypto_data, uint32_t
      crypto_data_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/quic.c:1518,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/protocols/quic.c:1526,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/quic.c:1527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1530
    functionName: may_be_gquic_rej
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - memchr
    - ntohs
    - memcmp
    linkageType: ''
    returnType: int
    signature: int may_be_gquic_rej(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/quic.c:1540,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/quic.c:1541,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/quic.c:1563,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/quic.c:1573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1578
    functionName: may_be_sh
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - ntohs
    - memcmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int may_be_sh(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t
      \    struct ndpi_flow_struct *flow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1590,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/quic.c:1600,1
    - Dst: is_version_quic
      Src: /src/ndpi/src/lib/protocols/quic.c:1604,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1606,1
    - Dst: is_version_quic_v2
      Src: /src/ndpi/src/lib/protocols/quic.c:1609,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1611,1
    - Dst: is_version_quic_v2
      Src: /src/ndpi/src/lib/protocols/quic.c:1614,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1616,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1623,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1628,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1633,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - ndpi_struct
    - version
    argTypes:
    - struct ndpi_detection_module_struct*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1580
    functionDepth: 2
    functionLinenumber: 1580
    functionLinenumberEnd: 1639
    functionName: may_be_0rtt
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_version_quic_v2
    - ntohl
    - NDPI_LOG_DBG2
    - is_version_quic
    linkageType: ''
    returnType: int
    signature: "int may_be_0rtt(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t
      \      uint32_t *version)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/quic.c:1667,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1670,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/quic.c:1672,1
    - Dst: is_version_valid
      Src: /src/ndpi/src/lib/protocols/quic.c:1675,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1676,1
    - Dst: is_gquic_ver_less_than
      Src: /src/ndpi/src/lib/protocols/quic.c:1680,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1682,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1687,1
    - Dst: is_version_quic
      Src: /src/ndpi/src/lib/protocols/quic.c:1690,1
    - Dst: is_version_quic_v2
      Src: /src/ndpi/src/lib/protocols/quic.c:1690,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1693,1
    - Dst: is_version_quic_v2
      Src: /src/ndpi/src/lib/protocols/quic.c:1696,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1698,1
    - Dst: is_version_forcing_vn
      Src: /src/ndpi/src/lib/protocols/quic.c:1711,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1713,1
    - Dst: is_version_with_ietf_long_header
      Src: /src/ndpi/src/lib/protocols/quic.c:1718,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1723,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 56
    argCount: 2
    argNames:
    - ndpi_struct
    - version
    argTypes:
    - struct ndpi_detection_module_struct*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1641
    functionDepth: 3
    functionLinenumber: 1641
    functionLinenumberEnd: 1732
    functionName: may_be_initial_pkt
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - is_version_valid
    - is_gquic_ver_less_than
    - is_version_with_ietf_long_header
    - is_version_forcing_vn
    - ntohl
    - NDPI_LOG_DBG
    - is_version_quic
    - is_version_quic_v2
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: int
    signature: "int may_be_initial_pkt(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \     uint32_t *version)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1751,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/quic.c:1757,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/quic.c:1759,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1760,1
    - Dst: is_ch_reassembler_pending
      Src: /src/ndpi/src/lib/protocols/quic.c:1765,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1766,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1736
    functionDepth: 2
    functionLinenumber: 1736
    functionLinenumberEnd: 1771
    functionName: eval_extra_processing
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - strcmp
    - NDPI_LOG_DBG2
    - is_ch_reassembler_pending
    - strlen
    linkageType: ''
    returnType: int
    signature: "int eval_extra_processing(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1788,1
    - Dst: is_ch_reassembler_pending
      Src: /src/ndpi/src/lib/protocols/quic.c:1793,1
    - Dst: ndpi_search_quic
      Src: /src/ndpi/src/lib/protocols/quic.c:1794,1
    - Dst: is_ch_reassembler_pending
      Src: /src/ndpi/src/lib/protocols/quic.c:1795,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1805,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1809,1
    - Dst: is_valid_rtp_payload_type
      Src: /src/ndpi/src/lib/protocols/quic.c:1819,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1822,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/quic.c:1823,1
    - Dst: get_proto_category
      Src: /src/ndpi/src/lib/protocols/quic.c:1827,1
    - Dst: get_proto_breed
      Src: /src/ndpi/src/lib/protocols/quic.c:1828,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/quic.c:1831,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1775
    functionDepth: 5
    functionLinenumber: 1775
    functionLinenumberEnd: 1835
    functionName: ndpi_search_quic_extra
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - is_valid_rtp_payload_type
    - ndpi_search_quic
    - NDPI_LOG_DBG
    - is_ch_reassembler_pending
    - get_proto_breed
    - NDPI_LOG_DBG2
    - get_proto_category
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_quic_extra(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \ struct ndpi_flow_struct *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1855,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/quic.c:1859,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1861,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1868,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1880
    functionName: is_vn
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: int
    signature: int is_vn(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1892,1
    - Dst: is_vn
      Src: /src/ndpi/src/lib/protocols/quic.c:1898,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1899,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1903,1
    - Dst: ndpi_search_quic
      Src: /src/ndpi/src/lib/protocols/quic.c:1909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1882
    functionDepth: 2
    functionLinenumber: 1882
    functionLinenumberEnd: 1912
    functionName: ndpi_search_quic_extra_vn
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 0
    functionsReached:
    - ndpi_search_quic
    - NDPI_LOG_DBG
    - is_vn
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_quic_extra_vn(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t     struct ndpi_flow_struct *flow)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1924,1
    - Dst: may_be_initial_pkt
      Src: /src/ndpi/src/lib/protocols/quic.c:1949,1
    - Dst: is_ch_reassembler_pending
      Src: /src/ndpi/src/lib/protocols/quic.c:1951,1
    - Dst: may_be_0rtt
      Src: /src/ndpi/src/lib/protocols/quic.c:1952,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:1954,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/quic.c:1958,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/quic.c:1959,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/quic.c:1965,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/quic.c:1966,1
    - Dst: may_be_sh
      Src: /src/ndpi/src/lib/protocols/quic.c:1970,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/quic.c:1972,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/quic.c:1973,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/quic.c:1978,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/quic.c:1980,1
    - Dst: may_be_gquic_rej
      Src: /src/ndpi/src/lib/protocols/quic.c:1983,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/quic.c:1985,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/quic.c:1986,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/quic.c:1991,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/quic.c:1999,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/quic.c:2000,1
    - Dst: is_version_supported
      Src: /src/ndpi/src/lib/protocols/quic.c:2007,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:2008,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/quic.c:2009,1
    - Dst: is_version_forcing_vn
      Src: /src/ndpi/src/lib/protocols/quic.c:2020,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/quic.c:2021,1
    - Dst: get_clear_payload
      Src: /src/ndpi/src/lib/protocols/quic.c:2030,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/quic.c:2032,1
    - Dst: get_crypto_data
      Src: /src/ndpi/src/lib/protocols/quic.c:2039,1
    - Dst: is_version_with_tls
      Src: /src/ndpi/src/lib/protocols/quic.c:2047,1
    - Dst: process_chlo
      Src: /src/ndpi/src/lib/protocols/quic.c:2048,1
    - Dst: process_tls
      Src: /src/ndpi/src/lib/protocols/quic.c:2050,1
    - Dst: is_version_with_encrypted_header
      Src: /src/ndpi/src/lib/protocols/quic.c:2053,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/quic.c:2054,1
    - Dst: eval_extra_processing
      Src: /src/ndpi/src/lib/protocols/quic.c:2060,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/quic.c:2064,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 83
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 1914
    functionDepth: 11
    functionLinenumber: 1914
    functionLinenumberEnd: 2066
    functionName: ndpi_search_quic
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 2
    functionsReached:
    - is_version_with_encrypted_header
    - may_be_sh
    - NDPI_LOG_DBG
    - is_ch_reassembler_pending
    - may_be_0rtt
    - is_version_supported
    - NDPI_LOG_DBG2
    - process_chlo
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_free
    - may_be_gquic_rej
    - ndpi_set_detected_protocol
    - process_tls
    - get_crypto_data
    - get_clear_payload
    - NDPI_LOG_INFO
    - is_version_forcing_vn
    - may_be_initial_pkt
    - is_version_with_tls
    - eval_extra_processing
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_quic(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/quic.c:2072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2070
    functionDepth: 3
    functionLinenumber: 2070
    functionLinenumberEnd: 2076
    functionName: init_quic_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/quic.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_quic_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/whoisdas.c:33,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/whoisdas.c:35,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/whoisdas.c:35,1
    - Dst: ndpi_is_valid_hostname
      Src: /src/ndpi/src/lib/protocols/whoisdas.c:45,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/whoisdas.c:47,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/whoisdas.c:50,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/whoisdas.c:51,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/whoisdas.c:57,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 58
    functionName: ndpi_search_whois_das
    functionSourceFile: /src/ndpi/src/lib/protocols/whoisdas.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_hostname_sni_set
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_is_valid_hostname
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_whois_das(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/whoisdas.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: init_whois_das_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/whoisdas.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_whois_das_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/citrix.c:42,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/citrix.c:43,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/citrix.c:44,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/citrix.c:50,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/citrix.c:51,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/citrix.c:52,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/citrix.c:53,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/citrix.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 59
    functionName: ndpi_check_citrix
    functionSourceFile: /src/ndpi/src/lib/protocols/citrix.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_strnstr
    linkageType: ''
    returnType: void
    signature: void ndpi_check_citrix(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/citrix.c:63,1
    - Dst: ndpi_check_citrix
      Src: /src/ndpi/src/lib/protocols/citrix.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 6
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: ndpi_search_citrix
    functionSourceFile: /src/ndpi/src/lib/protocols/citrix.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_check_citrix
    linkageType: ''
    returnType: void
    signature: void ndpi_search_citrix(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/citrix.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: init_citrix_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/citrix.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_citrix_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/bitcoin.c:37,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/bitcoin.c:40,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/bitcoin.c:41,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/bitcoin.c:42,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/bitcoin.c:49,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bitcoin.c:50,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/bitcoin.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: ndpi_search_bitcoin
    functionSourceFile: /src/ndpi/src/lib/protocols/bitcoin.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_bitcoin(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/bitcoin.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: init_bitcoin_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/bitcoin.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_bitcoin_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/hsrp.c:40,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/hsrp.c:43,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/hsrp.c:47,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/hsrp.c:48,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/hsrp.c:49,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/hsrp.c:50,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/hsrp.c:51,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/hsrp.c:52,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/hsrp.c:56,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/hsrp.c:61,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/hsrp.c:69,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/hsrp.c:73,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/hsrp.c:74,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/hsrp.c:80,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 81
    functionName: ndpi_search_hsrp
    functionSourceFile: /src/ndpi/src/lib/protocols/hsrp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_hsrp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/hsrp.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: init_hsrp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/hsrp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_hsrp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/avast.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: ndpi_int_avast_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/avast.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_avast_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                          struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/avast.c:42,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/avast.c:46,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/avast.c:46,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/avast.c:47,1
    - Dst: ndpi_int_avast_add_connection
      Src: /src/ndpi/src/lib/protocols/avast.c:49,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/avast.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: ndpi_search_avast
    functionSourceFile: /src/ndpi/src/lib/protocols/avast.c
    functionUses: 0
    functionsReached:
    - ndpi_int_avast_add_connection
    - NDPI_STATICSTRING_LEN
    - strncmp
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_avast(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                             struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/avast.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: init_avast_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/avast.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_avast_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/c1222.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/c1222.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: ndpi_int_c1222_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/c1222.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_c1222_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                          struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/c1222.c:48,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/c1222.c:53,1
    - Dst: ndpi_int_c1222_add_connection
      Src: /src/ndpi/src/lib/protocols/c1222.c:58,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/c1222.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: ndpi_search_c1222
    functionSourceFile: /src/ndpi/src/lib/protocols/c1222.c
    functionUses: 0
    functionsReached:
    - ndpi_int_c1222_add_connection
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_c1222(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                             struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/c1222.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: init_c1222_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/c1222.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_c1222_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/iax.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 5
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: ndpi_int_iax_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/iax.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void ndpi_int_iax_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/iax.c:48,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/iax.c:48,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/iax.c:65,1
    - Dst: ndpi_int_iax_add_connection
      Src: /src/ndpi/src/lib/protocols/iax.c:66,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/iax.c:77,1
    - Dst: ndpi_int_iax_add_connection
      Src: /src/ndpi/src/lib/protocols/iax.c:78,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/iax.c:85,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 87
    functionName: ndpi_search_setup_iax
    functionSourceFile: /src/ndpi/src/lib/protocols/iax.c
    functionUses: 0
    functionsReached:
    - ndpi_int_iax_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - htons
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: void ndpi_search_setup_iax(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_setup_iax
      Src: /src/ndpi/src/lib/protocols/iax.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 7
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: ndpi_search_iax
    functionSourceFile: /src/ndpi/src/lib/protocols/iax.c
    functionUses: 0
    functionsReached:
    - ndpi_search_setup_iax
    linkageType: ''
    returnType: void
    signature: void ndpi_search_iax(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/iax.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: init_iax_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/iax.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_iax_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/zabbix.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: ndpi_int_zabbix_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/zabbix.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_zabbix_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t   struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/zabbix.c:42,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zabbix.c:45,1
    - Dst: ndpi_int_zabbix_add_connection
      Src: /src/ndpi/src/lib/protocols/zabbix.c:46,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/zabbix.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: ndpi_search_zabbix
    functionSourceFile: /src/ndpi/src/lib/protocols/zabbix.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_int_zabbix_add_connection
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_zabbix(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/zabbix.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: init_zabbix_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/zabbix.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_zabbix_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ndpi_int_gaijin_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/gaijin_entertainment.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_gaijin_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, \n                                           struct ndpi_flow_struct
      *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:45,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:49,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:49,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:50,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:50,1
    - Dst: ndpi_int_gaijin_add_connection
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:52,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:57,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:57,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:58,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:58,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:59,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:59,1
    - Dst: ndpi_int_gaijin_add_connection
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:61,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: ndpi_search_gaijin
    functionSourceFile: /src/ndpi/src/lib/protocols/gaijin_entertainment.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_STATICSTRING_LEN
    - ndpi_int_gaijin_add_connection
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_gaijin(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/gaijin_entertainment.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: init_gaijin_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/gaijin_entertainment.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_gaijin_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/natpmp.c:46,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/natpmp.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: ndpi_int_natpmp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/natpmp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_natpmp_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                           struct ndpi_flow_struct
      * const flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: natpmp_disable_extra_dissection
    functionSourceFile: /src/ndpi/src/lib/protocols/natpmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void natpmp_disable_extra_dissection(struct ndpi_flow_struct * const
      flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: natpmp_is_common_header
    functionSourceFile: /src/ndpi/src/lib/protocols/natpmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int natpmp_is_common_header(struct ndpi_packet_struct const * const
      packet)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: natpmp_is_common_header
      Src: /src/ndpi/src/lib/protocols/natpmp.c:71,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/natpmp.c:87,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/natpmp.c:102,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/natpmp.c:102,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - packet
    - natpmp_type
    argTypes:
    - struct ndpi_packet_struct*
    - enum natpmp_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 115
    functionName: natpmp_is_valid
    functionSourceFile: /src/ndpi/src/lib/protocols/natpmp.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ntohs
    - natpmp_is_common_header
    linkageType: ''
    returnType: int
    signature: int natpmp_is_valid(struct ndpi_packet_struct const * const packet,
      enum natpmp_type * const natpmp_type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: natpmp_is_valid
      Src: /src/ndpi/src/lib/protocols/natpmp.c:123,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/natpmp.c:125,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/natpmp.c:135,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/natpmp.c:135,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/natpmp.c:136,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/natpmp.c:136,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/natpmp.c:139,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/natpmp.c:143,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/natpmp.c:143,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/natpmp.c:144,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/natpmp.c:147,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/natpmp.c:153,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/natpmp.c:153,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/natpmp.c:154,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/natpmp.c:154,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/natpmp.c:157,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 164
    functionName: ndpi_search_natpmp_extra
    functionSourceFile: /src/ndpi/src/lib/protocols/natpmp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - natpmp_is_valid
    - get_u_int16_t
    - get_u_int32_t
    - ntohs
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_natpmp_extra(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/natpmp.c:172,1
    - Dst: natpmp_is_valid
      Src: /src/ndpi/src/lib/protocols/natpmp.c:174,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/natpmp.c:176,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/natpmp.c:181,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/natpmp.c:181,1
    - Dst: ndpi_int_natpmp_add_connection
      Src: /src/ndpi/src/lib/protocols/natpmp.c:183,1
    - Dst: ndpi_search_natpmp_extra
      Src: /src/ndpi/src/lib/protocols/natpmp.c:184,1
    - Dst: natpmp_disable_extra_dissection
      Src: /src/ndpi/src/lib/protocols/natpmp.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 6
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: ndpi_search_natpmp
    functionSourceFile: /src/ndpi/src/lib/protocols/natpmp.c
    functionUses: 0
    functionsReached:
    - natpmp_is_valid
    - NDPI_LOG_DBG
    - natpmp_disable_extra_dissection
    - ndpi_search_natpmp_extra
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    - ndpi_int_natpmp_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_natpmp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/natpmp.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: init_natpmp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/natpmp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_natpmp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ndpi_int_lolwildrift_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/lol_wild_rift.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_lolwildrift_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, \n                                                struct ndpi_flow_struct
      *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:47,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:50,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:50,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:51,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:51,1
    - Dst: ndpi_int_lolwildrift_add_connection
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:53,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:58,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:58,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:66,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:66,1
    - Dst: ndpi_int_lolwildrift_add_connection
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:68,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: ndpi_search_lolwildrift
    functionSourceFile: /src/ndpi/src/lib/protocols/lol_wild_rift.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_lolwildrift_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_lolwildrift(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/lol_wild_rift.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: init_lolwildrift_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/lol_wild_rift.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_lolwildrift_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/amazon_video.c:35,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/amazon_video.c:43,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/amazon_video.c:44,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/amazon_video.c:51,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/amazon_video.c:52,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/amazon_video.c:57,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: ndpi_check_amazon_video
    functionSourceFile: /src/ndpi/src/lib/protocols/amazon_video.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_DBG
    - NDPI_LOG_INFO
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_amazon_video(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/amazon_video.c:62,1
    - Dst: ndpi_check_amazon_video
      Src: /src/ndpi/src/lib/protocols/amazon_video.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: ndpi_search_amazon_video
    functionSourceFile: /src/ndpi/src/lib/protocols/amazon_video.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_check_amazon_video
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_amazon_video(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/amazon_video.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: init_amazon_video_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/amazon_video.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_amazon_video_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ciscovpn.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: ndpi_int_ciscovpn_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ciscovpn.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void ndpi_int_ciscovpn_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ciscovpn.c:44,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ciscovpn.c:46,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ciscovpn.c:46,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ciscovpn.c:56,1
    - Dst: ndpi_int_ciscovpn_add_connection
      Src: /src/ndpi/src/lib/protocols/ciscovpn.c:57,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ciscovpn.c:62,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ciscovpn.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 65
    functionName: ndpi_search_ciscovpn
    functionSourceFile: /src/ndpi/src/lib/protocols/ciscovpn.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_int_ciscovpn_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_ciscovpn(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ciscovpn.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: init_ciscovpn_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ciscovpn.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ciscovpn_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/ndpi/src/lib/protocols/ssh.c:92,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:107,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/ssh.c:115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - str_to_check
    - is_client_signature
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 118
    functionName: ssh_analyze_signature_version
    functionSourceFile: /src/ndpi/src/lib/protocols/ssh.c
    functionUses: 0
    functionsReached:
    - printf
    - sscanf
    - ndpi_set_risk
    linkageType: ''
    returnType: void
    signature: "void ssh_analyze_signature_version(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                          struct ndpi_flow_struct
      *flow,\n\t\t\t\t\t  char *str_to_check,\n\t\t\t\t\t  u_int8_t is_client_signature)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/ssh.c:145,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:147,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/ssh.c:152,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/protocols/ssh.c:155,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/ssh.c:161,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:164,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/protocols/ssh.c:172,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/ssh.c:178,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/ssh.c:179,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/ssh.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - ndpi_struct
    - flow
    - ciphers
    - cipher_len
    - is_client_signature
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    - u_int
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 185
    functionName: ssh_analyse_cipher
    functionSourceFile: /src/ndpi/src/lib/protocols/ssh.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ndpi_set_risk
    - snprintf
    - ndpi_malloc
    - strncpy
    - ndpi_free
    - printf
    - strtok_r
    linkageType: ''
    returnType: void
    signature: "void ssh_analyse_cipher(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow,\n\t\t\t       char
      *ciphers, u_int cipher_len,\n\t\t\t       u_int8_t is_client_signature)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_ssh_tcp
      Src: /src/ndpi/src/lib/protocols/ssh.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: search_ssh_again
    functionSourceFile: /src/ndpi/src/lib/protocols/ssh.c
    functionUses: 0
    functionsReached:
    - ndpi_search_ssh_tcp
    linkageType: ''
    returnType: int
    signature: int search_ssh_again(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ssh.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: ndpi_int_ssh_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ssh.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ssh_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t*ndpi_struct,
      struct ndpi_flow_struct *flow)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ssh.c:228,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/ssh.c:236,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ssh.c:244,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ssh.c:254,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/ssh.c:261,1
    - Dst: ssh_analyse_cipher
      Src: /src/ndpi/src/lib/protocols/ssh.c:262,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ssh.c:275,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/ssh.c:282,1
    - Dst: ssh_analyse_cipher
      Src: /src/ndpi/src/lib/protocols/ssh.c:283,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ssh.c:295,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/ssh.c:302,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ssh.c:314,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/ssh.c:321,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ssh.c:334,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/ssh.c:341,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ssh.c:352,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/ssh.c:359,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:371,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 126
    argCount: 5
    argNames:
    - ndpi_struct
    - flow
    - packet
    - buf
    - client_hash
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - struct ndpi_packet_struct*
    - char*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 218
    functionDepth: 4
    functionLinenumber: 218
    functionLinenumberEnd: 382
    functionName: concat_hash_string
    functionSourceFile: /src/ndpi/src/lib/protocols/ssh.c
    functionUses: 0
    functionsReached:
    - printf
    - ntohl
    - ssh_analyse_cipher
    - strncpy
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t concat_hash_string(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow,\n\t\t\t\t
      \   struct ndpi_packet_struct *packet,\n\t\t\t\t    char *buf, u_int8_t client_hash)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: ndpi_ssh_zap_cr
    functionSourceFile: /src/ndpi/src/lib/protocols/ssh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_ssh_zap_cr(char *str, int len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:403,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/ssh.c:407,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/ssh.c:408,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/ssh.c:409,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/ssh.c:411,1
    - Dst: ndpi_ssh_zap_cr
      Src: /src/ndpi/src/lib/protocols/ssh.c:413,1
    - Dst: ssh_analyze_signature_version
      Src: /src/ndpi/src/lib/protocols/ssh.c:415,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:418,1
    - Dst: ndpi_int_ssh_add_connection
      Src: /src/ndpi/src/lib/protocols/ssh.c:421,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/ssh.c:423,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/ssh.c:425,1
    - Dst: ndpi_ssh_zap_cr
      Src: /src/ndpi/src/lib/protocols/ssh.c:427,1
    - Dst: ssh_analyze_signature_version
      Src: /src/ndpi/src/lib/protocols/ssh.c:429,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:432,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/ssh.c:435,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:439,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/protocols/ssh.c:451,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:455,1
    - Dst: concat_hash_string
      Src: /src/ndpi/src/lib/protocols/ssh.c:462,1
    - Dst: ndpi_MD5Init
      Src: /src/ndpi/src/lib/protocols/ssh.c:464,1
    - Dst: ndpi_MD5Update
      Src: /src/ndpi/src/lib/protocols/ssh.c:465,1
    - Dst: ndpi_MD5Final
      Src: /src/ndpi/src/lib/protocols/ssh.c:466,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:470,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:471,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:472,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/ssh.c:476,1
    - Dst: concat_hash_string
      Src: /src/ndpi/src/lib/protocols/ssh.c:484,1
    - Dst: ndpi_MD5Init
      Src: /src/ndpi/src/lib/protocols/ssh.c:486,1
    - Dst: ndpi_MD5Update
      Src: /src/ndpi/src/lib/protocols/ssh.c:487,1
    - Dst: ndpi_MD5Final
      Src: /src/ndpi/src/lib/protocols/ssh.c:488,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:492,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:493,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:494,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/ssh.c:499,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/ssh.c:505,1
    - Dst: ndpi_int_ssh_add_connection
      Src: /src/ndpi/src/lib/protocols/ssh.c:508,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:513,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ssh.c:522,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ssh.c:525,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ssh.c:526,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 399
    functionDepth: 6
    functionLinenumber: 399
    functionLinenumberEnd: 527
    functionName: ndpi_search_ssh_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/ssh.c
    functionUses: 1
    functionsReached:
    - ndpi_ssh_zap_cr
    - ndpi_int_ssh_add_connection
    - concat_hash_string
    - ndpi_min
    - ndpi_MD5Init
    - current_pkt_from_client_to_server
    - ndpi_MD5Final
    - snprintf
    - NDPI_LOG_DBG
    - ndpi_MD5Update
    - ssh_analyze_signature_version
    - strncpy
    - memcmp
    - ndpi_free
    - printf
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    - ndpi_calloc
    linkageType: ''
    returnType: void
    signature: void ndpi_search_ssh_tcp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ssh.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: init_ssh_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ssh.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ssh_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: ndpi_int_tivoconnect_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/tivoconnect.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_tivoconnect_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                                struct
      ndpi_flow_struct * const flow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:48,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:51,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:54,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:58,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:66,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:67,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:69,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:70,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:70,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:72,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:73,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:74,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:75,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:80,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:81,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:83,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:85,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:89,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:90,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:92,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:94,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:98,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:99,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:101,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:103,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:111,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 114
    functionName: dissect_tivoconnect_data
    functionSourceFile: /src/ndpi/src/lib/protocols/tivoconnect.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - ndpi_set_risk
    - ndpi_min
    - NDPI_STATICSTRING_LEN
    - strncpy
    - ndpi_strnstr
    linkageType: ''
    returnType: void
    signature: "void dissect_tivoconnect_data(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                     struct ndpi_flow_struct
      *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:121,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:123,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:124,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:125,1
    - Dst: ndpi_int_tivoconnect_add_connection
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:127,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:129,1
    - Dst: dissect_tivoconnect_data
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 116
    functionDepth: 6
    functionLinenumber: 116
    functionLinenumberEnd: 134
    functionName: ndpi_search_tivoconnect
    functionSourceFile: /src/ndpi/src/lib/protocols/tivoconnect.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - dissect_tivoconnect_data
    - NDPI_LOG_INFO
    - ndpi_int_tivoconnect_add_connection
    - NDPI_STATICSTRING_LEN
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_tivoconnect(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/tivoconnect.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: init_tivoconnect_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/tivoconnect.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_tivoconnect_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/http2.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/http2.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: ndpi_int_http2_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/http2.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_http2_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                          struct ndpi_flow_struct
      * const flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/http2.c:43,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/http2.c:45,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/http2.c:46,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/http2.c:50,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/http2.c:50,1
    - Dst: ndpi_int_http2_add_connection
      Src: /src/ndpi/src/lib/protocols/http2.c:51,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/http2.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: ndpi_search_http2
    functionSourceFile: /src/ndpi/src/lib/protocols/http2.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - strncmp
    - ndpi_int_http2_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_http2(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/http2.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: init_http2_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/http2.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_http2_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/fins.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ndpi_int_fins_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/fins.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_fins_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                         struct ndpi_flow_struct
      * const flow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/fins.c:58,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/fins.c:67,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/fins.c:68,1
    - Dst: ndpi_int_fins_add_connection
      Src: /src/ndpi/src/lib/protocols/fins.c:69,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/fins.c:101,1
    - Dst: ndpi_int_fins_add_connection
      Src: /src/ndpi/src/lib/protocols/fins.c:102,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/fins.c:109,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 29
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 53
    functionDepth: 6
    functionLinenumber: 53
    functionLinenumberEnd: 110
    functionName: ndpi_search_fins
    functionSourceFile: /src/ndpi/src/lib/protocols/fins.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_int_fins_add_connection
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_fins(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/fins.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: init_fins_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/fins.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_fins_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/tailscale.c:38,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tailscale.c:41,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tailscale.c:41,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/tailscale.c:42,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tailscale.c:43,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tailscale.c:44,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tailscale.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: ndpi_search_tailscale
    functionSourceFile: /src/ndpi/src/lib/protocols/tailscale.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_tailscale(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \ struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/tailscale.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: init_tailscale_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/tailscale.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_tailscale_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mgcp.c:34,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mgcp.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: ndpi_int_mgcp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/mgcp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_mgcp_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mgcp.c:48,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mgcp.c:63,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mgcp.c:63,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mgcp.c:64,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mgcp.c:64,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mgcp.c:65,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mgcp.c:65,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mgcp.c:66,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mgcp.c:66,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mgcp.c:67,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/mgcp.c:70,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/mgcp.c:77,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/mgcp.c:84,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/mgcp.c:84,1
    - Dst: ndpi_int_mgcp_add_connection
      Src: /src/ndpi/src/lib/protocols/mgcp.c:86,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/mgcp.c:88,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/mgcp.c:91,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/mgcp.c:94,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mgcp.c:100,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 34
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 101
    functionName: ndpi_search_mgcp
    functionSourceFile: /src/ndpi/src/lib/protocols/mgcp.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - NDPI_LOG_DBG
    - strncmp
    - ndpi_hostname_sni_set
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_strnstr
    - ndpi_int_mgcp_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_search_mgcp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mgcp.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: init_mgcp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mgcp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mgcp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: ndpi_int_ftp_control_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_control.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ftp_control_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t\tstruct ndpi_flow_struct *flow)"
  - BBCount: 122
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:50,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:53,1
    - Dst: ndpi_user_pwd_payload_copy
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:56,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:60,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:62,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:66,1
    - Dst: ndpi_user_pwd_payload_copy
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:67,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:73,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:74,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:80,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:84,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:88,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:92,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:96,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:100,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:104,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:108,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:112,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:116,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:120,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:124,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:128,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:132,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:136,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:140,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:144,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:148,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:152,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:156,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:160,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:164,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:168,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:172,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:176,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:180,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:184,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:188,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:192,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:196,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:200,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:204,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:208,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:212,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:216,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:220,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:224,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:228,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:232,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:236,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:240,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:244,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:248,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:252,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:256,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:260,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:264,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:268,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:272,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:276,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:280,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:284,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:288,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:292,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:296,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:300,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:304,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:308,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:312,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:316,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:320,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:324,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:328,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:332,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:336,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:340,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:344,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:348,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:352,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:356,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:360,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:364,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:368,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:372,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:376,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:380,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:384,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:388,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:392,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:396,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:400,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:404,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:408,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:412,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:416,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:420,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:424,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:428,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:432,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:436,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:440,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:444,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:448,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:452,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:456,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:460,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:464,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:468,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:472,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:476,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:480,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:484,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:488,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:492,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:496,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:500,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:504,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:508,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:512,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:516,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:520,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:524,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:528,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:532,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:536,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:540,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:544,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:548,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 371
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - payload
    - payload_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 553
    functionName: ndpi_ftp_control_check_request
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_control.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - snprintf
    - ndpi_user_pwd_payload_copy
    - ndpi_match_strprefix
    - printf
    linkageType: ''
    returnType: int
    signature: "int ndpi_ftp_control_check_request(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                          struct ndpi_flow_struct
      *flow,\n\t\t\t\t\t  const u_int8_t *payload,\n\t\t\t\t\t  size_t payload_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - flow
    - payload
    argTypes:
    - struct ndpi_flow_struct*
    - u_int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 580
    functionName: ndpi_ftp_control_check_response
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_control.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: "int ndpi_ftp_control_check_response(struct ndpi_flow_struct *flow,\n\t\t\t\t\t
      \  const u_int8_t *payload)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:588,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:592,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:598,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:604,1
    - Dst: ndpi_ftp_control_check_request
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:606,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:608,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:618,1
    - Dst: ndpi_ftp_control_check_response
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:629,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:630,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:633,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:645,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:647,1
    - Dst: switch_extra_dissection_to_tls
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:650,1
    - Dst: ndpi_int_ftp_control_add_connection
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:652,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:655,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 584
    functionDepth: 6
    functionLinenumber: 584
    functionLinenumberEnd: 660
    functionName: ndpi_check_ftp_control
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_control.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - switch_extra_dissection_to_tls
    - ndpi_int_ftp_control_add_connection
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_ftp_control_check_response
    - printf
    - NDPI_LOG_DBG2
    - ndpi_ftp_control_check_request
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_ftp_control(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:666,1
    - Dst: ndpi_check_ftp_control
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 7
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: ndpi_search_ftp_control
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_control.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_check_ftp_control
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ftp_control(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ftp_control.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: init_ftp_control_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_control.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ftp_control_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 6
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: is_diameter
    functionSourceFile: /src/ndpi/src/lib/protocols/diameter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_diameter(struct ndpi_packet_struct *packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_diameter
      Src: /src/ndpi/src/lib/protocols/diameter.c:96,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/diameter.c:98,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/diameter.c:99,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/diameter.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 5
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: ndpi_search_diameter
    functionSourceFile: /src/ndpi/src/lib/protocols/diameter.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - is_diameter
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_diameter(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/diameter.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: init_diameter_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/diameter.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_diameter_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/melsec.c:38,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/melsec.c:44,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/melsec.c:44,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/melsec.c:45,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/melsec.c:45,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/melsec.c:47,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/melsec.c:48,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/melsec.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 55
    functionName: ndpi_search_melsec
    functionSourceFile: /src/ndpi/src/lib/protocols/melsec.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - le16toh
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_melsec(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/melsec.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: init_melsec_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/melsec.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_melsec_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mumble.c:37,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/mumble.c:39,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/mumble.c:42,1
    - Dst: ndpi_ntohll
      Src: /src/ndpi/src/lib/protocols/mumble.c:44,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/mumble.c:44,1
    - Dst: ndpi_ntohll
      Src: /src/ndpi/src/lib/protocols/mumble.c:51,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/mumble.c:51,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mumble.c:52,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mumble.c:53,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mumble.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: ndpi_search_mumble
    functionSourceFile: /src/ndpi/src/lib/protocols/mumble.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - current_pkt_from_client_to_server
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_ntohll
    - NDPI_EXCLUDE_DISSECTOR
    - get_u_int64_t
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_mumble(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mumble.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: init_mumble_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mumble.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mumble_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ultrasurf.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ultrasurf.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: ndpi_int_ultrasurf_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ultrasurf.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ultrasurf_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                              struct ndpi_flow_struct
      * const flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ultrasurf.c:44,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ultrasurf.c:48,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/ultrasurf.c:52,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/ultrasurf.c:52,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/ultrasurf.c:53,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/ultrasurf.c:53,1
    - Dst: ndpi_int_ultrasurf_add_connection
      Src: /src/ndpi/src/lib/protocols/ultrasurf.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ultrasurf.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: ndpi_search_ultrasurf
    functionSourceFile: /src/ndpi/src/lib/protocols/ultrasurf.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - get_u_int32_t
    - htonl
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_ultrasurf_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ultrasurf(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ultrasurf.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: init_ultrasurf_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ultrasurf.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ultrasurf_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: ndpi_int_ftp_data_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_data.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void ndpi_int_ftp_data_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:42,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: ndpi_match_ftp_data_port
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_data.c
    functionUses: 0
    functionsReached:
    - htons
    linkageType: ''
    returnType: int
    signature: int ndpi_match_ftp_data_port(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: ndpi_match_ftp_data_directory
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_data.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_match_ftp_data_directory(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:82,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:86,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:98,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:110,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:118,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:126,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:140,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:144,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:150,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:158,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:166,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:182,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:186,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:187,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:190,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:194,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:198,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:211,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:213,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:215,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 78
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 219
    functionName: ndpi_match_file_header
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_data.c
    functionUses: 0
    functionsReached:
    - ndpi_strnstr
    - ndpi_match_strprefix
    linkageType: ''
    returnType: int
    signature: int ndpi_match_file_header(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_seen_flow_beginning
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:228,1
    - Dst: ndpi_match_file_header
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:230,1
    - Dst: ndpi_match_ftp_data_directory
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:231,1
    - Dst: ndpi_match_ftp_data_port
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:232,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:235,1
    - Dst: ndpi_int_ftp_data_add_connection
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:236,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 221
    functionDepth: 6
    functionLinenumber: 221
    functionLinenumberEnd: 242
    functionName: ndpi_check_ftp_data
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_data.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_match_ftp_data_directory
    - ndpi_seen_flow_beginning
    - ndpi_match_file_header
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_ftp_data_add_connection
    - ndpi_match_ftp_data_port
    linkageType: ''
    returnType: void
    signature: void ndpi_check_ftp_data(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:246,1
    - Dst: ndpi_check_ftp_data
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 7
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: ndpi_search_ftp_data
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_data.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_check_ftp_data
    linkageType: ''
    returnType: void
    signature: void ndpi_search_ftp_data(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ftp_data.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: init_ftp_data_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ftp_data.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ftp_data_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: ndpi_utp_hdr
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_utp_hdr
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_bittorrent_hash
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: search_bittorrent_again
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 0
    functionsReached:
    - ndpi_search_bittorrent_hash
    linkageType: ''
    returnType: int
    signature: "int search_bittorrent_again(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \  struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - payload
    - payload_len
    argTypes:
    - u_int8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: get_utpv1_length
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_utpv1_length(const u_int8_t *payload, u_int payload_len)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_utpv1_length
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:100,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 2
    argNames:
    - payload
    - payload_len
    argTypes:
    - u_int8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: is_utpv1_pkt
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 0
    functionsReached:
    - get_utpv1_length
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t is_utpv1_pkt(const u_int8_t *payload, u_int payload_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:130,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - bt_offset
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: ndpi_search_bittorrent_hash
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 1
    functionsReached:
    - ndpi_strnstr
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_bittorrent_hash(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\tstruct ndpi_flow_struct *flow, int bt_offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:154,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:154,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:154,1
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:156,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:159,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - flow
    - client
    - offset
    argTypes:
    - struct ndpi_flow_struct*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: make_bittorrent_host_key
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 1
    functionsReached:
    - ntohs
    - htons
    - ndpi_quick_hash64
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t make_bittorrent_host_key(struct ndpi_flow_struct *flow, int
      client, int offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:174,1
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: make_bittorrent_peers_key
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 1
    functionsReached:
    - ndpi_quick_hash64
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t make_bittorrent_peers_key(struct ndpi_flow_struct *flow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_bittorrent_hash
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:189,1
    - Dst: ndpi_set_detected_protocol_keeping_master
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:191,1
    - Dst: make_bittorrent_peers_key
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:204,1
    - Dst: make_bittorrent_host_key
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:205,1
    - Dst: make_bittorrent_host_key
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:205,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:207,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:207,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:208,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:208,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:211,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:214,1
    - Dst: make_bittorrent_host_key
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:218,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:220,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:220,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:224,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:226,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - ndpi_struct
    - flow
    - bt_offset
    - check_hash
    - confidence
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - int
    - int
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 230
    functionName: ndpi_add_connection_as_bittorrent
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 0
    functionsReached:
    - ndpi_search_bittorrent_hash
    - ndpi_get_current_time
    - ntohs
    - ndpi_set_detected_protocol_keeping_master
    - make_bittorrent_host_key
    - ndpi_lru_add_to_cache
    - printf
    - make_bittorrent_peers_key
    linkageType: ''
    returnType: void
    signature: "void ndpi_add_connection_as_bittorrent(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t      struct ndpi_flow_struct *flow,\n\t\t\t\t\t      int
      bt_offset, int check_hash,\n\t\t\t\t\t      ndpi_confidence_t confidence)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:245,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:246,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:247,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:255,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:256,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:257,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:263,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:264,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:265,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:272,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:272,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:273,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:274,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:279,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:280,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:285,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:288,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:289,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:290,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:291,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:292,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:297,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:299,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:300,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:301,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:309,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:315,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:318,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:321,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:322,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:326,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:329,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:331,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:333,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:334,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:342,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:348,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:350,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:353,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:355,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:357,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:358,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:365,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:371,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:373,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:375,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:377,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:378,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:387,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:394,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:443,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:444,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:468,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:469,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:470,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:471,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:477,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:479,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:482,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:483,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:484,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 134
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 490
    functionName: ndpi_int_search_bittorrent_tcp_zero
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_add_connection_as_bittorrent
    - memcmp
    - ndpi_parse_packet_line_info
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_int_search_bittorrent_tcp_zero(struct ndpi_detection_module_struct\n\t\t\t\t\t\t
      \   *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_int_search_bittorrent_tcp_zero
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 495
    functionDepth: 4
    functionLinenumber: 495
    functionLinenumberEnd: 504
    functionName: ndpi_int_search_bittorrent_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 0
    functionsReached:
    - ndpi_int_search_bittorrent_tcp_zero
    linkageType: ''
    returnType: void
    signature: void ndpi_int_search_bittorrent_tcp(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - what
    argTypes:
    - u_int16_t
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: is_port
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t is_port(u_int16_t a, u_int16_t b, u_int16_t what)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: search_into_bittorrent_cache
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:518,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:519,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 522
    functionName: ndpi_skip_bittorrent
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 0
    functionsReached:
    - search_into_bittorrent_cache
    - ndpi_add_connection_as_bittorrent
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_skip_bittorrent(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:531,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:539,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:539,1
    - Dst: is_port
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:541,1
    - Dst: is_port
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:542,1
    - Dst: is_port
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:542,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:544,1
    - Dst: ndpi_int_search_bittorrent_tcp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:552,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:558,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:559,1
    - Dst: ndpi_skip_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:560,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:571,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:571,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:572,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:572,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:574,1
    - Dst: is_utpv1_pkt
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:582,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:583,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:596,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:600,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:606,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:609,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:622,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:623,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:624,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:625,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:626,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:627,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:628,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:633,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:637,1
    - Dst: ndpi_add_connection_as_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:638,1
    - Dst: ndpi_skip_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:646,1
    - Dst: ndpi_skip_bittorrent
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:651,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 78
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 526
    functionDepth: 5
    functionLinenumber: 526
    functionLinenumberEnd: 652
    functionName: ndpi_search_bittorrent
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 0
    functionsReached:
    - memcpy
    - NDPI_LOG_INFO
    - ndpi_int_search_bittorrent_tcp
    - strlen
    - ntohl
    - is_utpv1_pkt
    - NDPI_LOG_DBG
    - ndpi_add_connection_as_bittorrent
    - strncmp
    - ndpi_skip_bittorrent
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_strnstr
    - ntohs
    - is_port
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_bittorrent(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/bittorrent.c:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: init_bittorrent_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/bittorrent.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_bittorrent_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/teso.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/teso.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: ndpi_int_teso_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/teso.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_teso_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                         struct ndpi_flow_struct
      * const flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/teso.c:47,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/teso.c:50,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/teso.c:50,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/teso.c:52,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/src/lib/protocols/teso.c:65,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/teso.c:66,1
    - Dst: ndpi_int_teso_add_connection
      Src: /src/ndpi/src/lib/protocols/teso.c:68,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/src/lib/protocols/teso.c:71,1
    - Dst: ndpi_int_teso_add_connection
      Src: /src/ndpi/src/lib/protocols/teso.c:74,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/teso.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 79
    functionName: ndpi_search_teso
    functionSourceFile: /src/ndpi/src/lib/protocols/teso.c
    functionUses: 0
    functionsReached:
    - ntohl
    - ndpi_int_teso_add_connection
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_memmem
    - NDPI_STATICSTRING_LEN
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_teso(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/teso.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: init_teso_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/teso.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_teso_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: slp_hdr_v1
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON slp_hdr_v1
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: slp_hdr_v2
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON slp_hdr_v2
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: struct
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON struct
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: struct
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON struct
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: slp_url_entry
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON slp_url_entry
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/slp.c:90,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/slp.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: ndpi_int_slp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_slp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                        struct ndpi_flow_struct
      *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/slp.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - packet_length
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: slp_check_packet_length
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached:
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: int
    signature: "int slp_check_packet_length(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                  struct ndpi_flow_struct *flow,\n                                   unsigned
      int packet_length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/slp.c:116,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/slp.c:123,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/slp.c:129,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/slp.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - fid
    - slp_version
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - enum function_id
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 139
    functionName: slp_check_fid
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached:
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: int
    signature: "int slp_check_fid(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                        struct ndpi_flow_struct *flow,\n                         enum
      function_id fid, uint8_t slp_version)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/slp.c:153,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/slp.c:156,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/slp.c:156,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/slp.c:162,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/slp.c:171,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/slp.c:171,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/slp.c:171,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/slp.c:172,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/slp.c:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - url_entries_offset
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 191
    functionName: slp_dissect_url_entries
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - ntohs
    - NDPI_ARRAY_LENGTH
    - strncpy
    linkageType: ''
    returnType: int
    signature: "int slp_dissect_url_entries(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                  struct ndpi_flow_struct *flow,\n                                   uint16_t
      url_entries_offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/slp.c:199,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/slp.c:202,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/slp.c:206,1
    - Dst: slp_check_packet_length
      Src: /src/ndpi/src/lib/protocols/slp.c:207,1
    - Dst: slp_check_fid
      Src: /src/ndpi/src/lib/protocols/slp.c:210,1
    - Dst: ndpi_int_slp_add_connection
      Src: /src/ndpi/src/lib/protocols/slp.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 193
    functionDepth: 6
    functionLinenumber: 193
    functionLinenumberEnd: 214
    functionName: ndpi_search_slp_v1
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached:
    - slp_check_fid
    - slp_check_packet_length
    - NDPI_LOG_DBG
    - ndpi_int_slp_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_slp_v1(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/slp.c:222,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/slp.c:225,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/slp.c:229,1
    - Dst: slp_check_packet_length
      Src: /src/ndpi/src/lib/protocols/slp.c:230,1
    - Dst: slp_check_fid
      Src: /src/ndpi/src/lib/protocols/slp.c:233,1
    - Dst: ndpi_int_slp_add_connection
      Src: /src/ndpi/src/lib/protocols/slp.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: ndpi_search_slp_v2
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached:
    - slp_check_fid
    - slp_check_packet_length
    - NDPI_LOG_DBG
    - ndpi_int_slp_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_slp_v2(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                             struct ndpi_flow_struct *flow)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/slp.c:279,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/slp.c:281,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/slp.c:283,1
    - Dst: slp_dissect_url_entries
      Src: /src/ndpi/src/lib/protocols/slp.c:287,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/slp.c:288,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/slp.c:291,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/slp.c:293,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/slp.c:295,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 300
    functionName: ndpi_dissect_slp_v2
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - slp_dissect_url_entries
    - strncpy
    - ndpi_min
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_dissect_slp_v2(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/slp.c:307,1
    - Dst: ndpi_search_slp_v1
      Src: /src/ndpi/src/lib/protocols/slp.c:311,1
    - Dst: ndpi_search_slp_v2
      Src: /src/ndpi/src/lib/protocols/slp.c:314,1
    - Dst: ndpi_dissect_slp_v2
      Src: /src/ndpi/src/lib/protocols/slp.c:315,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/slp.c:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 302
    functionDepth: 7
    functionLinenumber: 302
    functionLinenumberEnd: 322
    functionName: ndpi_search_slp
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 0
    functionsReached:
    - ndpi_search_slp_v2
    - ndpi_dissect_slp_v2
    - NDPI_LOG_DBG
    - ndpi_search_slp_v1
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_slp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/slp.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: init_slp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/slp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_slp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/teredo.c:33,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/teredo.c:36,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/teredo.c:37,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/teredo.c:37,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/teredo.c:39,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/teredo.c:40,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/teredo.c:42,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: ndpi_search_teredo
    functionSourceFile: /src/ndpi/src/lib/protocols/teredo.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_teredo(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/teredo.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: init_teredo_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/teredo.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_teredo_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/riotgames.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/riotgames.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: ndpi_int_riotgames_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/riotgames.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_riotgames_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                              struct ndpi_flow_struct
      * const flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/riotgames.c:44,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/riotgames.c:47,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/riotgames.c:47,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/riotgames.c:48,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/riotgames.c:48,1
    - Dst: ndpi_int_riotgames_add_connection
      Src: /src/ndpi/src/lib/protocols/riotgames.c:50,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/riotgames.c:55,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/riotgames.c:55,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/riotgames.c:56,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/riotgames.c:56,1
    - Dst: ndpi_int_riotgames_add_connection
      Src: /src/ndpi/src/lib/protocols/riotgames.c:58,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/riotgames.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: ndpi_search_riotgames
    functionSourceFile: /src/ndpi/src/lib/protocols/riotgames.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_riotgames_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_riotgames(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/riotgames.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: init_riotgames_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/riotgames.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_riotgames_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/openwire.c:36,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/openwire.c:39,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/openwire.c:39,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/openwire.c:42,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/openwire.c:43,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/openwire.c:44,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/openwire.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: ndpi_search_openwire
    functionSourceFile: /src/ndpi/src/lib/protocols/openwire.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_openwire(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/openwire.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: init_openwire_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/openwire.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_openwire_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mysql.c:38,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mysql.c:44,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mysql.c:47,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mysql.c:48,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mysql.c:49,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mysql.c:50,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mysql.c:51,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/mysql.c:52,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mysql.c:54,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mysql.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mysql.c:61,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: ndpi_search_mysql_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/mysql.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_mysql_tcp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mysql.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: init_mysql_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mysql.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mysql_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: ndpi_int_teamspeak_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/teamspeak.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_teamspeak_add_connection(struct ndpi_detection_module_struct\n
      \                                             *ndpi_struct, struct ndpi_flow_struct
      *flow)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:38,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:42,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:42,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:44,1
    - Dst: ndpi_int_teamspeak_add_connection
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:45,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:50,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:51,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:52,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:54,1
    - Dst: ndpi_int_teamspeak_add_connection
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:55,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:84,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:90,1
    - Dst: ndpi_int_teamspeak_add_connection
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:91,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 34
    functionDepth: 6
    functionLinenumber: 34
    functionLinenumberEnd: 94
    functionName: ndpi_search_teamspeak
    functionSourceFile: /src/ndpi/src/lib/protocols/teamspeak.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_int_teamspeak_add_connection
    - strlen
    - NDPI_LOG_DBG
    - get_u_int32_t
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_teamspeak(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/teamspeak.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: init_teamspeak_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/teamspeak.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_teamspeak_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/resp.c:39,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/protocols/resp.c:57,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/resp.c:62,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/resp.c:63,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/resp.c:64,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/resp.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 70
    functionName: ndpi_search_resp
    functionSourceFile: /src/ndpi/src/lib/protocols/resp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_isdigit
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_resp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/resp.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: init_resp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/resp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_resp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/telegram.c:36,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/telegram.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - confidence
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: ndpi_int_telegram_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/telegram.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_telegram_add_connection(struct ndpi_detection_module_struct\n
      \                                            *ndpi_struct, struct ndpi_flow_struct
      *flow,\n\t\t\t\t\t     ndpi_confidence_t confidence)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - port
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: is_telegram_port_range
    functionSourceFile: /src/ndpi/src/lib/protocols/telegram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t is_telegram_port_range(u_int16_t port)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/telegram.c:52,1
    - Dst: ndpi_int_telegram_add_connection
      Src: /src/ndpi/src/lib/protocols/telegram.c:62,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/telegram.c:73,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/telegram.c:73,1
    - Dst: is_telegram_port_range
      Src: /src/ndpi/src/lib/protocols/telegram.c:75,1
    - Dst: is_telegram_port_range
      Src: /src/ndpi/src/lib/protocols/telegram.c:75,1
    - Dst: ndpi_int_telegram_add_connection
      Src: /src/ndpi/src/lib/protocols/telegram.c:95,1
    - Dst: switch_extra_dissection_to_stun
      Src: /src/ndpi/src/lib/protocols/telegram.c:103,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/telegram.c:110,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 48
    functionDepth: 6
    functionLinenumber: 48
    functionLinenumberEnd: 111
    functionName: ndpi_search_telegram
    functionSourceFile: /src/ndpi/src/lib/protocols/telegram.c
    functionUses: 0
    functionsReached:
    - is_telegram_port_range
    - switch_extra_dissection_to_stun
    - NDPI_LOG_DBG
    - ndpi_int_telegram_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_telegram(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/telegram.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: init_telegram_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/telegram.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_telegram_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: do_gettimeofday
    functionSourceFile: /src/ndpi/src/lib/protocols/netflow.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_gettimeofday(a)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/netflow.c:109,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/netflow.c:122,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/netflow.c:145,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/netflow.c:157,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/netflow.c:165,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/netflow.c:170,1
    - Dst: do_gettimeofday
      Src: /src/ndpi/src/lib/protocols/netflow.c:172,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netflow.c:177,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/netflow.c:178,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/netflow.c:182,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 183
    functionName: ndpi_search_netflow
    functionSourceFile: /src/ndpi/src/lib/protocols/netflow.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - ntohl
    - NDPI_LOG_DBG
    - do_gettimeofday
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_netflow(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/netflow.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: init_netflow_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/netflow.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_netflow_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: ajp_header
    functionSourceFile: /src/ndpi/src/lib/protocols/ajp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ajp_header
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ajp.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: set_ajp_detected
    functionSourceFile: /src/ndpi/src/lib/protocols/ajp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void set_ajp_detected(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ajp.c:75,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/ajp.c:79,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ajp.c:81,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ajp.c:82,1
    - Dst: set_ajp_detected
      Src: /src/ndpi/src/lib/protocols/ajp.c:88,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ajp.c:91,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ajp.c:92,1
    - Dst: set_ajp_detected
      Src: /src/ndpi/src/lib/protocols/ajp.c:99,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ajp.c:102,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ajp.c:103,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ajp.c:106,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ajp.c:107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 109
    functionName: ndpi_check_ajp
    functionSourceFile: /src/ndpi/src/lib/protocols/ajp.c
    functionUses: 0
    functionsReached:
    - set_ajp_detected
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_ajp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ajp.c:114,1
    - Dst: ndpi_check_ajp
      Src: /src/ndpi/src/lib/protocols/ajp.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 7
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: ndpi_search_ajp
    functionSourceFile: /src/ndpi/src/lib/protocols/ajp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_check_ajp
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ajp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ajp.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: init_ajp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ajp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ajp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/softether.c:61,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/softether.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 5
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: ndpi_int_softether_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/softether.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_softether_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n\t\t\t\t\t      struct ndpi_flow_struct * const flow)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/softether.c:88,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/softether.c:88,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/softether.c:100,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/softether.c:100,1
    - Dst: ndpi_ntohll
      Src: /src/ndpi/src/lib/protocols/softether.c:115,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/softether.c:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - t
    - v
    - payload
    - payload_len
    argTypes:
    - enum softether_value_type
    - struct softether_value*
    - u_int8_t*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 125
    functionName: dissect_softether_type
    functionSourceFile: /src/ndpi/src/lib/protocols/softether.c
    functionUses: 0
    functionsReached:
    - ntohl
    - ndpi_ntohll
    - get_u_int32_t
    - get_u_int64_t
    linkageType: ''
    returnType: size_t
    signature: "size_t dissect_softether_type(enum softether_value_type t,\n                                     struct
      softether_value *v,\n                                     u_int8_t const *payload,\n
      \                                    u_int16_t payload_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - type
    - result
    argTypes:
    - u_int32_t
    - enum softether_value_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: softether_type_to_enum
    functionSourceFile: /src/ndpi/src/lib/protocols/softether.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int softether_type_to_enum(u_int32_t type, enum softether_value_type
      *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: softether_type_to_enum
      Src: /src/ndpi/src/lib/protocols/softether.c:157,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/softether.c:157,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/softether.c:157,1
    - Dst: softether_type_to_enum
      Src: /src/ndpi/src/lib/protocols/softether.c:158,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/softether.c:158,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/softether.c:158,1
    - Dst: dissect_softether_type
      Src: /src/ndpi/src/lib/protocols/softether.c:164,1
    - Dst: dissect_softether_type
      Src: /src/ndpi/src/lib/protocols/softether.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - payload
    - payload_len
    - first_value
    - second_value
    argTypes:
    - u_int8_t*
    - u_int16_t
    - struct softether_value*
    - struct softether_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: dissect_softether_tuples
    functionSourceFile: /src/ndpi/src/lib/protocols/softether.c
    functionUses: 0
    functionsReached:
    - ntohl
    - dissect_softether_type
    - get_u_int32_t
    - softether_type_to_enum
    linkageType: ''
    returnType: size_t
    signature: "size_t dissect_softether_tuples(u_int8_t const *payload, u_int16_t
      payload_len,\n                                       struct softether_value
      *first_value,\n                                       struct softether_value
      *second_value)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/softether.c:189,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/softether.c:189,1
    - Dst: dissect_softether_type
      Src: /src/ndpi/src/lib/protocols/softether.c:196,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/softether.c:203,1
    - Dst: dissect_softether_tuples
      Src: /src/ndpi/src/lib/protocols/softether.c:207,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/softether.c:213,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/softether.c:221,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/softether.c:229,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/softether.c:242,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/softether.c:246,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 2
    argNames:
    - flow
    - packet
    argTypes:
    - struct ndpi_flow_struct*
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 250
    functionName: dissect_softether_host_fqdn
    functionSourceFile: /src/ndpi/src/lib/protocols/softether.c
    functionUses: 0
    functionsReached:
    - dissect_softether_type
    - dissect_softether_tuples
    - ntohl
    - get_u_int32_t
    - strncmp
    - strncpy
    - ndpi_min
    linkageType: ''
    returnType: int
    signature: "int dissect_softether_host_fqdn(struct ndpi_flow_struct *flow,\n                                       struct
      ndpi_packet_struct const *packet)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/softether.c:259,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/softether.c:260,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/softether.c:263,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/softether.c:263,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/softether.c:266,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/softether.c:266,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/softether.c:268,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/softether.c:272,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/softether.c:274,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/softether.c:276,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/softether.c:277,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/softether.c:282,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/softether.c:285,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/softether.c:287,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/softether.c:288,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/softether.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - flow
    - packet
    argTypes:
    - struct ndpi_flow_struct*
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 294
    functionName: dissect_softether_ip_port
    functionSourceFile: /src/ndpi/src/lib/protocols/softether.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - NDPI_STATICSTRING_LEN
    - strncmp
    - strncpy
    - ndpi_strnstr
    linkageType: ''
    returnType: int
    signature: "int dissect_softether_ip_port(struct ndpi_flow_struct *flow,\n                                     struct
      ndpi_packet_struct const *packet)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/softether.c:302,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/softether.c:307,1
    - Dst: dissect_softether_ip_port
      Src: /src/ndpi/src/lib/protocols/softether.c:313,1
    - Dst: ndpi_int_softether_add_connection
      Src: /src/ndpi/src/lib/protocols/softether.c:314,1
    - Dst: dissect_softether_host_fqdn
      Src: /src/ndpi/src/lib/protocols/softether.c:320,1
    - Dst: ndpi_int_softether_add_connection
      Src: /src/ndpi/src/lib/protocols/softether.c:321,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/softether.c:326,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 327
    functionName: ndpi_search_softether
    functionSourceFile: /src/ndpi/src/lib/protocols/softether.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - dissect_softether_ip_port
    - dissect_softether_host_fqdn
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_softether_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_softether(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dissect_softether_ip_port
      Src: /src/ndpi/src/lib/protocols/softether.c:333,1
    - Dst: dissect_softether_host_fqdn
      Src: /src/ndpi/src/lib/protocols/softether.c:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 346
    functionName: ndpi_search_softether_again
    functionSourceFile: /src/ndpi/src/lib/protocols/softether.c
    functionUses: 0
    functionsReached:
    - dissect_softether_ip_port
    - dissect_softether_host_fqdn
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_softether_again(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t       struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/softether.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: init_softether_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/softether.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_softether_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: zoom_sfu_enc
    functionSourceFile: /src/ndpi/src/lib/protocols/zoom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON zoom_sfu_enc
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: zoom_media_enc
    functionSourceFile: /src/ndpi/src/lib/protocols/zoom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON zoom_media_enc
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/zoom.c:61,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/zoom.c:62,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/zoom.c:65,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/zoom.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: ndpi_int_zoom_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/zoom.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_DBG
    - NDPI_LOG_INFO
    - keep_extra_dissection
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_zoom_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/zoom.c:77,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/zoom.c:77,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/zoom.c:78,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/zoom.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: is_zoom_port
    functionSourceFile: /src/ndpi/src/lib/protocols/zoom.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: int
    signature: int is_zoom_port(struct ndpi_flow_struct *flow)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_rtp_or_rtcp
      Src: /src/ndpi/src/lib/protocols/zoom.c:93,1
    - Dst: is_rtp_or_rtcp
      Src: /src/ndpi/src/lib/protocols/zoom.c:102,1
    - Dst: is_rtp_or_rtcp
      Src: /src/ndpi/src/lib/protocols/zoom.c:110,1
    - Dst: is_rtp_or_rtcp
      Src: /src/ndpi/src/lib/protocols/zoom.c:118,1
    - Dst: is_rtp_or_rtcp
      Src: /src/ndpi/src/lib/protocols/zoom.c:128,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - payload
    - payload_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_char*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 138
    functionName: is_zme
    functionSourceFile: /src/ndpi/src/lib/protocols/zoom.c
    functionUses: 0
    functionsReached:
    - is_rtp_or_rtcp
    linkageType: ''
    returnType: int
    signature: "int is_zme(struct ndpi_detection_module_struct *ndpi_struct,\n                  struct
      ndpi_flow_struct *flow,\n                  const u_char *payload, u_int16_t
      payload_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_zme
      Src: /src/ndpi/src/lib/protocols/zoom.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: is_sfu_5
    functionSourceFile: /src/ndpi/src/lib/protocols/zoom.c
    functionUses: 0
    functionsReached:
    - is_zme
    linkageType: ''
    returnType: int
    signature: "int is_sfu_5(struct ndpi_detection_module_struct *ndpi_struct,\n                    struct
      ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: keep_extra_dissection
    functionSourceFile: /src/ndpi/src/lib/protocols/zoom.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keep_extra_dissection(struct ndpi_flow_struct *flow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/zoom.c:166,1
    - Dst: is_sfu_5
      Src: /src/ndpi/src/lib/protocols/zoom.c:169,1
    - Dst: ndpi_int_zoom_add_connection
      Src: /src/ndpi/src/lib/protocols/zoom.c:170,1
    - Dst: is_zme
      Src: /src/ndpi/src/lib/protocols/zoom.c:173,1
    - Dst: ndpi_int_zoom_add_connection
      Src: /src/ndpi/src/lib/protocols/zoom.c:174,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/zoom.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 160
    functionDepth: 6
    functionLinenumber: 160
    functionLinenumberEnd: 178
    functionName: zoom_search_again
    functionSourceFile: /src/ndpi/src/lib/protocols/zoom.c
    functionUses: 0
    functionsReached:
    - keep_extra_dissection
    - is_zme
    - is_sfu_5
    - ndpi_int_zoom_add_connection
    linkageType: ''
    returnType: int
    signature: "int zoom_search_again(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/zoom.c:189,1
    - Dst: is_zoom_port
      Src: /src/ndpi/src/lib/protocols/zoom.c:191,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zoom.c:194,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zoom.c:195,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zoom.c:196,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zoom.c:197,1
    - Dst: ndpi_int_zoom_add_connection
      Src: /src/ndpi/src/lib/protocols/zoom.c:198,1
    - Dst: ndpi_int_zoom_add_connection
      Src: /src/ndpi/src/lib/protocols/zoom.c:206,1
    - Dst: is_sfu_5
      Src: /src/ndpi/src/lib/protocols/zoom.c:210,1
    - Dst: ndpi_int_zoom_add_connection
      Src: /src/ndpi/src/lib/protocols/zoom.c:211,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zoom.c:215,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/zoom.c:231,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/zoom.c:234,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/zoom.c:237,1
    - Dst: ndpi_int_zoom_add_connection
      Src: /src/ndpi/src/lib/protocols/zoom.c:239,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/zoom.c:245,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 180
    functionDepth: 6
    functionLinenumber: 180
    functionLinenumberEnd: 246
    functionName: ndpi_search_zoom
    functionSourceFile: /src/ndpi/src/lib/protocols/zoom.c
    functionUses: 0
    functionsReached:
    - is_sfu_5
    - ndpi_int_zoom_add_connection
    - ntohl
    - NDPI_LOG_DBG
    - is_zoom_port
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_zoom(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/zoom.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: init_zoom_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/zoom.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_zoom_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/eaq.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: ndpi_int_eaq_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/eaq.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_eaq_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\tstruct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/eaq.c:46,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/eaq.c:46,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/eaq.c:48,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/eaq.c:69,1
    - Dst: ndpi_int_eaq_add_connection
      Src: /src/ndpi/src/lib/protocols/eaq.c:70,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/eaq.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 79
    functionName: ndpi_search_eaq
    functionSourceFile: /src/ndpi/src/lib/protocols/eaq.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_eaq_add_connection
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_eaq(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/eaq.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: init_eaq_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/eaq.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_eaq_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/jabber.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ndpi_struct
    - flow
    - master
    - protocol
    - confidence
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int32_t
    - u_int32_t
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ndpi_int_jabber_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/jabber.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_jabber_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t   struct ndpi_flow_struct *flow,\n\t\t\t\t\t   u_int32_t
      master,\n\t\t\t\t\t   u_int32_t protocol, ndpi_confidence_t confidence)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/jabber.c:58,1
    - Dst: ndpi_int_jabber_add_connection
      Src: /src/ndpi/src/lib/protocols/jabber.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - x
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 6
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: check_content_type_and_change_protocol
    functionSourceFile: /src/ndpi/src/lib/protocols/jabber.c
    functionUses: 3
    functionsReached:
    - ndpi_strnstr
    - ndpi_int_jabber_add_connection
    linkageType: ''
    returnType: void
    signature: "void check_content_type_and_change_protocol(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t\t   struct ndpi_flow_struct *flow, u_int16_t x)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/jabber.c:72,1
    - Dst: ndpi_int_jabber_add_connection
      Src: /src/ndpi/src/lib/protocols/jabber.c:80,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/jabber.c:83,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/jabber.c:90,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/jabber.c:96,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/jabber.c:97,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/jabber.c:97,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/jabber.c:98,1
    - Dst: ndpi_int_jabber_add_connection
      Src: /src/ndpi/src/lib/protocols/jabber.c:101,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/jabber.c:105,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/jabber.c:106,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/jabber.c:106,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/jabber.c:107,1
    - Dst: ndpi_int_jabber_add_connection
      Src: /src/ndpi/src/lib/protocols/jabber.c:110,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/jabber.c:114,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/jabber.c:115,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/jabber.c:115,1
    - Dst: ndpi_int_jabber_add_connection
      Src: /src/ndpi/src/lib/protocols/jabber.c:117,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/jabber.c:121,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/jabber.c:122,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/jabber.c:123,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/jabber.c:123,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/jabber.c:126,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/jabber.c:127,1
    - Dst: ndpi_int_jabber_add_connection
      Src: /src/ndpi/src/lib/protocols/jabber.c:130,1
    - Dst: check_content_type_and_change_protocol
      Src: /src/ndpi/src/lib/protocols/jabber.c:133,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/jabber.c:138,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 65
    functionDepth: 6
    functionLinenumber: 65
    functionLinenumberEnd: 140
    functionName: ndpi_search_jabber_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/jabber.c
    functionUses: 0
    functionsReached:
    - ndpi_int_jabber_add_connection
    - check_content_type_and_change_protocol
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - NDPI_ARRAY_LENGTH
    - NDPI_EXCLUDE_DISSECTOR
    - memcmp
    - ndpi_strnstr
    linkageType: ''
    returnType: void
    signature: void ndpi_search_jabber_tcp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/jabber.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: init_jabber_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/jabber.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_jabber_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ipsec.c:42,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ipsec.c:45,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/ipsec.c:46,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ipsec.c:49,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ipsec.c:52,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ipsec.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - isakmp_type
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - enum isakmp_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: ndpi_int_ipsec_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ipsec.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_set_detected_protocol
    - ndpi_set_risk
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ipsec_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                          struct ndpi_flow_struct
      * const flow,\n                                          enum isakmp_type isakmp_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ipsec.c:64,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ipsec.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: ndpi_int_check_ports
    functionSourceFile: /src/ndpi/src/lib/protocols/ipsec.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: enum isakmp_type
    signature: enum isakmp_type ndpi_int_check_ports(struct ndpi_packet_struct const
      * const packet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_int_check_ports
      Src: /src/ndpi/src/lib/protocols/ipsec.c:86,1
    - Dst: ndpi_int_check_ports
      Src: /src/ndpi/src/lib/protocols/ipsec.c:92,1
    - Dst: ndpi_int_check_ports
      Src: /src/ndpi/src/lib/protocols/ipsec.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - packet
    - isakmp_offset
    - isakmp_type
    argTypes:
    - struct ndpi_packet_struct*
    - u_int16_t
    - enum isakmp_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: ndpi_int_check_isakmp_v1
    functionSourceFile: /src/ndpi/src/lib/protocols/ipsec.c
    functionUses: 0
    functionsReached:
    - ndpi_int_check_ports
    linkageType: ''
    returnType: enum isakmp_type
    signature: "enum isakmp_type ndpi_int_check_isakmp_v1(struct ndpi_packet_struct
      const * const packet,\n                                                 u_int16_t
      isakmp_offset, enum isakmp_type isakmp_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_int_check_ports
      Src: /src/ndpi/src/lib/protocols/ipsec.c:111,1
    - Dst: ndpi_int_check_ports
      Src: /src/ndpi/src/lib/protocols/ipsec.c:118,1
    - Dst: ndpi_int_check_ports
      Src: /src/ndpi/src/lib/protocols/ipsec.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - packet
    - isakmp_offset
    - isakmp_type
    argTypes:
    - struct ndpi_packet_struct*
    - u_int16_t
    - enum isakmp_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: ndpi_int_check_isakmp_v2
    functionSourceFile: /src/ndpi/src/lib/protocols/ipsec.c
    functionUses: 0
    functionsReached:
    - ndpi_int_check_ports
    linkageType: ''
    returnType: enum isakmp_type
    signature: "enum isakmp_type ndpi_int_check_isakmp_v2(struct ndpi_packet_struct
      const * const packet,\n                                                 u_int16_t
      isakmp_offset, enum isakmp_type isakmp_type)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ipsec.c:137,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ipsec.c:141,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/ipsec.c:146,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ipsec.c:151,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ipsec.c:160,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ipsec.c:170,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/ipsec.c:170,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ipsec.c:172,1
    - Dst: ndpi_int_check_isakmp_v1
      Src: /src/ndpi/src/lib/protocols/ipsec.c:178,1
    - Dst: ndpi_int_check_isakmp_v2
      Src: /src/ndpi/src/lib/protocols/ipsec.c:180,1
    - Dst: ndpi_int_ipsec_add_connection
      Src: /src/ndpi/src/lib/protocols/ipsec.c:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 184
    functionName: ndpi_search_ipsec
    functionSourceFile: /src/ndpi/src/lib/protocols/ipsec.c
    functionUses: 0
    functionsReached:
    - ndpi_int_ipsec_add_connection
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_check_isakmp_v1
    - ndpi_int_check_isakmp_v2
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ipsec(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                             struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ipsec.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: init_ipsec_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ipsec.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ipsec_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mqtt.c:59,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mqtt.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: ndpi_int_mqtt_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/mqtt.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_mqtt_add_connection (struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\tstruct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - buf_len
    - num_bytes
    argTypes:
    - unsigned char*
    - int
    - u_int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: get_var_int
    functionSourceFile: /src/ndpi/src/lib/protocols/mqtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_var_int(const unsigned char *buf, int buf_len, u_int8_t
      *num_bytes)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:92,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:95,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:96,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mqtt.c:100,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:107,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:108,1
    - Dst: get_var_int
      Src: /src/ndpi/src/lib/protocols/mqtt.c:112,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:114,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:115,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:118,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:120,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:121,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mqtt.c:126,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:128,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:129,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mqtt.c:134,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:139,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:140,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:144,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:145,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mqtt.c:148,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:153,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:154,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mqtt.c:157,1
    - Dst: ndpi_int_mqtt_add_connection
      Src: /src/ndpi/src/lib/protocols/mqtt.c:158,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:164,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:165,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mqtt.c:168,1
    - Dst: ndpi_int_mqtt_add_connection
      Src: /src/ndpi/src/lib/protocols/mqtt.c:169,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mqtt.c:173,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:176,1
    - Dst: ndpi_int_mqtt_add_connection
      Src: /src/ndpi/src/lib/protocols/mqtt.c:177,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:185,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:186,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:191,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:192,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:196,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:197,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:203,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:204,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mqtt.c:208,1
    - Dst: ndpi_int_mqtt_add_connection
      Src: /src/ndpi/src/lib/protocols/mqtt.c:209,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:214,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:215,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mqtt.c:218,1
    - Dst: ndpi_int_mqtt_add_connection
      Src: /src/ndpi/src/lib/protocols/mqtt.c:219,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:225,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:226,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mqtt.c:229,1
    - Dst: ndpi_int_mqtt_add_connection
      Src: /src/ndpi/src/lib/protocols/mqtt.c:230,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mqtt.c:236,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mqtt.c:237,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mqtt.c:240,1
    - Dst: ndpi_int_mqtt_add_connection
      Src: /src/ndpi/src/lib/protocols/mqtt.c:241,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 135
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 246
    functionName: ndpi_search_mqtt
    functionSourceFile: /src/ndpi/src/lib/protocols/mqtt.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - get_var_int
    - NDPI_LOG_DBG2
    - ndpi_int_mqtt_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_mqtt(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mqtt.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: init_mqtt_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mqtt.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mqtt_dissector (struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - response
    argTypes:
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ndpi_validate_cassandra_response
    functionSourceFile: /src/ndpi/src/lib/protocols/cassandra.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_validate_cassandra_response(u_int8_t response)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - request
    argTypes:
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ndpi_validate_cassandra_request
    functionSourceFile: /src/ndpi/src/lib/protocols/cassandra.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_validate_cassandra_request(u_int8_t request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/cassandra.c:47,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/cassandra.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: ndpi_int_cassandra_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/cassandra.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_cassandra_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                              struct ndpi_flow_struct
      *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/cassandra.c:59,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/cassandra.c:62,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/cassandra.c:62,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/cassandra.c:64,1
    - Dst: ndpi_int_cassandra_add_connection
      Src: /src/ndpi/src/lib/protocols/cassandra.c:65,1
    - Dst: ndpi_validate_cassandra_response
      Src: /src/ndpi/src/lib/protocols/cassandra.c:71,1
    - Dst: ndpi_validate_cassandra_request
      Src: /src/ndpi/src/lib/protocols/cassandra.c:72,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/cassandra.c:74,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/cassandra.c:79,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/cassandra.c:87,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/cassandra.c:89,1
    - Dst: ndpi_int_cassandra_add_connection
      Src: /src/ndpi/src/lib/protocols/cassandra.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 54
    functionDepth: 6
    functionLinenumber: 54
    functionLinenumberEnd: 93
    functionName: ndpi_search_cassandra
    functionSourceFile: /src/ndpi/src/lib/protocols/cassandra.c
    functionUses: 0
    functionsReached:
    - ndpi_validate_cassandra_response
    - NDPI_LOG_INFO
    - ntohl
    - ndpi_int_cassandra_add_connection
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_validate_cassandra_request
    - NDPI_EXCLUDE_DISSECTOR
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_cassandra(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/cassandra.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: init_cassandra_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/cassandra.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_cassandra_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/armagetron.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ndpi_int_armagetron_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/armagetron.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_armagetron_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t       struct ndpi_flow_struct *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/armagetron.c:43,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/armagetron.c:47,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/armagetron.c:47,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/armagetron.c:48,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/armagetron.c:48,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/armagetron.c:50,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/armagetron.c:51,1
    - Dst: ndpi_int_armagetron_add_connection
      Src: /src/ndpi/src/lib/protocols/armagetron.c:52,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/armagetron.c:57,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/armagetron.c:57,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/armagetron.c:58,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/armagetron.c:58,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/armagetron.c:59,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/armagetron.c:59,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/armagetron.c:61,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/armagetron.c:62,1
    - Dst: ndpi_int_armagetron_add_connection
      Src: /src/ndpi/src/lib/protocols/armagetron.c:63,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/armagetron.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 70
    functionName: ndpi_search_armagetron_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/armagetron.c
    functionUses: 0
    functionsReached:
    - ndpi_int_armagetron_add_connection
    - NDPI_LOG_INFO
    - get_u_int16_t
    - NDPI_LOG_DBG
    - get_u_int32_t
    - htonl
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_armagetron_udp(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/armagetron.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: init_armagetron_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/armagetron.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_armagetron_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/hart-ip.c:62,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/hart-ip.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 5
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: ndpi_int_hart_ip_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/hart-ip.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_hart_ip_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                            struct ndpi_flow_struct
      *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/hart-ip.c:74,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/hart-ip.c:91,1
    - Dst: ndpi_int_hart_ip_add_connection
      Src: /src/ndpi/src/lib/protocols/hart-ip.c:95,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/hart-ip.c:100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 101
    functionName: ndpi_search_hart_ip
    functionSourceFile: /src/ndpi/src/lib/protocols/hart-ip.c
    functionUses: 0
    functionsReached:
    - ndpi_int_hart_ip_add_connection
    - NDPI_LOG_DBG
    - ntohs
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_hart_ip(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/hart-ip.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: init_hart_ip_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/hart-ip.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_hart_ip_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dnscrypt.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ndpi_int_dnscrypt_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/dnscrypt.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_dnscrypt_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                             struct ndpi_flow_struct
      *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dnscrypt.c:40,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/dnscrypt.c:44,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/dnscrypt.c:44,1
    - Dst: ndpi_int_dnscrypt_add_connection
      Src: /src/ndpi/src/lib/protocols/dnscrypt.c:46,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/dnscrypt.c:51,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/dnscrypt.c:52,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/dnscrypt.c:52,1
    - Dst: ndpi_int_dnscrypt_add_connection
      Src: /src/ndpi/src/lib/protocols/dnscrypt.c:54,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dnscrypt.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 34
    functionDepth: 6
    functionLinenumber: 34
    functionLinenumberEnd: 68
    functionName: ndpi_search_dnscrypt
    functionSourceFile: /src/ndpi/src/lib/protocols/dnscrypt.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strlen
    - NDPI_LOG_DBG
    - strncmp
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_dnscrypt_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_dnscrypt(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/dnscrypt.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: init_dnscrypt_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/dnscrypt.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_dnscrypt_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/s7comm.c:41,1
    - Dst: tpkt_verify_hdr
      Src: /src/ndpi/src/lib/protocols/s7comm.c:43,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/s7comm.c:44,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/s7comm.c:45,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/s7comm.c:50,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/s7comm.c:51,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/s7comm.c:57,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/s7comm.c:59,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/s7comm.c:60,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/s7comm.c:68,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 36
    functionDepth: 5
    functionLinenumber: 36
    functionLinenumberEnd: 69
    functionName: ndpi_search_s7comm
    functionSourceFile: /src/ndpi/src/lib/protocols/s7comm.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - get_u_int16_t
    - NDPI_LOG_DBG
    - tpkt_verify_hdr
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_s7comm(struct ndpi_detection_module_struct *ndpi_struct,\r\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/s7comm.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: init_s7comm_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/s7comm.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_s7comm_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/json-rpc.c:37,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/json-rpc.c:43,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/json-rpc.c:45,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/json-rpc.c:46,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/json-rpc.c:53,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/json-rpc.c:55,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/json-rpc.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/json-rpc.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: ndpi_search_json_rpc
    functionSourceFile: /src/ndpi/src/lib/protocols/json-rpc.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_strnstr
    - LINE_ENDS
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_json_rpc(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/json-rpc.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: init_json_rpc_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/json-rpc.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_json_rpc_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/pptp.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ndpi_int_pptp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/pptp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_pptp_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t\t\t\t\t\t
      \  *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/pptp.c:43,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/pptp.c:45,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/pptp.c:45,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/pptp.c:46,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/pptp.c:46,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/pptp.c:47,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/pptp.c:47,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/pptp.c:48,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/pptp.c:48,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/pptp.c:51,1
    - Dst: ndpi_int_pptp_add_connection
      Src: /src/ndpi/src/lib/protocols/pptp.c:52,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/pptp.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: ndpi_search_pptp
    functionSourceFile: /src/ndpi/src/lib/protocols/pptp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - get_u_int16_t
    - NDPI_LOG_DBG
    - get_u_int32_t
    - htons
    - htonl
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_pptp_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_pptp(struct ndpi_detection_module_struct\n\t\t\t
      \    *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/pptp.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: init_pptp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/pptp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_pptp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - proto
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: is_subclassification_real_by_proto
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_subclassification_real_by_proto(u_int16_t proto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_subclassification_real_by_proto
      Src: /src/ndpi/src/lib/protocols/stun.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: is_subclassification_real
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 0
    functionsReached:
    - is_subclassification_real_by_proto
    linkageType: ''
    returnType: int
    signature: int is_subclassification_real(struct ndpi_flow_struct *flow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:106,1
    - Dst: is_subclassification_real
      Src: /src/ndpi/src/lib/protocols/stun.c:113,1
    - Dst: is_subclassification_real
      Src: /src/ndpi/src/lib/protocols/stun.c:119,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - new_app_proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 129
    functionName: is_new_subclassification_better
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - is_subclassification_real
    linkageType: ''
    returnType: int
    signature: "int is_new_subclassification_better(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                           struct ndpi_flow_struct
      *flow,\n                                           u_int16_t new_app_proto)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_stun_lru_key
      Src: /src/ndpi/src/lib/protocols/stun.c:141,1
    - Dst: ndpi_lru_find_cache
      Src: /src/ndpi/src/lib/protocols/stun.c:142,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/stun.c:144,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:146,1
    - Dst: get_stun_lru_key
      Src: /src/ndpi/src/lib/protocols/stun.c:150,1
    - Dst: ndpi_lru_find_cache
      Src: /src/ndpi/src/lib/protocols/stun.c:151,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/stun.c:153,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:155,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:161,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:167,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 176
    functionName: search_into_cache
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 1
    functionsReached:
    - ndpi_lru_find_cache
    - get_stun_lru_key
    - printf
    - ndpi_get_current_time
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t search_into_cache(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \  struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_stun_lru_key
      Src: /src/ndpi/src/lib/protocols/stun.c:187,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/stun.c:188,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/stun.c:188,1
    - Dst: get_stun_lru_key
      Src: /src/ndpi/src/lib/protocols/stun.c:189,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/stun.c:190,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/stun.c:190,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:193,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:195,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - app_proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 198
    functionName: add_to_cache
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 11
    functionsReached:
    - ndpi_get_current_time
    - get_stun_lru_key
    - ndpi_lru_add_to_cache
    - printf
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void add_to_cache(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      struct ndpi_flow_struct *flow,\n\t\t\t u_int16_t app_proto)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:212,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/stun.c:213,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/stun.c:218,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/stun.c:224,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:229,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/stun.c:240,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/stun.c:246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 6
    argNames:
    - payload
    - payload_length
    - 'off'
    - real_len
    - ap
    - ap_monit
    argTypes:
    - u_int8_t*
    - u_int16_t
    - int
    - u_int16_t
    - ndpi_address_port*
    - ndpi_address_port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 251
    functionName: parse_ip_port_attribute
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 0
    functionsReached:
    - ntohl
    - ntohs
    - htonl
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void parse_ip_port_attribute(const u_int8_t *payload, u_int16_t payload_length,\n
      \                                   int off, u_int16_t real_len, ndpi_address_port
      *ap,\n                                    ndpi_address_port *ap_monit)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:276,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/stun.c:277,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:293,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/protocols/stun.c:294,1
    - Dst: is_subclassification_real
      Src: /src/ndpi/src/lib/protocols/stun.c:298,1
    - Dst: get_stun_lru_key_raw4
      Src: /src/ndpi/src/lib/protocols/stun.c:299,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/stun.c:301,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/stun.c:303,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:305,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:314,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/stun.c:315,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/stun.c:316,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/stun.c:317,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/stun.c:318,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/stun.c:323,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/stun.c:329,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:334,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/protocols/stun.c:335,1
    - Dst: is_subclassification_real
      Src: /src/ndpi/src/lib/protocols/stun.c:339,1
    - Dst: get_stun_lru_key_raw6
      Src: /src/ndpi/src/lib/protocols/stun.c:340,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/stun.c:342,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/stun.c:344,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:346,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 11
    argNames:
    - ndpi_struct
    - flow
    - payload
    - payload_length
    - 'off'
    - real_len
    - ap
    - ap_monit
    - transaction_id
    - magic_cookie
    - add_to_cache
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int8_t*
    - u_int16_t
    - int
    - u_int16_t
    - ndpi_address_port*
    - ndpi_address_port*
    - u_int32_t[]
    - u_int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 352
    functionName: parse_xor_ip_port_attribute
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 0
    functionsReached:
    - ndpi_get_current_time
    - is_subclassification_real
    - NDPI_LOG_DBG
    - htonl
    - inet_ntop
    - ndpi_lru_add_to_cache
    - get_stun_lru_key_raw4
    - printf
    - get_stun_lru_key_raw6
    - ntohs
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void parse_xor_ip_port_attribute(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                        struct ndpi_flow_struct
      *flow,\n                                        const u_int8_t *payload, u_int16_t
      payload_length,\n                                        int off, u_int16_t
      real_len,\n                                        ndpi_address_port *ap, ndpi_address_port
      *ap_monit,\n                                        u_int32_t transaction_id[3],
      u_int32_t magic_cookie,\n                                        int add_to_cache)"
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/stun.c:376,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/stun.c:377,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:378,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:386,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/stun.c:386,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:393,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/stun.c:393,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:394,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/stun.c:394,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:399,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:400,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/stun.c:401,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/stun.c:402,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/stun.c:403,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/stun.c:404,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/stun.c:412,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:424,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:433,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:447,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:453,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:459,1
    - Dst: is_monitoring_enabled
      Src: /src/ndpi/src/lib/protocols/stun.c:467,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/protocols/stun.c:468,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:488,1
    - Dst: is_subclassification_real
      Src: /src/ndpi/src/lib/protocols/stun.c:496,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:497,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:497,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:506,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:507,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:510,1
    - Dst: parse_ip_port_attribute
      Src: /src/ndpi/src/lib/protocols/stun.c:515,1
    - Dst: parse_ip_port_attribute
      Src: /src/ndpi/src/lib/protocols/stun.c:522,1
    - Dst: parse_ip_port_attribute
      Src: /src/ndpi/src/lib/protocols/stun.c:529,1
    - Dst: parse_xor_ip_port_attribute
      Src: /src/ndpi/src/lib/protocols/stun.c:536,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/stun.c:564,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/stun.c:564,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:565,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/stun.c:576,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/stun.c:578,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/stun.c:579,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/stun.c:581,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/stun.c:583,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/stun.c:585,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/stun.c:587,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/stun.c:589,1
    - Dst: signal_search_into_cache
      Src: /src/ndpi/src/lib/protocols/stun.c:591,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/stun.c:614,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/stun.c:621,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:632,1
    - Dst: stun_search_again
      Src: /src/ndpi/src/lib/protocols/stun.c:640,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:641,1
    - Dst: parse_xor_ip_port_attribute
      Src: /src/ndpi/src/lib/protocols/stun.c:650,1
    - Dst: parse_xor_ip_port_attribute
      Src: /src/ndpi/src/lib/protocols/stun.c:661,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/stun.c:671,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 210
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - app_proto
    - category
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t*
    - ndpi_protocol_category_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 679
    functionName: is_stun
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 1
    functionsReached:
    - is_subclassification_real
    - parse_ip_port_attribute
    - signal_search_into_cache
    - get_u_int16_t
    - ntohl
    - parse_xor_ip_port_attribute
    - NDPI_LOG_DBG
    - current_pkt_from_client_to_server
    - strncmp
    - ndpi_hostname_sni_set
    - stun_search_again
    - strstr
    - is_monitoring_enabled
    - ndpi_min
    - NDPI_LOG_DBG2
    - ntohs
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: "int is_stun(struct ndpi_detection_module_struct *ndpi_struct,\n            struct
      ndpi_flow_struct *flow,\n            u_int16_t *app_proto,\n\t    ndpi_protocol_category_t
      *category)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:703,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:711,1
    - Dst: is_monitoring_enabled
      Src: /src/ndpi/src/lib/protocols/stun.c:734,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:735,1
    - Dst: is_subclassification_real
      Src: /src/ndpi/src/lib/protocols/stun.c:741,1
    - Dst: is_monitoring_enabled
      Src: /src/ndpi/src/lib/protocols/stun.c:744,1
    - Dst: is_monitoring_enabled
      Src: /src/ndpi/src/lib/protocols/stun.c:759,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:760,1
    - Dst: is_monitoring_enabled
      Src: /src/ndpi/src/lib/protocols/stun.c:772,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:773,1
    - Dst: is_monitoring_enabled
      Src: /src/ndpi/src/lib/protocols/stun.c:782,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:783,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 56
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 791
    functionName: keep_extra_dissection
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 4
    functionsReached:
    - is_subclassification_real
    - NDPI_LOG_DBG
    - is_monitoring_enabled
    - printf
    - ntohs
    linkageType: ''
    returnType: int
    signature: "int keep_extra_dissection(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 803
    functionName: __get_master
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t __get_master(struct ndpi_flow_struct *flow)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/stun.c:818,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/stun.c:828,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:831,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:841,1
    - Dst: is_stun
      Src: /src/ndpi/src/lib/protocols/stun.c:843,1
    - Dst: is_new_subclassification_better
      Src: /src/ndpi/src/lib/protocols/stun.c:844,1
    - Dst: ndpi_int_stun_add_connection
      Src: /src/ndpi/src/lib/protocols/stun.c:845,1
    - Dst: __get_master
      Src: /src/ndpi/src/lib/protocols/stun.c:846,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:850,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:852,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:854,1
    - Dst: is_dtls
      Src: /src/ndpi/src/lib/protocols/stun.c:857,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:880,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:882,1
    - Dst: reset_detected_protocol
      Src: /src/ndpi/src/lib/protocols/stun.c:894,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/stun.c:900,1
    - Dst: switch_to_tls
      Src: /src/ndpi/src/lib/protocols/stun.c:904,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:911,1
    - Dst: ndpi_int_stun_add_connection
      Src: /src/ndpi/src/lib/protocols/stun.c:912,1
    - Dst: __get_master
      Src: /src/ndpi/src/lib/protocols/stun.c:914,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:920,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/stun.c:922,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:930,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:933,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:938,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:943,1
    - Dst: stun_search_again
      Src: /src/ndpi/src/lib/protocols/stun.c:954,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:955,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:962,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:967,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:970,1
    - Dst: is_rtp_or_rtcp
      Src: /src/ndpi/src/lib/protocols/stun.c:973,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:975,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/stun.c:980,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/stun.c:983,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/stun.c:985,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/stun.c:986,1
    - Dst: rtp_get_stream_type
      Src: /src/ndpi/src/lib/protocols/stun.c:989,1
    - Dst: ndpi_int_stun_add_connection
      Src: /src/ndpi/src/lib/protocols/stun.c:1000,1
    - Dst: ndpi_int_stun_add_connection
      Src: /src/ndpi/src/lib/protocols/stun.c:1007,1
    - Dst: __get_master
      Src: /src/ndpi/src/lib/protocols/stun.c:1008,1
    - Dst: __get_master
      Src: /src/ndpi/src/lib/protocols/stun.c:1009,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/stun.c:1016,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1018,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1021,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1024,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1030,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/stun.c:1030,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1034,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/stun.c:1034,1
    - Dst: stun_search_again
      Src: /src/ndpi/src/lib/protocols/stun.c:1046,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1048,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1054,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1058,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/stun.c:1061,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 135
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 807
    functionDepth: 5
    functionLinenumber: 807
    functionLinenumberEnd: 1062
    functionName: stun_search_again
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 2
    functionsReached:
    - get_u_int16_t
    - NDPI_LOG_DBG
    - is_dtls
    - switch_to_tls
    - __get_master
    - NDPI_LOG_DBG2
    - is_stun
    - keep_extra_dissection
    - rtp_get_stream_type
    - ndpi_set_detected_protocol
    - stun_search_again
    - ndpi_min
    - ndpi_int_stun_add_connection
    - ndpi_get_current_time
    - reset_detected_protocol
    - NDPI_LOG_INFO
    - is_rtp_or_rtcp
    - is_new_subclassification_better
    - ntohs
    linkageType: ''
    returnType: int
    signature: "int stun_search_again(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/stun.c:1076,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1089,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/stun.c:1090,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/stun.c:1093,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1094,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/stun.c:1095,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1100,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1102,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/stun.c:1104,1
    - Dst: stun_search_again
      Src: /src/ndpi/src/lib/protocols/stun.c:1112,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/stun.c:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1066
    functionDepth: 6
    functionLinenumber: 1066
    functionLinenumberEnd: 1118
    functionName: stun_telegram_search_again
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 0
    functionsReached:
    - keep_extra_dissection
    - NDPI_LOG_DBG
    - stun_search_again
    - memcmp
    - NDPI_LOG_DBG2
    - ntohs
    linkageType: ''
    returnType: int
    signature: "int stun_telegram_search_again(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                      struct ndpi_flow_struct
      *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/stun.c:1125,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1125,1
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/stun.c:1130,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - flow
    - rev
    argTypes:
    - struct ndpi_flow_struct*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1134
    functionName: get_stun_lru_key
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 2
    functionsReached:
    - ntohs
    - ndpi_quick_hash64
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t get_stun_lru_key(struct ndpi_flow_struct *flow, u_int8_t
      rev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/stun.c:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ip
    - port_host_order
    argTypes:
    - u_int32_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1140
    functionName: get_stun_lru_key_raw4
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 1
    functionsReached:
    - htons
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t get_stun_lru_key_raw4(u_int32_t ip, u_int16_t port_host_order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash
      Src: /src/ndpi/src/lib/protocols/stun.c:1145,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/stun.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ip
    - port_host_order
    argTypes:
    - u_int8_t*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1146
    functionName: get_stun_lru_key_raw6
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 1
    functionsReached:
    - htons
    - ndpi_quick_hash
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t get_stun_lru_key_raw6(u_int8_t *ip, u_int16_t port_host_order)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1162,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1166,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1166,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1167,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1168,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1168,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1169,1
    - Dst: ndpi_htonll
      Src: /src/ndpi/src/lib/protocols/stun.c:1171,1
    - Dst: ndpi_htonll
      Src: /src/ndpi/src/lib/protocols/stun.c:1172,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/stun.c:1174,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/stun.c:1175,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/stun.c:1176,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/stun.c:1177,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/stun.c:1183,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/stun.c:1184,1
    - Dst: is_subclassification_real_by_proto
      Src: /src/ndpi/src/lib/protocols/stun.c:1195,1
    - Dst: search_into_cache
      Src: /src/ndpi/src/lib/protocols/stun.c:1196,1
    - Dst: is_subclassification_real_by_proto
      Src: /src/ndpi/src/lib/protocols/stun.c:1218,1
    - Dst: add_to_cache
      Src: /src/ndpi/src/lib/protocols/stun.c:1219,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1226,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/stun.c:1227,1
    - Dst: get_proto_category
      Src: /src/ndpi/src/lib/protocols/stun.c:1236,1
    - Dst: get_proto_breed
      Src: /src/ndpi/src/lib/protocols/stun.c:1237,1
    - Dst: switch_extra_dissection_to_stun
      Src: /src/ndpi/src/lib/protocols/stun.c:1241,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 53
    argCount: 5
    argNames:
    - ndpi_struct
    - flow
    - app_proto
    - master_proto
    - category
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    - u_int16_t
    - ndpi_protocol_category_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1150
    functionDepth: 5
    functionLinenumber: 1150
    functionLinenumberEnd: 1242
    functionName: ndpi_int_stun_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 1
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_htonll
    - ntohl
    - is_subclassification_real_by_proto
    - NDPI_LOG_DBG
    - switch_extra_dissection_to_stun
    - memcmp
    - get_proto_breed
    - search_into_cache
    - ntohs
    - get_proto_category
    - add_to_cache
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_stun_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t struct ndpi_flow_struct *flow,\n\t\t\t\t\t u_int16_t
      app_proto,\n\t\t\t\t\t u_int16_t master_proto,\n\t\t\t\t\t ndpi_protocol_category_t
      category)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/stun.c:1251,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - std_callback
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1260
    functionName: switch_extra_dissection_to_stun
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 3
    functionsReached:
    - keep_extra_dissection
    - NDPI_LOG_DBG
    linkageType: ''
    returnType: void
    signature: "void switch_extra_dissection_to_stun(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t     struct ndpi_flow_struct *flow,\n\t\t\t\t     int
      std_callback)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stun.c:1271,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/stun.c:1277,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/stun.c:1278,1
    - Dst: is_stun
      Src: /src/ndpi/src/lib/protocols/stun.c:1282,1
    - Dst: ndpi_int_stun_add_connection
      Src: /src/ndpi/src/lib/protocols/stun.c:1285,1
    - Dst: __get_master
      Src: /src/ndpi/src/lib/protocols/stun.c:1286,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/stun.c:1292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1264
    functionDepth: 6
    functionLinenumber: 1264
    functionLinenumberEnd: 1293
    functionName: ndpi_search_stun
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - __get_master
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_stun_add_connection
    - is_stun
    linkageType: ''
    returnType: void
    signature: void ndpi_search_stun(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/stun.c:1300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1303
    functionName: get_signal_key
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 0
    functionsReached:
    - ndpi_quick_hash64
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t get_signal_key(struct ndpi_flow_struct *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_signal_key
      Src: /src/ndpi/src/lib/protocols/stun.c:1314,1
    - Dst: ndpi_lru_find_cache
      Src: /src/ndpi/src/lib/protocols/stun.c:1316,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/stun.c:1318,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:1320,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1320,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1320,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:1325,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1325,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1307
    functionDepth: 2
    functionLinenumber: 1307
    functionLinenumberEnd: 1331
    functionName: signal_search_into_cache
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 1
    functionsReached:
    - ndpi_lru_find_cache
    - ndpi_get_current_time
    - printf
    - ntohs
    - get_signal_key
    linkageType: ''
    returnType: int
    signature: "int signal_search_into_cache(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_signal_key
      Src: /src/ndpi/src/lib/protocols/stun.c:1341,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/stun.c:1343,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1343,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/stun.c:1343,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/stun.c:1345,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/stun.c:1346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1348
    functionName: signal_add_to_cache
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 0
    functionsReached:
    - ndpi_get_current_time
    - ndpi_lru_add_to_cache
    - printf
    - ntohs
    - get_signal_key
    linkageType: ''
    returnType: void
    signature: "void signal_add_to_cache(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                       struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/stun.c:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1352
    functionDepth: 3
    functionLinenumber: 1352
    functionLinenumberEnd: 1357
    functionName: init_stun_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/stun.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_stun_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/alicloud.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/alicloud.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ndpi_int_alicloud_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/alicloud.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_alicloud_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                             struct ndpi_flow_struct
      * const flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/alicloud.c:43,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/alicloud.c:47,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/alicloud.c:51,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/alicloud.c:51,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/alicloud.c:53,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/alicloud.c:53,1
    - Dst: ndpi_int_alicloud_add_connection
      Src: /src/ndpi/src/lib/protocols/alicloud.c:57,1
    - Dst: ndpi_int_alicloud_add_connection
      Src: /src/ndpi/src/lib/protocols/alicloud.c:60,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/alicloud.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 69
    functionName: ndpi_search_alicloud
    functionSourceFile: /src/ndpi/src/lib/protocols/alicloud.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_alicloud_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_alicloud(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/alicloud.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: init_alicloud_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/alicloud.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_alicloud_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ntp.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ndpi_int_ntp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ntp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ntp_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t*ndpi_struct,
      struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ntp.c:42,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/ntp.c:44,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/ntp.c:44,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/ntp.c:46,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ntp.c:53,1
    - Dst: ndpi_int_ntp_add_connection
      Src: /src/ndpi/src/lib/protocols/ntp.c:54,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ntp.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: ndpi_search_ntp_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/ntp.c
    functionUses: 0
    functionsReached:
    - ndpi_int_ntp_add_connection
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: void ndpi_search_ntp_udp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ntp.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: init_ntp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ntp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ntp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ndpi_int_gearup_booster_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/gearup_booster.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_gearup_booster_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                                   struct
      ndpi_flow_struct * const flow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:43,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:45,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:45,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:47,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:53,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:55,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:63,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:63,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:65,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:71,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:71,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:74,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:78,1
    - Dst: ndpi_int_gearup_booster_add_connection
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:82,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 83
    functionName: ndpi_search_gearup_booster
    functionSourceFile: /src/ndpi/src/lib/protocols/gearup_booster.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_gearup_booster_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_gearup_booster(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                       struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/gearup_booster.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: init_gearup_booster_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/gearup_booster.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_gearup_booster_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dcerpc.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ndpi_int_dcerpc_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/dcerpc.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_dcerpc_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \    *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: is_connection_oriented_dcerpc
    functionSourceFile: /src/ndpi/src/lib/protocols/dcerpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_connection_oriented_dcerpc(struct ndpi_packet_struct *packet)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: is_connectionless_dcerpc
    functionSourceFile: /src/ndpi/src/lib/protocols/dcerpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_connectionless_dcerpc(struct ndpi_packet_struct *packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dcerpc.c:85,1
    - Dst: is_connection_oriented_dcerpc
      Src: /src/ndpi/src/lib/protocols/dcerpc.c:86,1
    - Dst: is_connectionless_dcerpc
      Src: /src/ndpi/src/lib/protocols/dcerpc.c:86,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/dcerpc.c:87,1
    - Dst: ndpi_int_dcerpc_add_connection
      Src: /src/ndpi/src/lib/protocols/dcerpc.c:88,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dcerpc.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: ndpi_search_dcerpc
    functionSourceFile: /src/ndpi/src/lib/protocols/dcerpc.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_int_dcerpc_add_connection
    - NDPI_LOG_DBG
    - is_connection_oriented_dcerpc
    - NDPI_EXCLUDE_DISSECTOR
    - is_connectionless_dcerpc
    linkageType: ''
    returnType: void
    signature: void ndpi_search_dcerpc(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/dcerpc.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: init_dcerpc_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/dcerpc.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_dcerpc_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/stomp.c:36,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/stomp.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: ndpi_int_stomp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/stomp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_stomp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                                struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/stomp.c:47,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/stomp.c:50,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/stomp.c:51,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/stomp.c:51,1
    - Dst: ndpi_int_stomp_add_connection
      Src: /src/ndpi/src/lib/protocols/stomp.c:53,1
    - Dst: current_pkt_from_server_to_client
      Src: /src/ndpi/src/lib/protocols/stomp.c:58,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/stomp.c:59,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/stomp.c:59,1
    - Dst: ndpi_int_stomp_add_connection
      Src: /src/ndpi/src/lib/protocols/stomp.c:61,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/stomp.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: ndpi_search_stomp
    functionSourceFile: /src/ndpi/src/lib/protocols/stomp.c
    functionUses: 0
    functionsReached:
    - current_pkt_from_client_to_server
    - NDPI_LOG_DBG
    - current_pkt_from_server_to_client
    - NDPI_STATICSTRING_LEN
    - ndpi_int_stomp_add_connection
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_stomp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                             struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/stomp.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: init_stomp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/stomp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_stomp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/qq.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ndpi_int_qq_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/qq.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_qq_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t       struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/qq.c:44,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/qq.c:46,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/qq.c:46,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/qq.c:47,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/qq.c:47,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/qq.c:48,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/qq.c:48,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/qq.c:49,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/qq.c:49,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/qq.c:50,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/qq.c:50,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/qq.c:51,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/qq.c:51,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/qq.c:52,1
    - Dst: ndpi_int_qq_add_connection
      Src: /src/ndpi/src/lib/protocols/qq.c:53,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/qq.c:56,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: ndpi_search_qq
    functionSourceFile: /src/ndpi/src/lib/protocols/qq.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_int_qq_add_connection
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_qq(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/qq.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: init_qq_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/qq.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_qq_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mssql_tds.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: ndpi_int_mssql_tds_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/mssql_tds.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_mssql_tds_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \ *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mssql_tds.c:53,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/mssql_tds.c:60,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mssql_tds.c:61,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/mssql_tds.c:67,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mssql_tds.c:68,1
    - Dst: ndpi_int_mssql_tds_add_connection
      Src: /src/ndpi/src/lib/protocols/mssql_tds.c:69,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mssql_tds.c:75,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 48
    functionDepth: 6
    functionLinenumber: 48
    functionLinenumberEnd: 76
    functionName: ndpi_search_mssql_tds
    functionSourceFile: /src/ndpi/src/lib/protocols/mssql_tds.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_int_mssql_tds_add_connection
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_mssql_tds(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mssql_tds.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: init_mssql_tds_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mssql_tds.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mssql_tds_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/fix.c:36,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/fix.c:45,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/fix.c:46,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/fix.c:55,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/fix.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/fix.c:62,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: ndpi_search_fix
    functionSourceFile: /src/ndpi/src/lib/protocols/fix.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_DBG
    - NDPI_LOG_INFO
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_fix(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/fix.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: init_fix_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/fix.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_fix_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ldap.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ndpi_int_ldap_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ldap.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ldap_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ldap.c:46,1
    - Dst: asn1_ber_decode_length
      Src: /src/ndpi/src/lib/protocols/ldap.c:50,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ldap.c:51,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ldap.c:58,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ldap.c:61,1
    - Dst: ndpi_int_ldap_add_connection
      Src: /src/ndpi/src/lib/protocols/ldap.c:62,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ldap.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 70
    functionName: ndpi_search_ldap
    functionSourceFile: /src/ndpi/src/lib/protocols/ldap.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_int_ldap_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - asn1_ber_decode_length
    linkageType: ''
    returnType: void
    signature: void ndpi_search_ldap(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ldap.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: init_ldap_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ldap.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ldap_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ndpi_int_xdmcp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/xdmcp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_xdmcp_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \ *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:44,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:46,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:46,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:49,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:49,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:49,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:49,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:51,1
    - Dst: ndpi_int_xdmcp_add_connection
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:52,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:55,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:56,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:56,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:57,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:57,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:57,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:57,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:59,1
    - Dst: ndpi_int_xdmcp_add_connection
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:60,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:64,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 65
    functionName: ndpi_search_xdmcp
    functionSourceFile: /src/ndpi/src/lib/protocols/xdmcp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - get_u_int16_t
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_xdmcp_add_connection
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_xdmcp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \     struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/xdmcp.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: init_xdmcp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/xdmcp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_xdmcp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:51,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - protocol
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: ndpi_int_mail_pop_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_pop.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_mail_pop_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \    *ndpi_struct, struct ndpi_flow_struct *flow,\n\t\t\t\t\t     u_int16_t
      protocol)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:66,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:69,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:72,1
    - Dst: ndpi_user_pwd_payload_copy
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:75,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:79,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:81,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:85,1
    - Dst: ndpi_user_pwd_payload_copy
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:86,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:90,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:93,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:96,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:99,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:102,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:105,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:108,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:111,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 118
    functionName: ndpi_int_mail_pop_check_for_client_commands
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_pop.c
    functionUses: 0
    functionsReached:
    - ndpi_user_pwd_payload_copy
    - ndpi_set_risk
    - snprintf
    - ndpi_memcasecmp
    linkageType: ''
    returnType: int
    signature: "int ndpi_int_mail_pop_check_for_client_commands(struct ndpi_detection_module_struct\n\t\t\t\t\t\t
      \      *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:129,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:132,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:134,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:138,1
    - Dst: ndpi_int_mail_pop_add_connection
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:139,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:141,1
    - Dst: switch_extra_dissection_to_tls
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:144,1
    - Dst: ndpi_int_mail_pop_check_for_client_commands
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:150,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:154,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:154,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:162,1
    - Dst: ndpi_int_mail_pop_add_connection
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:171,1
    - Dst: popInitExtraPacketProcessing
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:173,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:182,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:190,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:190,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:193,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:198,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 199
    functionName: ndpi_search_mail_pop_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_pop.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - NDPI_LOG_DBG
    - switch_extra_dissection_to_tls
    - ndpi_int_mail_pop_add_connection
    - ndpi_int_mail_pop_check_for_client_commands
    - popInitExtraPacketProcessing
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    - ntohs
    - ndpi_memcasecmp
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_mail_pop_tcp(struct ndpi_detection_module_struct\n\t\t\t\t
      \    *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_mail_pop_tcp
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:208,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 204
    functionDepth: 7
    functionLinenumber: 204
    functionLinenumberEnd: 217
    functionName: ndpi_extra_search_mail_pop_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_pop.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_search_mail_pop_tcp
    linkageType: ''
    returnType: int
    signature: "int ndpi_extra_search_mail_pop_tcp(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t    struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: popInitExtraPacketProcessing
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_pop.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void popInitExtraPacketProcessing(struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mail_pop.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: init_mail_pop_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_pop.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mail_pop_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/postgres.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: ndpi_int_postgres_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/postgres.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_postgres_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \    *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/postgres.c:51,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/postgres.c:51,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/postgres.c:58,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/postgres.c:58,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/postgres.c:59,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/postgres.c:59,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/postgres.c:69,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/postgres.c:69,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/postgres.c:77,1
    - Dst: ndpi_int_postgres_add_connection
      Src: /src/ndpi/src/lib/protocols/postgres.c:78,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/postgres.c:83,1
    - Dst: ndpi_int_postgres_add_connection
      Src: /src/ndpi/src/lib/protocols/postgres.c:84,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/postgres.c:91,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/postgres.c:91,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/postgres.c:92,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/postgres.c:92,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/postgres.c:93,1
    - Dst: ndpi_int_postgres_add_connection
      Src: /src/ndpi/src/lib/protocols/postgres.c:94,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/postgres.c:98,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/postgres.c:98,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/postgres.c:99,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/postgres.c:99,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/postgres.c:100,1
    - Dst: ndpi_int_postgres_add_connection
      Src: /src/ndpi/src/lib/protocols/postgres.c:101,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/postgres.c:109,1
    - Dst: ndpi_int_postgres_add_connection
      Src: /src/ndpi/src/lib/protocols/postgres.c:110,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/postgres.c:115,1
    - Dst: ndpi_int_postgres_add_connection
      Src: /src/ndpi/src/lib/protocols/postgres.c:116,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/postgres.c:122,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 53
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 123
    functionName: ndpi_search_postgres_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/postgres.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ntohl
    - get_u_int32_t
    - ndpi_int_postgres_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_postgres_tcp(struct ndpi_detection_module_struct\n\t\t\t\t
      \    *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/postgres.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: init_postgres_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/postgres.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_postgres_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: ndpi_int_iso9506_1_mms_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/iso9506-1-mms.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_iso9506_1_mms_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                                struct ndpi_flow_struct
      *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:48,1
    - Dst: tpkt_verify_hdr
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:50,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:52,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:59,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:59,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:60,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:60,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:61,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:61,1
    - Dst: ndpi_int_iso9506_1_mms_add_connection
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:63,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:71,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 73
    functionName: ndpi_search_iso9506_1_mms
    functionSourceFile: /src/ndpi/src/lib/protocols/iso9506-1-mms.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - current_pkt_from_client_to_server
    - NDPI_LOG_DBG
    - tpkt_verify_hdr
    - le16toh
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_iso9506_1_mms_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_iso9506_1_mms(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                    struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/iso9506-1-mms.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: init_iso9506_1_mms_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/iso9506-1-mms.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_iso9506_1_mms_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/rsync.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: ndpi_int_rsync_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/rsync.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_rsync_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \ *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rsync.c:39,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/rsync.c:42,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/rsync.c:51,1
    - Dst: ndpi_int_rsync_add_connection
      Src: /src/ndpi/src/lib/protocols/rsync.c:52,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rsync.c:57,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: ndpi_search_rsync
    functionSourceFile: /src/ndpi/src/lib/protocols/rsync.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_int_rsync_add_connection
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: void ndpi_search_rsync(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/rsync.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: init_rsync_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/rsync.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_rsync_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/bfcp.c:39,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bfcp.c:63,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/bfcp.c:63,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bfcp.c:68,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/bfcp.c:69,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/bfcp.c:72,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/bfcp.c:72,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bfcp.c:73,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/bfcp.c:73,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/bfcp.c:77,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 78
    functionName: ndpi_search_bfcp
    functionSourceFile: /src/ndpi/src/lib/protocols/bfcp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_bfcp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/bfcp.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: init_bfcp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/bfcp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_bfcp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/threema.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/threema.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ndpi_int_threema_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/threema.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_threema_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                            struct ndpi_flow_struct
      * const flow)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/threema.c:43,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/threema.c:45,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/threema.c:45,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/threema.c:46,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/threema.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/threema.c:61,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/threema.c:67,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/threema.c:78,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/threema.c:82,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/threema.c:82,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/threema.c:85,1
    - Dst: ndpi_int_threema_add_connection
      Src: /src/ndpi/src/lib/protocols/threema.c:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 90
    functionName: ndpi_search_threema
    functionSourceFile: /src/ndpi/src/lib/protocols/threema.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - NDPI_LOG_DBG
    - le16toh
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_threema_add_connection
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_threema(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/threema.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: init_threema_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/threema.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_threema_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mpegts.c:33,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mpegts.c:45,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mpegts.c:46,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mpegts.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: ndpi_search_mpegts
    functionSourceFile: /src/ndpi/src/lib/protocols/mpegts.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_DBG
    - NDPI_LOG_INFO
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_mpegts(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mpegts.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: init_mpegts_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mpegts.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mpegts_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: kcp_header
    functionSourceFile: /src/ndpi/src/lib/protocols/kcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON kcp_header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/kcp.c:52,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/kcp.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: ndpi_int_kcp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/kcp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_kcp_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                        struct ndpi_flow_struct
      * const flow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/kcp.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kcp.c:69,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kcp.c:81,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/kcp.c:85,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/kcp.c:88,1
    - Dst: ndpi_int_kcp_add_connection
      Src: /src/ndpi/src/lib/protocols/kcp.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 93
    functionName: ndpi_search_kcp
    functionSourceFile: /src/ndpi/src/lib/protocols/kcp.c
    functionUses: 0
    functionsReached:
    - ndpi_int_kcp_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_INFO
    - le32toh
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_kcp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/kcp.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: init_kcp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/kcp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_kcp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - service_id
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: is_valid_knxnet_ip_service_id
    functionSourceFile: /src/ndpi/src/lib/protocols/knxnet_ip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_knxnet_ip_service_id(u_int16_t service_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:70,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: ndpi_int_knxnet_ip_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/knxnet_ip.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: void ndpi_int_knxnet_ip_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:79,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:87,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:87,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:88,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:88,1
    - Dst: is_valid_knxnet_ip_service_id
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:90,1
    - Dst: ndpi_int_knxnet_ip_add_connection
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:97,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:109,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:109,1
    - Dst: is_valid_knxnet_ip_service_id
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:110,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:110,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:110,1
    - Dst: ndpi_int_knxnet_ip_add_connection
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:112,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:118,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 119
    functionName: ndpi_search_knxnet_ip
    functionSourceFile: /src/ndpi/src/lib/protocols/knxnet_ip.c
    functionUses: 0
    functionsReached:
    - ndpi_int_knxnet_ip_add_connection
    - is_valid_knxnet_ip_service_id
    - get_u_int16_t
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_knxnet_ip(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/knxnet_ip.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: init_knxnet_ip_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/knxnet_ip.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_knxnet_ip_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: ams_tcp_hdr
    functionSourceFile: /src/ndpi/src/lib/protocols/beckhoff_ads.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ams_tcp_hdr
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:64,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: ndpi_int_beckhoff_ads_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/beckhoff_ads.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_beckhoff_ads_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                                 struct
      ndpi_flow_struct * const flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:76,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:83,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:91,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:94,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:95,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:100,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:101,1
    - Dst: ndpi_int_beckhoff_ads_add_connection
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:106,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:112,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 113
    functionName: ndpi_search_beckhoff_ads
    functionSourceFile: /src/ndpi/src/lib/protocols/beckhoff_ads.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - le32toh
    - le16toh
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_beckhoff_ads_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_beckhoff_ads(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                     struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/beckhoff_ads.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: init_beckhoff_ads_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/beckhoff_ads.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_beckhoff_ads_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/tcp_udp.c:36,1
    - Dst: ndpi_network_ptree_match
      Src: /src/ndpi/src/lib/protocols/tcp_udp.c:37,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/tcp_udp.c:40,1
    - Dst: ndpi_network_ptree_match
      Src: /src/ndpi/src/lib/protocols/tcp_udp.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - saddr
    - daddr
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 43
    functionName: ndpi_search_tcp_or_udp_raw
    functionSourceFile: /src/ndpi/src/lib/protocols/tcp_udp.c
    functionUses: 1
    functionsReached:
    - ndpi_network_ptree_match
    - htonl
    linkageType: ''
    returnType: u_int
    signature: "u_int ndpi_search_tcp_or_udp_raw(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t struct ndpi_flow_struct *flow,\n\t\t\t\t u_int32_t saddr,
      u_int32_t daddr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_tcp_or_udp_raw
      Src: /src/ndpi/src/lib/protocols/tcp_udp.c:56,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tcp_udp.c:58,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tcp_udp.c:59,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tcp_udp.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: ndpi_search_tcp_or_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/tcp_udp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_search_tcp_or_udp_raw
    - ntohl
    linkageType: ''
    returnType: void
    signature: void ndpi_search_tcp_or_udp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ndpi_int_sd_rtn_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/sd_rtn.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_sd_rtn_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                           struct ndpi_flow_struct
      * const flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:42,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:42,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - flow
    - payload
    - payload_len
    argTypes:
    - struct ndpi_flow_struct*
    - u_int8_t*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: ndpi_int_sd_rtn_dissect_sni
    functionSourceFile: /src/ndpi/src/lib/protocols/sd_rtn.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ntohs
    - ndpi_hostname_sni_set
    linkageType: ''
    returnType: int
    signature: "int ndpi_int_sd_rtn_dissect_sni(struct ndpi_flow_struct * const flow,\n
      \                                      u_int8_t const * const payload,\n                                       u_int32_t
      payload_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:64,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:70,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:70,1
    - Dst: ndpi_int_sd_rtn_dissect_sni
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:72,1
    - Dst: ndpi_int_sd_rtn_add_connection
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:77,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: ndpi_search_sd_rtn
    functionSourceFile: /src/ndpi/src/lib/protocols/sd_rtn.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_sd_rtn_add_connection
    - ndpi_int_sd_rtn_dissect_sni
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_sd_rtn(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/sd_rtn.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: init_sd_rtn_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/sd_rtn.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_sd_rtn_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - dns_type
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 99
    functionName: ndpi_check_dns_type
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    linkageType: ''
    returnType: void
    signature: "void ndpi_check_dns_type(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow,\n\t\t\t\tu_int16_t
      dns_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - port
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: checkPort
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t checkPort(u_int16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:120,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:121,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:122,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:123,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: isMDNSMulticastAddress
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: int
    signature: int isMDNSMulticastAddress(struct ndpi_packet_struct * const packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:129,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:130,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:131,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:132,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: isLLMNRMulticastAddress
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: int
    signature: int isLLMNRMulticastAddress(struct ndpi_packet_struct *const packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkPort
      Src: /src/ndpi/src/lib/protocols/dns.c:139,1
    - Dst: checkPort
      Src: /src/ndpi/src/lib/protocols/dns.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sport
    - dport
    argTypes:
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: checkDNSSubprotocol
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - checkPort
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t checkDNSSubprotocol(u_int16_t sport, u_int16_t dport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - payload
    argTypes:
    - u_int*
    - u_int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: get16
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: u_int16_t
    signature: u_int16_t get16(u_int *i, const u_int8_t *payload)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNameLength
      Src: /src/ndpi/src/lib/protocols/dns.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - i
    - payload
    - payloadLen
    argTypes:
    - u_int
    - u_int8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: getNameLength
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 1
    functionsReached:
    - getNameLength
    linkageType: ''
    returnType: u_int
    signature: u_int getNameLength(u_int i, const u_int8_t *payload, u_int payloadLen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/dns.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - error_code
    - buf
    - buf_len
    argTypes:
    - u_int16_t
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 209
    functionName: dns_error_code2string
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * dns_error_code2string(u_int16_t error_code, char *buf, u_int
      buf_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/dns.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: fpc_dns_cache_key_from_flow
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 1
    functionsReached:
    - ndpi_quick_hash64
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t fpc_dns_cache_key_from_flow(struct ndpi_flow_struct *flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/dns.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ip
    - ip_len
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: fpc_dns_cache_key_from_packet
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - ndpi_quick_hash64
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t fpc_dns_cache_key_from_packet(const unsigned char *ip, int
      ip_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/ndpi/src/lib/protocols/dns.c:269,1
    - Dst: tolower
      Src: /src/ndpi/src/lib/protocols/dns.c:276,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/protocols/dns.c:282,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 6
    argNames:
    - packet
    - 'off'
    - _hostname
    - max_len
    - _hostname_len
    - ignore_checks
    argTypes:
    - struct ndpi_packet_struct*
    - u_int*
    - char*
    - u_int
    - u_int*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 297
    functionName: ndpi_grab_dns_name
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - ndpi_isprint
    - tolower
    linkageType: ''
    returnType: u_int8_t
    signature: "u_int8_t ndpi_grab_dns_name(struct ndpi_packet_struct *packet,\n\t\t\t\t
      \  u_int *off /* payload offset */,\n\t\t\t\t   char *_hostname, u_int max_len,\n\t\t\t\t
      \  u_int *_hostname_len,\n\t\t\t\t   u_int8_t ignore_checks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNameLength
      Src: /src/ndpi/src/lib/protocols/dns.c:313,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:320,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:323,1
    - Dst: get16
      Src: /src/ndpi/src/lib/protocols/dns.c:327,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - dns_header
    - payload_offset
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - struct ndpi_dns_packet_header*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 342
    functionName: process_queries
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_set_risk
    - get16
    - getNameLength
    linkageType: ''
    returnType: int
    signature: "int process_queries(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                          struct ndpi_flow_struct *flow,\n                           struct
      ndpi_dns_packet_header *dns_header,\n                           u_int payload_offset)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getNameLength
      Src: /src/ndpi/src/lib/protocols/dns.c:362,1
    - Dst: get16
      Src: /src/ndpi/src/lib/protocols/dns.c:372,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:373,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:376,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:379,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:380,1
    - Dst: ndpi_check_dns_type
      Src: /src/ndpi/src/lib/protocols/dns.c:384,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dns.c:390,1
    - Dst: get16
      Src: /src/ndpi/src/lib/protocols/dns.c:393,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:397,1
    - Dst: ndpi_grab_dns_name
      Src: /src/ndpi/src/lib/protocols/dns.c:410,1
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/dns.c:427,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/dns.c:429,1
    - Dst: ndpi_cache_address
      Src: /src/ndpi/src/lib/protocols/dns.c:434,1
    - Dst: ndpi_cache_hostname_ip
      Src: /src/ndpi/src/lib/protocols/dns.c:441,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/dns.c:457,1
    - Dst: fpc_dns_cache_key_from_packet
      Src: /src/ndpi/src/lib/protocols/dns.c:458,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/dns.c:460,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dns.c:462,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 5
    argNames:
    - ndpi_struct
    - flow
    - dns_header
    - payload_offset
    - proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - struct ndpi_dns_packet_header*
    - u_int
    - ndpi_master_app_protocol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 344
    functionDepth: 5
    functionLinenumber: 344
    functionLinenumberEnd: 483
    functionName: process_answers
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - ndpi_grab_dns_name
    - get16
    - ndpi_set_risk
    - ndpi_get_current_time
    - ntohl
    - NDPI_LOG_DBG
    - ndpi_cache_address
    - fpc_dns_cache_key_from_packet
    - ndpi_lru_add_to_cache
    - printf
    - memset
    - ndpi_check_dns_type
    - getNameLength
    - ndpi_cache_hostname_ip
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int process_answers(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                          struct ndpi_flow_struct *flow,\n                           struct
      ndpi_dns_packet_header *dns_header,\n                           u_int payload_offset,\n
      \                          ndpi_master_app_protocol *proto)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: getNameLength
      Src: /src/ndpi/src/lib/protocols/dns.c:518,1
    - Dst: get16
      Src: /src/ndpi/src/lib/protocols/dns.c:530,1
    - Dst: get16
      Src: /src/ndpi/src/lib/protocols/dns.c:532,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:536,1
    - Dst: get16
      Src: /src/ndpi/src/lib/protocols/dns.c:542,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:559,1
    - Dst: getNameLength
      Src: /src/ndpi/src/lib/protocols/dns.c:566,1
    - Dst: get16
      Src: /src/ndpi/src/lib/protocols/dns.c:575,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:578,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:583,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:586,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:590,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:592,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:596,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:597,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:605,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/dns.c:607,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:609,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/dns.c:611,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/dns.c:612,1
    - Dst: getNameLength
      Src: /src/ndpi/src/lib/protocols/dns.c:621,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - dns_header
    - payload_offset
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - struct ndpi_dns_packet_header*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 629
    functionName: process_additionals
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - get16
    - ntohs
    - ndpi_min
    - memcmp
    - printf
    - getNameLength
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int process_additionals(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow,\n                               struct
      ndpi_dns_packet_header *dns_header,\n                               u_int payload_offset)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/dns.c:640,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:643,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:644,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:645,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:646,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:647,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:648,1
    - Dst: checkDNSSubprotocol
      Src: /src/ndpi/src/lib/protocols/dns.c:667,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:667,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:667,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 26
    argCount: 5
    argNames:
    - ndpi_struct
    - flow
    - dns_header
    - payload_offset
    - is_query
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - struct ndpi_dns_packet_header*
    - u_int
    - u_int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 683
    functionName: is_valid_dns
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - checkDNSSubprotocol
    - ntohs
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int is_valid_dns(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\tstruct
      ndpi_flow_struct *flow,\n\t\t\tstruct ndpi_dns_packet_header *dns_header,\n\t\t\tu_int
      payload_offset, u_int8_t *is_query)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 692
    functionName: keep_extra_dissection
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int keep_extra_dissection(struct ndpi_flow_struct *flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/dns.c:700,1
    - Dst: search_dns
      Src: /src/ndpi/src/lib/protocols/dns.c:703,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/dns.c:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 706
    functionName: search_dns_again
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - keep_extra_dissection
    - search_dns
    linkageType: ''
    returnType: int
    signature: int search_dns_again(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checkDNSSubprotocol
      Src: /src/ndpi/src/lib/protocols/dns.c:720,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:720,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:720,1
    - Dst: ndpi_grab_dns_name
      Src: /src/ndpi/src/lib/protocols/dns.c:732,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:735,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/dns.c:738,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:741,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/dns.c:744,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/dns.c:745,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/dns.c:756,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/dns.c:757,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/dns.c:758,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/dns.c:759,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/dns.c:760,1
    - Dst: ends_with
      Src: /src/ndpi/src/lib/protocols/dns.c:761,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:765,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/dns.c:770,1
    - Dst: ndpi_match_host_subprotocol
      Src: /src/ndpi/src/lib/protocols/dns.c:774,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/dns.c:776,1
    - Dst: ndpi_check_dga_name
      Src: /src/ndpi/src/lib/protocols/dns.c:783,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - dns_header
    - proto
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - struct ndpi_dns_packet_header*
    - ndpi_master_app_protocol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 710
    functionDepth: 7
    functionLinenumber: 710
    functionLinenumberEnd: 787
    functionName: process_hostname
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - ndpi_grab_dns_name
    - ndpi_set_risk
    - ends_with
    - printf
    - strlen
    - strchr
    - ndpi_hostname_sni_set
    - ndpi_check_dga_name
    - strstr
    - checkDNSSubprotocol
    - ndpi_match_host_subprotocol
    - ntohs
    linkageType: ''
    returnType: int
    signature: "int process_hostname(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow,\n                            struct
      ndpi_dns_packet_header *dns_header,\n                            ndpi_master_app_protocol
      *proto)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_dns
      Src: /src/ndpi/src/lib/protocols/dns.c:804,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:806,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dns.c:809,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:811,1
    - Dst: process_hostname
      Src: /src/ndpi/src/lib/protocols/dns.c:816,1
    - Dst: process_queries
      Src: /src/ndpi/src/lib/protocols/dns.c:824,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:827,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/dns.c:837,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/dns.c:840,1
    - Dst: dns_error_code2string
      Src: /src/ndpi/src/lib/protocols/dns.c:841,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:842,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:844,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:847,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:848,1
    - Dst: process_queries
      Src: /src/ndpi/src/lib/protocols/dns.c:852,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:855,1
    - Dst: process_answers
      Src: /src/ndpi/src/lib/protocols/dns.c:859,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:862,1
    - Dst: process_additionals
      Src: /src/ndpi/src/lib/protocols/dns.c:866,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/dns.c:869,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/dns.c:879,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/dns.c:882,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:883,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:885,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/dns.c:889,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dns.c:896,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dns.c:898,1
    - Dst: keep_extra_dissection
      Src: /src/ndpi/src/lib/protocols/dns.c:909,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dns.c:910,1
    - Dst: iph_is_valid_and_not_fragmented
      Src: /src/ndpi/src/lib/protocols/dns.c:927,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:928,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/dns.c:935,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 93
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 789
    functionDepth: 8
    functionLinenumber: 789
    functionLinenumberEnd: 939
    functionName: search_dns
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 1
    functionsReached:
    - ndpi_set_detected_protocol
    - process_additionals
    - iph_is_valid_and_not_fragmented
    - ndpi_set_risk
    - is_flowrisk_info_enabled
    - dns_error_code2string
    - keep_extra_dissection
    - NDPI_LOG_DBG
    - process_hostname
    - snprintf
    - process_queries
    - NDPI_EXCLUDE_DISSECTOR
    - is_valid_dns
    - printf
    - ndpi_isset_risk
    - NDPI_LOG_DBG2
    - process_answers
    linkageType: ''
    returnType: void
    signature: void search_dns(struct ndpi_detection_module_struct *ndpi_struct, struct
      ndpi_flow_struct *flow)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dns.c:948,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:951,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:952,1
    - Dst: isMDNSMulticastAddress
      Src: /src/ndpi/src/lib/protocols/dns.c:956,1
    - Dst: isLLMNRMulticastAddress
      Src: /src/ndpi/src/lib/protocols/dns.c:957,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:960,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/dns.c:960,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:961,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/dns.c:961,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dns.c:963,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:968,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/dns.c:969,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dns.c:977,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dns.c:987,1
    - Dst: search_dns
      Src: /src/ndpi/src/lib/protocols/dns.c:991,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 943
    functionDepth: 9
    functionLinenumber: 943
    functionLinenumberEnd: 992
    functionName: ndpi_search_dns
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - search_dns
    - NDPI_LOG_DBG
    - isLLMNRMulticastAddress
    - NDPI_EXCLUDE_DISSECTOR
    - isMDNSMulticastAddress
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_dns(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/dns.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1001
    functionName: init_dns_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/dns.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_dns_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/websocket.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: set_websocket_detected
    functionSourceFile: /src/ndpi/src/lib/protocols/websocket.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void set_websocket_detected(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/websocket.c:66,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/websocket.c:77,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/websocket.c:78,1
    - Dst: set_websocket_detected
      Src: /src/ndpi/src/lib/protocols/websocket.c:88,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/websocket.c:91,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/websocket.c:92,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 95
    functionName: ndpi_check_websocket
    functionSourceFile: /src/ndpi/src/lib/protocols/websocket.c
    functionUses: 0
    functionsReached:
    - set_websocket_detected
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_check_websocket(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/websocket.c:102,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/websocket.c:106,1
    - Dst: ndpi_check_websocket
      Src: /src/ndpi/src/lib/protocols/websocket.c:107,1
    - Dst: NDPI_PARSE_PACKET_LINE_INFO
      Src: /src/ndpi/src/lib/protocols/websocket.c:117,1
    - Dst: LINE_STARTS
      Src: /src/ndpi/src/lib/protocols/websocket.c:119,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/websocket.c:120,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/websocket.c:123,1
    - Dst: LINE_STARTS
      Src: /src/ndpi/src/lib/protocols/websocket.c:126,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/websocket.c:128,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/src/lib/protocols/websocket.c:130,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/websocket.c:133,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/websocket.c:141,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 97
    functionDepth: 7
    functionLinenumber: 97
    functionLinenumberEnd: 147
    functionName: ndpi_search_websocket
    functionSourceFile: /src/ndpi/src/lib/protocols/websocket.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_PARSE_PACKET_LINE_INFO
    - ndpi_check_websocket
    - ndpi_set_risk
    - NDPI_LOG_DBG
    - ndpi_strncasestr
    - LINE_STARTS
    - NDPI_EXCLUDE_DISSECTOR
    - LINE_ENDS
    linkageType: ''
    returnType: void
    signature: void ndpi_search_websocket(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/websocket.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: init_websocket_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/websocket.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_websocket_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/blizzard.c:37,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/blizzard.c:41,1
    - Dst: current_pkt_from_server_to_client
      Src: /src/ndpi/src/lib/protocols/blizzard.c:43,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/blizzard.c:46,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/blizzard.c:47,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/blizzard.c:56,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/blizzard.c:57,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/blizzard.c:58,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/blizzard.c:63,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/blizzard.c:64,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/blizzard.c:64,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/blizzard.c:65,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/blizzard.c:68,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/blizzard.c:73,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/blizzard.c:74,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/blizzard.c:74,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/blizzard.c:75,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/blizzard.c:76,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/blizzard.c:76,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/blizzard.c:77,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/blizzard.c:78,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/blizzard.c:84,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 85
    functionName: search_blizzard_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/blizzard.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - current_pkt_from_server_to_client
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - le32toh
    - htons
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void search_blizzard_tcp(struct ndpi_detection_module_struct* ndpi_struct,
      struct ndpi_flow_struct* flow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/blizzard.c:91,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/blizzard.c:98,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/blizzard.c:102,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/blizzard.c:103,1
    - Dst: ndpi_match_strprefix
      Src: /src/ndpi/src/lib/protocols/blizzard.c:108,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/blizzard.c:109,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/blizzard.c:110,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/blizzard.c:119,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/blizzard.c:120,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/blizzard.c:127,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/blizzard.c:128,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/blizzard.c:134,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 135
    functionName: search_blizzard_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/blizzard.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_match_strprefix
    - le32toh
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void search_blizzard_udp(struct ndpi_detection_module_struct* ndpi_struct,
      struct ndpi_flow_struct* flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: search_blizzard_tcp
      Src: /src/ndpi/src/lib/protocols/blizzard.c:140,1
    - Dst: search_blizzard_udp
      Src: /src/ndpi/src/lib/protocols/blizzard.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 6
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: ndpi_search_blizzard
    functionSourceFile: /src/ndpi/src/lib/protocols/blizzard.c
    functionUses: 0
    functionsReached:
    - search_blizzard_udp
    - search_blizzard_tcp
    linkageType: ''
    returnType: void
    signature: void ndpi_search_blizzard(struct ndpi_detection_module_struct* ndpi_struct,
      struct ndpi_flow_struct* flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/blizzard.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: init_blizzard_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/blizzard.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_blizzard_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/hpvirtgrp.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ndpi_int_hpvirtgrp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/hpvirtgrp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_hpvirtgrp_add_connection(\n                struct ndpi_detection_module_struct
      *ndpi_struct,\n                struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/hpvirtgrp.c:41,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/hpvirtgrp.c:46,1
    - Dst: ndpi_int_hpvirtgrp_add_connection
      Src: /src/ndpi/src/lib/protocols/hpvirtgrp.c:49,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/hpvirtgrp.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: ndpi_search_hpvirtgrp
    functionSourceFile: /src/ndpi/src/lib/protocols/hpvirtgrp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ntohs
    - ndpi_int_hpvirtgrp_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_hpvirtgrp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/hpvirtgrp.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: init_hpvirtgrp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/hpvirtgrp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_hpvirtgrp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/git.c:36,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/git.c:39,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/git.c:40,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/git.c:50,1
    - Dst: sscanf
      Src: /src/ndpi/src/lib/protocols/git.c:51,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/git.c:64,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/git.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/git.c:71,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 72
    functionName: ndpi_search_git
    functionSourceFile: /src/ndpi/src/lib/protocols/git.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    - sscanf
    - ntohs
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_git(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/git.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: init_git_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/git.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_git_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flow
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: SAFE_INC_IMAP_STAGE
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_imap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_INC_IMAP_STAGE(flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - protocol
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ndpi_int_mail_imap_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_imap.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_mail_imap_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow,\n\t\t\t\t\t      u_int16_t protocol)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:57,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:60,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:63,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:63,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:65,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:66,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:111,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:112,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:114,1
    - Dst: ndpi_int_mail_imap_add_connection
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:115,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:117,1
    - Dst: switch_extra_dissection_to_tls
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:120,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:125,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:126,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:128,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:129,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:136,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:137,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:142,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:143,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:149,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:153,1
    - Dst: ndpi_strlcpy
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:155,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:157,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:161,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:165,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:167,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:169,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:171,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:177,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:179,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:180,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:182,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:183,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:185,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:186,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:188,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:189,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:194,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:195,1
    - Dst: ndpi_int_mail_imap_add_connection
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:198,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:203,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:204,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:209,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:210,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:212,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:213,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:215,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:216,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:218,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:219,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:224,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:225,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:227,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:228,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:230,1
    - Dst: SAFE_INC_IMAP_STAGE
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:231,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:245,1
    - Dst: ndpi_int_mail_imap_add_connection
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:246,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:255,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:265,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:265,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:267,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:272,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 185
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 48
    functionDepth: 6
    functionLinenumber: 48
    functionLinenumberEnd: 273
    functionName: ndpi_search_mail_imap_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_imap.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - NDPI_LOG_INFO
    - ndpi_int_mail_imap_add_connection
    - get_u_int16_t
    - ndpi_min
    - strtok_r
    - NDPI_LOG_DBG
    - switch_extra_dissection_to_tls
    - ndpi_snprintf
    - snprintf
    - SAFE_INC_IMAP_STAGE
    - ndpi_strlcpy
    - NDPI_EXCLUDE_DISSECTOR
    - printf
    - NDPI_LOG_DBG2
    - ntohs
    - ndpi_memcasecmp
    linkageType: ''
    returnType: void
    signature: void ndpi_search_mail_imap_tcp(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mail_imap.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: init_mail_imap_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mail_imap.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mail_imap_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: ndpi_int_toca_boca_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/tocaboca.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_toca_boca_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                              struct ndpi_flow_struct
      * const flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:42,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:47,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:48,1
    - Dst: ndpi_int_toca_boca_add_connection
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:50,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:56,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:56,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:57,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:57,1
    - Dst: ndpi_int_toca_boca_add_connection
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:59,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:64,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:64,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:65,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:65,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:66,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:66,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:67,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:67,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:68,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:68,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:69,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:69,1
    - Dst: ndpi_int_toca_boca_add_connection
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:71,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 77
    functionName: ndpi_search_toca_boca
    functionSourceFile: /src/ndpi/src/lib/protocols/tocaboca.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - ndpi_int_toca_boca_add_connection
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_toca_boca(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/tocaboca.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: init_toca_boca_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/tocaboca.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_toca_boca_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:37,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:41,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:41,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:42,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:42,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:43,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:43,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:45,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:46,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:58,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:58,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:59,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:59,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:60,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:60,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:61,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:61,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:63,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:64,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:69,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 70
    functionName: ndpi_search_pathofexile
    functionSourceFile: /src/ndpi/src/lib/protocols/path_of_exile.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_pathofexile(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/path_of_exile.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: init_pathofexile_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/path_of_exile.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_pathofexile_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/collectd.c:64,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/collectd.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: ndpi_int_collectd_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/collectd.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_collectd_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                             struct ndpi_flow_struct
      * const flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/collectd.c:79,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/collectd.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - packet
    - block_offset
    argTypes:
    - struct ndpi_packet_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: npdi_int_collectd_block_size
    functionSourceFile: /src/ndpi/src/lib/protocols/collectd.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ntohs
    linkageType: ''
    returnType: u_int16_t
    signature: "u_int16_t npdi_int_collectd_block_size(struct ndpi_packet_struct const
      * const packet,\n                                              u_int16_t const
      block_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - block_type
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: ndpi_int_collectd_check_type
    functionSourceFile: /src/ndpi/src/lib/protocols/collectd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_int_collectd_check_type(u_int16_t block_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/collectd.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - flow
    - packet
    - block_length
    argTypes:
    - struct ndpi_flow_struct*
    - struct ndpi_packet_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: ndpi_int_collectd_dissect_hostname
    functionSourceFile: /src/ndpi/src/lib/protocols/collectd.c
    functionUses: 0
    functionsReached:
    - ndpi_hostname_sni_set
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_collectd_dissect_hostname(struct ndpi_flow_struct *
      const flow,\n                                               struct ndpi_packet_struct
      const * const packet,\n                                               u_int16_t
      block_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/collectd.c:114,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/collectd.c:114,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/collectd.c:123,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/collectd.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - flow
    - packet
    argTypes:
    - struct ndpi_flow_struct*
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: ndpi_int_collectd_dissect_username
    functionSourceFile: /src/ndpi/src/lib/protocols/collectd.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ntohs
    - memcpy
    - ndpi_min
    linkageType: ''
    returnType: int
    signature: "int ndpi_int_collectd_dissect_username(struct ndpi_flow_struct * const
      flow,\n                                              struct ndpi_packet_struct
      const * const packet)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/collectd.c:138,1
    - Dst: npdi_int_collectd_block_size
      Src: /src/ndpi/src/lib/protocols/collectd.c:143,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/collectd.c:149,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/collectd.c:149,1
    - Dst: ndpi_int_collectd_check_type
      Src: /src/ndpi/src/lib/protocols/collectd.c:150,1
    - Dst: ndpi_int_collectd_dissect_username
      Src: /src/ndpi/src/lib/protocols/collectd.c:170,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/collectd.c:172,1
    - Dst: ndpi_int_collectd_add_connection
      Src: /src/ndpi/src/lib/protocols/collectd.c:174,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/collectd.c:183,1
    - Dst: ndpi_int_collectd_dissect_hostname
      Src: /src/ndpi/src/lib/protocols/collectd.c:188,1
    - Dst: ndpi_int_collectd_add_connection
      Src: /src/ndpi/src/lib/protocols/collectd.c:190,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 191
    functionName: ndpi_search_collectd
    functionSourceFile: /src/ndpi/src/lib/protocols/collectd.c
    functionUses: 0
    functionsReached:
    - npdi_int_collectd_block_size
    - ndpi_int_collectd_dissect_hostname
    - get_u_int16_t
    - NDPI_LOG_DBG
    - ndpi_int_collectd_check_type
    - ndpi_int_collectd_dissect_username
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_collectd_add_connection
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_collectd(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/collectd.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: init_collectd_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/collectd.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_collectd_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: is_printable_char
    functionSourceFile: /src/ndpi/src/lib/protocols/netbios.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_printable_char(unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: is_stop_char
    functionSourceFile: /src/ndpi/src/lib/protocols/netbios.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_stop_char(u_char c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_stop_char
      Src: /src/ndpi/src/lib/protocols/netbios.c:67,1
    - Dst: is_stop_char
      Src: /src/ndpi/src/lib/protocols/netbios.c:67,1
    - Dst: is_printable_char
      Src: /src/ndpi/src/lib/protocols/netbios.c:75,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - in
    - in_len
    - out
    - out_len
    argTypes:
    - u_char*
    - u_int
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 91
    functionName: ndpi_netbios_name_interpret
    functionSourceFile: /src/ndpi/src/lib/protocols/netbios.c
    functionUses: 0
    functionsReached:
    - is_stop_char
    - is_printable_char
    linkageType: ''
    returnType: int
    signature: int ndpi_netbios_name_interpret(u_char *in, u_int in_len, u_char *out,
      u_int out_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_netbios_name_interpret
      Src: /src/ndpi/src/lib/protocols/netbios.c:104,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/netbios.c:106,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/netbios.c:106,1
    - Dst: ndpi_check_dga_name
      Src: /src/ndpi/src/lib/protocols/netbios.c:108,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/netbios.c:112,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/netbios.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - sub_protocol
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: ndpi_int_netbios_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/netbios.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - strlen
    - ndpi_netbios_name_interpret
    - ndpi_hostname_sni_set
    - ndpi_check_dga_name
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_netbios_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t    struct ndpi_flow_struct *flow,\n\t\t\t\t\t    u_int16_t
      sub_protocol)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/netbios.c:124,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/netbios.c:127,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/netbios.c:133,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/netbios.c:134,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/netbios.c:134,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/netbios.c:135,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/netbios.c:135,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/netbios.c:136,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/netbios.c:136,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/netbios.c:138,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:145,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:147,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:156,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:158,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:167,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:169,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:178,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:180,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:189,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:192,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:201,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:204,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:213,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:216,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:225,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:228,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:237,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:240,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:245,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:247,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:247,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:248,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:249,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:249,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:254,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:259,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:264,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:264,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:265,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:265,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:267,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:269,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:275,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:278,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:279,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:279,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:280,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:280,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:285,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:290,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:295,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:295,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:296,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:296,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:298,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:300,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:304,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:305,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:306,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:306,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:311,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:316,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:321,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:321,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:322,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:322,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:324,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:326,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:330,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:331,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:332,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:332,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:332,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:332,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:337,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:342,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:347,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:347,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:348,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/netbios.c:348,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:350,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:352,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/netbios.c:366,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:366,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:369,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/netbios.c:373,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:373,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:375,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/netbios.c:377,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:380,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:382,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/netbios.c:391,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:395,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/netbios.c:399,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/netbios.c:401,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netbios.c:401,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netbios.c:402,1
    - Dst: ndpi_int_netbios_add_connection
      Src: /src/ndpi/src/lib/protocols/netbios.c:405,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/netbios.c:413,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 133
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 414
    functionName: ndpi_search_netbios
    functionSourceFile: /src/ndpi/src/lib/protocols/netbios.c
    functionUses: 0
    functionsReached:
    - ndpi_int_netbios_add_connection
    - NDPI_LOG_INFO
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    - ntohs
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_netbios(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\tstruct
      ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/netbios.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: init_netbios_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/netbios.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_netbios_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/xbox.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: ndpi_int_xbox_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/xbox.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_xbox_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xbox.c:47,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xbox.c:48,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/xbox.c:50,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/xbox.c:53,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/xbox.c:54,1
    - Dst: ndpi_int_xbox_add_connection
      Src: /src/ndpi/src/lib/protocols/xbox.c:62,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/xbox.c:63,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/xbox.c:70,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/xbox.c:70,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/xbox.c:72,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/xbox.c:72,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/xbox.c:73,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/xbox.c:73,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/xbox.c:74,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/xbox.c:74,1
    - Dst: ndpi_int_xbox_add_connection
      Src: /src/ndpi/src/lib/protocols/xbox.c:76,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/xbox.c:77,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/xbox.c:80,1
    - Dst: ndpi_int_xbox_add_connection
      Src: /src/ndpi/src/lib/protocols/xbox.c:89,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/xbox.c:90,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/xbox.c:97,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 27
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 98
    functionName: ndpi_search_xbox
    functionSourceFile: /src/ndpi/src/lib/protocols/xbox.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - memcmp
    - ndpi_int_xbox_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_xbox(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/xbox.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: init_xbox_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/xbox.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_xbox_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/syncthing.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/syncthing.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: ndpi_int_syncthing_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/syncthing.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_syncthing_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                              struct ndpi_flow_struct
      * const flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/syncthing.c:44,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/syncthing.c:48,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/syncthing.c:52,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/syncthing.c:52,1
    - Dst: ndpi_int_syncthing_add_connection
      Src: /src/ndpi/src/lib/protocols/syncthing.c:54,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/syncthing.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 61
    functionName: ndpi_search_syncthing
    functionSourceFile: /src/ndpi/src/lib/protocols/syncthing.c
    functionUses: 0
    functionsReached:
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_syncthing_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_syncthing(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/syncthing.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: init_syncthing_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/syncthing.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_syncthing_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/radmin.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/radmin.c:36,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/radmin.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ndpi_int_radmin_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/radmin.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_set_risk
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_radmin_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                           struct ndpi_flow_struct
      *flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/radmin.c:47,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/radmin.c:49,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/radmin.c:52,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/radmin.c:52,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/radmin.c:54,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/radmin.c:54,1
    - Dst: current_pkt_from_server_to_client
      Src: /src/ndpi/src/lib/protocols/radmin.c:61,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/radmin.c:64,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/radmin.c:64,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/radmin.c:66,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/radmin.c:66,1
    - Dst: ndpi_int_radmin_add_connection
      Src: /src/ndpi/src/lib/protocols/radmin.c:69,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/radmin.c:75,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/radmin.c:75,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/radmin.c:77,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/radmin.c:77,1
    - Dst: ndpi_int_radmin_add_connection
      Src: /src/ndpi/src/lib/protocols/radmin.c:84,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/radmin.c:88,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 89
    functionName: ndpi_search_radmin
    functionSourceFile: /src/ndpi/src/lib/protocols/radmin.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - current_pkt_from_client_to_server
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - current_pkt_from_server_to_client
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_radmin_add_connection
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_radmin(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/radmin.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: init_radmin_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/radmin.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_radmin_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dropbox.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ndpi_int_dropbox_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/dropbox.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_dropbox_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t    struct ndpi_flow_struct *flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/dropbox.c:44,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/dropbox.c:49,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/dropbox.c:50,1
    - Dst: ndpi_int_dropbox_add_connection
      Src: /src/ndpi/src/lib/protocols/dropbox.c:51,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/dropbox.c:57,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/dropbox.c:58,1
    - Dst: ndpi_int_dropbox_add_connection
      Src: /src/ndpi/src/lib/protocols/dropbox.c:59,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dropbox.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: ndpi_check_dropbox
    functionSourceFile: /src/ndpi/src/lib/protocols/dropbox.c
    functionUses: 0
    functionsReached:
    - ndpi_int_dropbox_add_connection
    - NDPI_LOG_INFO
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_strnstr
    linkageType: ''
    returnType: void
    signature: void ndpi_check_dropbox(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dropbox.c:71,1
    - Dst: ndpi_check_dropbox
      Src: /src/ndpi/src/lib/protocols/dropbox.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 7
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: ndpi_search_dropbox
    functionSourceFile: /src/ndpi/src/lib/protocols/dropbox.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_check_dropbox
    linkageType: ''
    returnType: void
    signature: void ndpi_search_dropbox(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/dropbox.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: init_dropbox_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/dropbox.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_dropbox_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/gtp.c:72,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/gtp.c:73,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/gtp.c:74,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/gtp.c:79,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/gtp.c:85,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/gtp.c:86,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/gtp.c:99,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/gtp.c:100,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/gtp.c:111,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/gtp.c:112,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/gtp.c:118,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 26
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 120
    functionName: ndpi_check_gtp
    functionSourceFile: /src/ndpi/src/lib/protocols/gtp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: void ndpi_check_gtp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/gtp.c:124,1
    - Dst: ndpi_check_gtp
      Src: /src/ndpi/src/lib/protocols/gtp.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: ndpi_search_gtp
    functionSourceFile: /src/ndpi/src/lib/protocols/gtp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_check_gtp
    linkageType: ''
    returnType: void
    signature: void ndpi_search_gtp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/gtp.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: init_gtp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/gtp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_gtp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/edonkey.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/edonkey.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: ndpi_int_edonkey_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/edonkey.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: void ndpi_int_edonkey_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/edonkey.c:41,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/edonkey.c:47,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/edonkey.c:51,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/edonkey.c:51,1
    - Dst: ndpi_int_edonkey_add_connection
      Src: /src/ndpi/src/lib/protocols/edonkey.c:52,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/edonkey.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: ndpi_search_edonkey
    functionSourceFile: /src/ndpi/src/lib/protocols/edonkey.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - get_u_int32_t
    - le32toh
    - ndpi_int_edonkey_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_edonkey(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/edonkey.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: init_edonkey_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/edonkey.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_edonkey_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/msdo.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/msdo.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: ndpi_int_msdo_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/msdo.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_msdo_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                         struct ndpi_flow_struct
      * const flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/msdo.c:48,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/msdo.c:56,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/msdo.c:56,1
    - Dst: ndpi_int_msdo_add_connection
      Src: /src/ndpi/src/lib/protocols/msdo.c:58,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/msdo.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: ndpi_search_msdo
    functionSourceFile: /src/ndpi/src/lib/protocols/msdo.c
    functionUses: 0
    functionsReached:
    - ndpi_int_msdo_add_connection
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_msdo(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/msdo.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: init_msdo_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/msdo.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_msdo_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/steam_datagram_relay.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/steam_datagram_relay.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ndpi_int_valve_sdr_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/steam_datagram_relay.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_valve_sdr_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, \n                                              struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/steam_datagram_relay.c:45,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/steam_datagram_relay.c:50,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/steam_datagram_relay.c:50,1
    - Dst: ndpi_int_valve_sdr_add_connection
      Src: /src/ndpi/src/lib/protocols/steam_datagram_relay.c:52,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/steam_datagram_relay.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: ndpi_search_valve_sdr
    functionSourceFile: /src/ndpi/src/lib/protocols/steam_datagram_relay.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_valve_sdr_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_valve_sdr(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/steam_datagram_relay.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: init_valve_sdr_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/steam_datagram_relay.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_valve_sdr_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ethernet_ip.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ndpi_int_ethernet_ip_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ethernet_ip.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ethernet_ip_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t\t*ndpi_struct,
      struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ethernet_ip.c:39,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/ethernet_ip.c:42,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/ethernet_ip.c:45,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/ethernet_ip.c:48,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ethernet_ip.c:51,1
    - Dst: ndpi_int_ethernet_ip_add_connection
      Src: /src/ndpi/src/lib/protocols/ethernet_ip.c:52,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ethernet_ip.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: ndpi_search_ethernet_ip
    functionSourceFile: /src/ndpi/src/lib/protocols/ethernet_ip.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - le16toh
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    - ntohs
    - ndpi_int_ethernet_ip_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ethernet_ip(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ethernet_ip.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: init_ethernet_ip_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ethernet_ip.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ethernet_ip_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/iec60870-5-104.c:37,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/iec60870-5-104.c:64,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/iec60870-5-104.c:66,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/iec60870-5-104.c:71,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 72
    functionName: ndpi_search_iec60870_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/iec60870-5-104.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_DBG
    - NDPI_LOG_INFO
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_iec60870_tcp(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                     struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/iec60870-5-104.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: init_104_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/iec60870-5-104.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_104_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: ndpi_int_elasticsearch_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/elastic_search.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_elasticsearch_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                                  struct
      ndpi_flow_struct * const flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:48,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:52,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:56,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:58,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:62,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:62,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:65,1
    - Dst: ndpi_int_elasticsearch_add_connection
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: ndpi_search_elasticsearch
    functionSourceFile: /src/ndpi/src/lib/protocols/elastic_search.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ntohl
    - ndpi_int_elasticsearch_add_connection
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_elasticsearch(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                      struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/elastic_search.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: init_elasticsearch_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/elastic_search.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_elasticsearch_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/rdp.c:42,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/rdp.c:43,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/rdp.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: ndpi_int_rdp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/rdp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_set_risk
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_rdp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\tstruct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_tls_tcp
      Src: /src/ndpi/src/lib/protocols/rdp.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: ndpi_search_tls_over_rdp
    functionSourceFile: /src/ndpi/src/lib/protocols/rdp.c
    functionUses: 0
    functionsReached:
    - ndpi_search_tls_tcp
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_tls_over_rdp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rdp.c:72,1
    - Dst: tpkt_verify_hdr
      Src: /src/ndpi/src/lib/protocols/rdp.c:76,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/rdp.c:80,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/rdp.c:85,1
    - Dst: ndpi_int_rdp_add_connection
      Src: /src/ndpi/src/lib/protocols/rdp.c:99,1
    - Dst: ndpi_int_rdp_add_connection
      Src: /src/ndpi/src/lib/protocols/rdp.c:108,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rdp.c:113,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rdp.c:115,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rdp.c:116,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/rdp.c:126,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rdp.c:128,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/rdp.c:128,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rdp.c:129,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/rdp.c:129,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rdp.c:130,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/rdp.c:130,1
    - Dst: ndpi_int_rdp_add_connection
      Src: /src/ndpi/src/lib/protocols/rdp.c:132,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/rdp.c:136,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/rdp.c:139,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rdp.c:140,1
    - Dst: ndpi_int_rdp_add_connection
      Src: /src/ndpi/src/lib/protocols/rdp.c:145,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/rdp.c:153,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rdp.c:155,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/rdp.c:155,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rdp.c:156,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/rdp.c:156,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/rdp.c:157,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/rdp.c:157,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/rdp.c:159,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/rdp.c:162,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/rdp.c:165,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rdp.c:166,1
    - Dst: ndpi_int_rdp_add_connection
      Src: /src/ndpi/src/lib/protocols/rdp.c:171,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rdp.c:178,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 66
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 180
    functionName: ndpi_search_rdp
    functionSourceFile: /src/ndpi/src/lib/protocols/rdp.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - current_pkt_from_client_to_server
    - ndpi_int_rdp_add_connection
    - NDPI_LOG_DBG
    - get_u_int32_t
    - tpkt_verify_hdr
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_rdp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/rdp.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: init_rdp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/rdp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_rdp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/mudfish.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mudfish.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ndpi_int_mudfish_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/mudfish.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_mudfish_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                            struct ndpi_flow_struct
      * const flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mudfish.c:43,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/mudfish.c:47,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/mudfish.c:48,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/mudfish.c:49,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/mudfish.c:50,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mudfish.c:52,1
    - Dst: ndpi_int_mudfish_add_connection
      Src: /src/ndpi/src/lib/protocols/mudfish.c:61,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mudfish.c:65,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/mudfish.c:71,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/mudfish.c:71,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/mudfish.c:72,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/mudfish.c:72,1
    - Dst: ndpi_int_mudfish_add_connection
      Src: /src/ndpi/src/lib/protocols/mudfish.c:75,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/mudfish.c:81,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/mudfish.c:81,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/mudfish.c:82,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/mudfish.c:82,1
    - Dst: ndpi_int_mudfish_add_connection
      Src: /src/ndpi/src/lib/protocols/mudfish.c:84,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mudfish.c:88,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 89
    functionName: ndpi_search_mudfish
    functionSourceFile: /src/ndpi/src/lib/protocols/mudfish.c
    functionUses: 0
    functionsReached:
    - ndpi_int_mudfish_add_connection
    - get_u_int16_t
    - NDPI_LOG_DBG
    - get_u_int32_t
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - htonl
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_mudfish(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mudfish.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: init_mudfish_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mudfish.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mudfish_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/flute.c:39,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/flute.c:47,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/flute.c:51,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/flute.c:51,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/flute.c:52,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/flute.c:52,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/flute.c:54,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/flute.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/flute.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 63
    functionName: ndpi_search_flute
    functionSourceFile: /src/ndpi/src/lib/protocols/flute.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_flute(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                             struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/flute.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: init_flute_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/flute.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_flute_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: ndpi_int_opc_ua_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/opc-ua.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_opc_ua_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                           struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:48,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:56,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:57,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:58,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:59,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:60,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:61,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:62,1
    - Dst: ndpi_int_opc_ua_add_connection
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:64,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: ndpi_search_opc_ua
    functionSourceFile: /src/ndpi/src/lib/protocols/opc-ua.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_int_opc_ua_add_connection
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_opc_ua(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/opc-ua.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: init_opc_ua_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/opc-ua.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_opc_ua_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tplink_shp.c:37,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tplink_shp.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: ndpi_int_tplink_shp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/tplink_shp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_tplink_shp_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                                  struct
      ndpi_flow_struct * const flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/tplink_shp.c:52,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tplink_shp.c:60,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tplink_shp.c:75,1
    - Dst: ndpi_int_tplink_shp_add_connection
      Src: /src/ndpi/src/lib/protocols/tplink_shp.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 6
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: ndpi_search_tplink_shp
    functionSourceFile: /src/ndpi/src/lib/protocols/tplink_shp.c
    functionUses: 0
    functionsReached:
    - ndpi_int_tplink_shp_add_connection
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_tplink_shp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/tplink_shp.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: init_tplink_shp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/tplink_shp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_tplink_shp_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/netease_games.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/netease_games.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ndpi_int_netease_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/netease_games.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_netease_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, \n                                            struct ndpi_flow_struct
      *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/netease_games.c:49,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/netease_games.c:51,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/netease_games.c:51,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/netease_games.c:52,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/netease_games.c:52,1
    - Dst: ndpi_int_netease_add_connection
      Src: /src/ndpi/src/lib/protocols/netease_games.c:54,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/netease_games.c:60,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/netease_games.c:60,1
    - Dst: ndpi_int_netease_add_connection
      Src: /src/ndpi/src/lib/protocols/netease_games.c:62,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/netease_games.c:68,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/netease_games.c:68,1
    - Dst: ndpi_int_netease_add_connection
      Src: /src/ndpi/src/lib/protocols/netease_games.c:70,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/netease_games.c:76,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 77
    functionName: ndpi_search_netease
    functionSourceFile: /src/ndpi/src/lib/protocols/netease_games.c
    functionUses: 0
    functionsReached:
    - ndpi_int_netease_add_connection
    - get_u_int16_t
    - current_pkt_from_client_to_server
    - ntohl
    - get_u_int32_t
    - le32toh
    - le16toh
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_netease(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/netease_games.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: init_netease_games_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/netease_games.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_netease_games_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ndpi_int_tencent_games_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/tencent_games.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_tencent_games_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, \n                                                  struct ndpi_flow_struct
      *flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:45,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:48,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:48,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:49,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:49,1
    - Dst: ndpi_int_tencent_games_add_connection
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:51,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:55,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:55,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:56,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:56,1
    - Dst: ndpi_int_tencent_games_add_connection
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:58,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:62,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:62,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:63,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:63,1
    - Dst: ndpi_int_tencent_games_add_connection
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:65,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:69,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:70,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:70,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:71,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:71,1
    - Dst: ndpi_int_tencent_games_add_connection
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:73,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:77,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:77,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:78,1
    - Dst: ndpi_int_tencent_games_add_connection
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:80,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:85,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 86
    functionName: ndpi_search_tencent_games
    functionSourceFile: /src/ndpi/src/lib/protocols/tencent_games.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_tencent_games_add_connection
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_tencent_games(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                      struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/tencent_games.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: init_tencent_games_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/tencent_games.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_tencent_games_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/crossfire.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/crossfire.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: ndpi_int_crossfire_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/crossfire.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_crossfire_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, \n                                              struct ndpi_flow_struct
      *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/crossfire.c:43,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/crossfire.c:47,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/crossfire.c:47,1
    - Dst: ndpi_int_crossfire_add_connection
      Src: /src/ndpi/src/lib/protocols/crossfire.c:49,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/crossfire.c:58,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/crossfire.c:58,1
    - Dst: ndpi_int_crossfire_add_connection
      Src: /src/ndpi/src/lib/protocols/crossfire.c:60,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/crossfire.c:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: ndpi_search_crossfire_tcp_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/crossfire.c
    functionUses: 0
    functionsReached:
    - ndpi_int_crossfire_add_connection
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_crossfire_tcp_udp(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/crossfire.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: init_crossfire_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/crossfire.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_crossfire_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: can_hdr
    functionSourceFile: /src/ndpi/src/lib/protocols/can.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON can_hdr
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/can.c:41,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/can.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: ndpi_int_can_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/can.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_can_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                        struct ndpi_flow_struct
      *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/can.c:53,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/can.c:57,1
    - Dst: ndpi_ntohll
      Src: /src/ndpi/src/lib/protocols/can.c:62,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/can.c:63,1
    - Dst: ndpi_int_can_add_connection
      Src: /src/ndpi/src/lib/protocols/can.c:67,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/can.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 48
    functionDepth: 6
    functionLinenumber: 48
    functionLinenumberEnd: 72
    functionName: ndpi_search_can
    functionSourceFile: /src/ndpi/src/lib/protocols/can.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - ndpi_int_can_add_connection
    - NDPI_LOG_DBG
    - ndpi_ntohll
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_can(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/can.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: init_can_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/can.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_can_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/usenet.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ndpi_int_usenet_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/usenet.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_usenet_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \  *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/usenet.c:46,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/usenet.c:48,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/usenet.c:56,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/usenet.c:57,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/usenet.c:59,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/usenet.c:62,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/usenet.c:74,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/usenet.c:75,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/usenet.c:78,1
    - Dst: ndpi_int_usenet_add_connection
      Src: /src/ndpi/src/lib/protocols/usenet.c:79,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/usenet.c:81,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/usenet.c:82,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/usenet.c:85,1
    - Dst: ndpi_int_usenet_add_connection
      Src: /src/ndpi/src/lib/protocols/usenet.c:86,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/usenet.c:88,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/usenet.c:89,1
    - Dst: ndpi_int_usenet_add_connection
      Src: /src/ndpi/src/lib/protocols/usenet.c:90,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/usenet.c:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 96
    functionName: ndpi_search_usenet_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/usenet.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_int_usenet_add_connection
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_usenet_tcp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/usenet.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: init_usenet_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/usenet.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_usenet_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: amqp_header
    functionSourceFile: /src/ndpi/src/lib/protocols/amqp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON amqp_header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/amqp.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ndpi_int_amqp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/amqp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_amqp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/amqp.c:45,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/amqp.c:51,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/amqp.c:55,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/amqp.c:59,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/amqp.c:62,1
    - Dst: ndpi_int_amqp_add_connection
      Src: /src/ndpi/src/lib/protocols/amqp.c:63,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/amqp.c:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 73
    functionName: ndpi_search_amqp
    functionSourceFile: /src/ndpi/src/lib/protocols/amqp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_int_amqp_add_connection
    - htonl
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_amqp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/amqp.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: init_amqp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/amqp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_amqp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/activision.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/activision.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: ndpi_int_activision_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/activision.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_activision_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                               struct
      ndpi_flow_struct * const flow)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/activision.c:44,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/activision.c:48,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/activision.c:56,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/activision.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/activision.c:58,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/activision.c:62,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/activision.c:62,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/activision.c:64,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/activision.c:71,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/activision.c:75,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/activision.c:75,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/activision.c:76,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/activision.c:76,1
    - Dst: ndpi_int_activision_add_connection
      Src: /src/ndpi/src/lib/protocols/activision.c:78,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/activision.c:84,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/activision.c:90,1
    - Dst: ndpi_int_activision_add_connection
      Src: /src/ndpi/src/lib/protocols/activision.c:97,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 99
    functionName: ndpi_search_activision
    functionSourceFile: /src/ndpi/src/lib/protocols/activision.c
    functionUses: 0
    functionsReached:
    - ndpi_int_activision_add_connection
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_activision(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/activision.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: init_activision_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/activision.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_activision_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: ndpi_int_cloudflare_warp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/cloudflare_warp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_cloudflare_warp_add_connection(struct ndpi_detection_module_struct
      * ndpi_struct,\n                                                    struct ndpi_flow_struct
      * flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:40,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:63,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:63,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:64,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:64,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:65,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:65,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:66,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:66,1
    - Dst: ndpi_int_cloudflare_warp_add_connection
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:67,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:73,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:73,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:74,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:74,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:75,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:75,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:76,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:76,1
    - Dst: ndpi_int_cloudflare_warp_add_connection
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:77,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:82,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 13
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: ndpi_search_cloudflare_warp
    functionSourceFile: /src/ndpi/src/lib/protocols/cloudflare_warp.c
    functionUses: 0
    functionsReached:
    - ndpi_int_cloudflare_warp_add_connection
    - NDPI_LOG_DBG
    - ntohs
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_cloudflare_warp(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                        struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/cloudflare_warp.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: init_cloudflare_warp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/cloudflare_warp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_cloudflare_warp_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/haproxy.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ndpi_int_haproxy_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/haproxy.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void ndpi_int_haproxy_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/haproxy.c:38,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/haproxy.c:40,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/haproxy.c:42,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/haproxy.c:46,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/haproxy.c:46,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/haproxy.c:48,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/haproxy.c:53,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/haproxy.c:56,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/haproxy.c:62,1
    - Dst: ndpi_int_haproxy_add_connection
      Src: /src/ndpi/src/lib/protocols/haproxy.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 6
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: ndpi_search_haproxy
    functionSourceFile: /src/ndpi/src/lib/protocols/haproxy.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - ndpi_int_haproxy_add_connection
    - strncmp
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_strnstr
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_haproxy(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/haproxy.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: init_haproxy_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/haproxy.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_haproxy_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/irc.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - confidence
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - ndpi_confidence_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: ndpi_int_irc_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/irc.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void ndpi_int_irc_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow, ndpi_confidence_t confidence)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_memmem
      Src: /src/ndpi/src/lib/protocols/irc.c:42,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/src/lib/protocols/irc.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: ndpi_check_for_NOTICE_or_PRIVMSG
    functionSourceFile: /src/ndpi/src/lib/protocols/irc.c
    functionUses: 0
    functionsReached:
    - ndpi_memmem
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_check_for_NOTICE_or_PRIVMSG(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:60,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:61,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:62,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/irc.c:63,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: ndpi_check_for_Nickname
    functionSourceFile: /src/ndpi/src/lib/protocols/irc.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG2
    - memcmp
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_check_for_Nickname(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:82,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/irc.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: ndpi_check_for_cmd
    functionSourceFile: /src/ndpi/src/lib/protocols/irc.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG2
    - memcmp
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t ndpi_check_for_cmd(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/irc.c:99,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/irc.c:102,1
    - Dst: get_u_int8_t
      Src: /src/ndpi/src/lib/protocols/irc.c:108,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/irc.c:109,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/irc.c:109,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:110,1
    - Dst: ndpi_parse_packet_line_info_any
      Src: /src/ndpi/src/lib/protocols/irc.c:113,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/irc.c:115,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/irc.c:124,1
    - Dst: ndpi_int_irc_add_connection
      Src: /src/ndpi/src/lib/protocols/irc.c:125,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/irc.c:131,1
    - Dst: ndpi_int_irc_add_connection
      Src: /src/ndpi/src/lib/protocols/irc.c:132,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:137,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:138,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:139,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:140,1
    - Dst: ndpi_check_for_NOTICE_or_PRIVMSG
      Src: /src/ndpi/src/lib/protocols/irc.c:140,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:141,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:142,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:143,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:144,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:145,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:146,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:147,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/irc.c:148,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/irc.c:153,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/irc.c:154,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/irc.c:157,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/irc.c:158,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/irc.c:161,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/irc.c:164,1
    - Dst: ndpi_int_irc_add_connection
      Src: /src/ndpi/src/lib/protocols/irc.c:165,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/irc.c:169,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/irc.c:173,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/irc.c:179,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/irc.c:181,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:183,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:184,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/irc.c:185,1
    - Dst: ndpi_int_irc_add_connection
      Src: /src/ndpi/src/lib/protocols/irc.c:186,1
    - Dst: ndpi_parse_packet_line_info_any
      Src: /src/ndpi/src/lib/protocols/irc.c:194,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/irc.c:196,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:198,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:199,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/irc.c:201,1
    - Dst: ndpi_int_irc_add_connection
      Src: /src/ndpi/src/lib/protocols/irc.c:202,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:215,1
    - Dst: ndpi_check_for_Nickname
      Src: /src/ndpi/src/lib/protocols/irc.c:216,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/irc.c:218,1
    - Dst: ndpi_check_for_cmd
      Src: /src/ndpi/src/lib/protocols/irc.c:219,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/irc.c:220,1
    - Dst: ndpi_int_irc_add_connection
      Src: /src/ndpi/src/lib/protocols/irc.c:221,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 94
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 225
    functionName: ndpi_search_irc_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/irc.c
    functionUses: 0
    functionsReached:
    - get_u_int8_t
    - ndpi_set_risk
    - NDPI_LOG_INFO
    - ndpi_check_for_Nickname
    - get_u_int16_t
    - strchr
    - NDPI_LOG_DBG
    - ndpi_check_for_NOTICE_or_PRIVMSG
    - snprintf
    - ndpi_int_irc_add_connection
    - ndpi_parse_packet_line_info_any
    - NDPI_EXCLUDE_DISSECTOR
    - memcmp
    - ndpi_parse_packet_line_info
    - ndpi_strnstr
    - ndpi_check_for_cmd
    - NDPI_LOG_DBG2
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_irc_tcp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/irc.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: init_irc_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/irc.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_irc_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/skinny.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: ndpi_int_skinny_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/skinny.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_skinny_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \  *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 4
    argCount: 1
    argNames:
    - version
    argTypes:
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: is_valid_version
    functionSourceFile: /src/ndpi/src/lib/protocols/skinny.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_version(u_int32_t version)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: is_valid_opcode
    functionSourceFile: /src/ndpi/src/lib/protocols/skinny.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_valid_opcode(u_int32_t opcode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/skinny.c:68,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/skinny.c:71,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/skinny.c:71,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/skinny.c:72,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/skinny.c:77,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/skinny.c:77,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/skinny.c:78,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/skinny.c:78,1
    - Dst: le32toh
      Src: /src/ndpi/src/lib/protocols/skinny.c:79,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/skinny.c:79,1
    - Dst: is_valid_version
      Src: /src/ndpi/src/lib/protocols/skinny.c:82,1
    - Dst: is_valid_opcode
      Src: /src/ndpi/src/lib/protocols/skinny.c:83,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/skinny.c:84,1
    - Dst: ndpi_int_skinny_add_connection
      Src: /src/ndpi/src/lib/protocols/skinny.c:85,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/skinny.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 91
    functionName: ndpi_search_skinny
    functionSourceFile: /src/ndpi/src/lib/protocols/skinny.c
    functionUses: 0
    functionsReached:
    - is_valid_opcode
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - get_u_int32_t
    - le32toh
    - is_valid_version
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    - ntohs
    - ndpi_int_skinny_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_search_skinny(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/skinny.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: init_skinny_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/skinny.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_skinny_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/mining.c:36,1
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/mining.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: mining_make_lru_cache_key
    functionSourceFile: /src/ndpi/src/lib/protocols/mining.c
    functionUses: 4
    functionsReached:
    - ndpi_quick_hash64
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t mining_make_lru_cache_key(struct ndpi_flow_struct *flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/mining.c:48,1
    - Dst: mining_make_lru_cache_key
      Src: /src/ndpi/src/lib/protocols/mining.c:48,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/mining.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: cacheMiningHostTwins
    functionSourceFile: /src/ndpi/src/lib/protocols/mining.c
    functionUses: 0
    functionsReached:
    - ndpi_get_current_time
    - mining_make_lru_cache_key
    - ndpi_lru_add_to_cache
    linkageType: ''
    returnType: void
    signature: "void cacheMiningHostTwins(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/mining.c:57,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mining.c:61,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/mining.c:66,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/mining.c:67,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/mining.c:70,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/mining.c:71,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mining.c:72,1
    - Dst: cacheMiningHostTwins
      Src: /src/ndpi/src/lib/protocols/mining.c:73,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/mining.c:78,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/mining.c:79,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mining.c:80,1
    - Dst: cacheMiningHostTwins
      Src: /src/ndpi/src/lib/protocols/mining.c:81,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/src/lib/protocols/mining.c:85,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/mining.c:86,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/mining.c:87,1
    - Dst: cacheMiningHostTwins
      Src: /src/ndpi/src/lib/protocols/mining.c:88,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/mining.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 93
    functionName: ndpi_search_mining
    functionSourceFile: /src/ndpi/src/lib/protocols/mining.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - cacheMiningHostTwins
    - NDPI_LOG_DBG
    - ndpi_snprintf
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_strnstr
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_mining(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/mining.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: init_mining_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/mining.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_mining_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: tinc_cache_entry
    functionSourceFile: /src/ndpi/src/lib/protocols/tinc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON tinc_cache_entry
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: cache_remove
      Src: /src/ndpi/src/lib/protocols/tinc.c:55,1
    - Dst: cache_remove
      Src: /src/ndpi/src/lib/protocols/tinc.c:56,1
    - Dst: cache_remove
      Src: /src/ndpi/src/lib/protocols/tinc.c:58,1
    - Dst: cache_remove
      Src: /src/ndpi/src/lib/protocols/tinc.c:59,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tinc.c:63,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tinc.c:64,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tinc.c:68,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/tinc.c:75,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/tinc.c:78,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/tinc.c:87,1
    - Dst: cache_new
      Src: /src/ndpi/src/lib/protocols/tinc.c:118,1
    - Dst: cache_add
      Src: /src/ndpi/src/lib/protocols/tinc.c:120,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tinc.c:121,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tinc.c:122,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tinc.c:133,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 60
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 134
    functionName: ndpi_check_tinc
    functionSourceFile: /src/ndpi/src/lib/protocols/tinc.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - cache_new
    - cache_remove
    - NDPI_EXCLUDE_DISSECTOR
    - memcmp
    - cache_add
    linkageType: ''
    returnType: void
    signature: void ndpi_check_tinc(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/tinc.c:137,1
    - Dst: ndpi_check_tinc
      Src: /src/ndpi/src/lib/protocols/tinc.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 6
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: ndpi_search_tinc
    functionSourceFile: /src/ndpi/src/lib/protocols/tinc.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_check_tinc
    linkageType: ''
    returnType: void
    signature: void ndpi_search_tinc(struct ndpi_detection_module_struct* ndpi_struct,
      struct ndpi_flow_struct* flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/tinc.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: init_tinc_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/tinc.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_tinc_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/avast_securedns.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: ndpi_int_avast_securedns_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/avast_securedns.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_avast_securedns_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                                    struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/avast_securedns.c:41,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/avast_securedns.c:41,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/avast_securedns.c:44,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/avast_securedns.c:48,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/avast_securedns.c:48,1
    - Dst: ndpi_int_avast_securedns_add_connection
      Src: /src/ndpi/src/lib/protocols/avast_securedns.c:50,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/avast_securedns.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: ndpi_search_avast_securedns
    functionSourceFile: /src/ndpi/src/lib/protocols/avast_securedns.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - ntohl
    - get_u_int32_t
    - NDPI_STATICSTRING_LEN
    - ndpi_int_avast_securedns_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_avast_securedns(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                        struct ndpi_flow_struct
      *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/avast_securedns.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: init_avast_securedns_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/avast_securedns.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_avast_securedns_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtps.c:45,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/rtps.c:48,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/rtps.c:49,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/rtps.c:53,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/rtps.c:54,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rtps.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: ndpi_search_rtps
    functionSourceFile: /src/ndpi/src/lib/protocols/rtps.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_rtps(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/rtps.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: init_rtps_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/rtps.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_rtps_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/zug.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/zug.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ndpi_int_zug_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/zug.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_zug_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                        struct ndpi_flow_struct
      * const flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/zug.c:43,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/zug.c:47,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/zug.c:51,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/zug.c:51,1
    - Dst: ndpi_int_zug_add_connection
      Src: /src/ndpi/src/lib/protocols/zug.c:54,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/zug.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: ndpi_search_zug
    functionSourceFile: /src/ndpi/src/lib/protocols/zug.c
    functionUses: 0
    functionsReached:
    - ntohl
    - ndpi_int_zug_add_connection
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_zug(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/zug.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: init_zug_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/zug.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_zug_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/telnet.c:43,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/telnet.c:56,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/telnet.c:68,1
    - Dst: strncasecmp
      Src: /src/ndpi/src/lib/protocols/telnet.c:86,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/telnet.c:100,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/telnet.c:102,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/src/lib/protocols/telnet.c:116,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 56
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 128
    functionName: search_telnet_again
    functionSourceFile: /src/ndpi/src/lib/protocols/telnet.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - ndpi_set_risk
    - snprintf
    - ndpi_isprint
    - printf
    linkageType: ''
    returnType: int
    signature: "int search_telnet_again(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/telnet.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: ndpi_int_telnet_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/telnet.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_telnet_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t
      \  *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/telnet.c:155,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 182
    functionName: search_iac
    functionSourceFile: /src/ndpi/src/lib/protocols/telnet.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: __mingw_forceinline
    signature: __mingw_forceinline search_iac(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/telnet.c:189,1
    - Dst: search_iac
      Src: /src/ndpi/src/lib/protocols/telnet.c:191,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/telnet.c:192,1
    - Dst: ndpi_int_telnet_add_connection
      Src: /src/ndpi/src/lib/protocols/telnet.c:193,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/telnet.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 6
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: ndpi_search_telnet_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/telnet.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_int_telnet_add_connection
    - NDPI_LOG_DBG
    - search_iac
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_telnet_tcp(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \  struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/telnet.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: init_telnet_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/telnet.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_telnet_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: FCGI_Header
    functionSourceFile: /src/ndpi/src/lib/protocols/fastcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON FCGI_Header
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: FCGI_Params
    functionSourceFile: /src/ndpi/src/lib/protocols/fastcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON FCGI_Params
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:77,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - match
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - ndpi_protocol_match_result*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: ndpi_int_fastcgi_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/fastcgi.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_fastcgi_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                            struct ndpi_flow_struct
      * const flow,\n                                            ndpi_protocol_match_result
      * const match)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:114,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:116,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:117,1
    - Dst: ndpi_http_str2method
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:139,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:141,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:142,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:143,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:144,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - flow
    - packet
    argTypes:
    - struct ndpi_flow_struct*
    - struct ndpi_packet_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 148
    functionName: fcgi_parse_params
    functionSourceFile: /src/ndpi/src/lib/protocols/fastcgi.c
    functionUses: 0
    functionsReached:
    - strlen
    - ndpi_hostname_sni_set
    - strncmp
    - NDPI_ARRAY_LENGTH
    - strncpy
    - ndpi_http_str2method
    - ndpi_min
    linkageType: ''
    returnType: int
    signature: "int fcgi_parse_params(struct ndpi_flow_struct * const flow,\n                             struct
      ndpi_packet_struct * const packet)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:159,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:163,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:171,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:178,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:182,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:185,1
    - Dst: fcgi_parse_params
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:198,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:200,1
    - Dst: ndpi_int_fastcgi_add_connection
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:201,1
    - Dst: ndpi_match_host_subprotocol
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:203,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:205,1
    - Dst: ndpi_check_dga_name
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:207,1
    - Dst: ndpi_is_valid_hostname
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:209,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:213,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:214,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:217,1
    - Dst: ndpi_int_fastcgi_add_connection
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:219,1
    - Dst: ndpi_int_fastcgi_add_connection
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 150
    functionDepth: 7
    functionLinenumber: 150
    functionLinenumberEnd: 228
    functionName: ndpi_search_fastcgi
    functionSourceFile: /src/ndpi/src/lib/protocols/fastcgi.c
    functionUses: 0
    functionsReached:
    - ndpi_int_fastcgi_add_connection
    - ndpi_set_risk
    - strlen
    - NDPI_LOG_DBG
    - snprintf
    - fcgi_parse_params
    - ndpi_check_dga_name
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_is_valid_hostname
    - ndpi_match_host_subprotocol
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_fastcgi(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_search_fastcgi
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 8
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: ndpi_search_fastcgi_extra
    functionSourceFile: /src/ndpi/src/lib/protocols/fastcgi.c
    functionUses: 0
    functionsReached:
    - ndpi_search_fastcgi
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_fastcgi_extra(struct ndpi_detection_module_struct
      * ndpi_struct,\n                                     struct ndpi_flow_struct
      * flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/fastcgi.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: init_fastcgi_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/fastcgi.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_fastcgi_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/glbp.c:39,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/glbp.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 5
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: ndpi_int_glbp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/glbp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_glbp_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                         struct ndpi_flow_struct
      * const flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/glbp.c:50,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/glbp.c:56,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/glbp.c:57,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/glbp.c:63,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/glbp.c:63,1
    - Dst: ndpi_int_glbp_add_connection
      Src: /src/ndpi/src/lib/protocols/glbp.c:68,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/glbp.c:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 45
    functionDepth: 6
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionName: ndpi_search_glbp
    functionSourceFile: /src/ndpi/src/lib/protocols/glbp.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ndpi_int_glbp_add_connection
    - NDPI_LOG_DBG
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_glbp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/glbp.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: init_glbp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/glbp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_glbp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/ndpi/src/lib/protocols/tls.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: str_contains_digit
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool str_contains_digit(char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_flow_addr_informative
      Src: /src/ndpi/src/lib/protocols/tls.c:164,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 169
    functionName: keep_extra_dissection_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - is_flow_addr_informative
    linkageType: ''
    returnType: int
    signature: "int keep_extra_dissection_tcp(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                     struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:241,1
    - Dst: ndpi_mahalanobis_distance
      Src: /src/ndpi/src/lib/protocols/tls.c:245,1
    - Dst: ndpi_mahalanobis_distance
      Src: /src/ndpi/src/lib/protocols/tls.c:247,1
    - Dst: ndpi_mahalanobis_distance
      Src: /src/ndpi/src/lib/protocols/tls.c:248,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/tls.c:250,1
    - Dst: ndpi_mahalanobis_distance
      Src: /src/ndpi/src/lib/protocols/tls.c:251,1
    - Dst: ndpi_mahalanobis_distance
      Src: /src/ndpi/src/lib/protocols/tls.c:252,1
    - Dst: ndpi_mahalanobis_distance
      Src: /src/ndpi/src/lib/protocols/tls.c:253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - set
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct tls_obfuscated_heuristic_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 261
    functionName: check_set
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG2
    - NDPI_LOG_DBG
    - ndpi_mahalanobis_distance
    linkageType: ''
    returnType: int
    signature: "int check_set(struct ndpi_detection_module_struct* ndpi_struct,\n
      \                    struct tls_obfuscated_heuristic_set *set)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:289,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:313,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/tls.c:322,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:325,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:328,1
    - Dst: current_pkt_from_server_to_client
      Src: /src/ndpi/src/lib/protocols/tls.c:331,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:335,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:337,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:343,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/tls.c:355,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:356,1
    - Dst: current_pkt_from_server_to_client
      Src: /src/ndpi/src/lib/protocols/tls.c:368,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/tls.c:372,1
    - Dst: current_pkt_from_server_to_client
      Src: /src/ndpi/src/lib/protocols/tls.c:376,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/tls.c:380,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:391,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:398,1
    - Dst: check_set
      Src: /src/ndpi/src/lib/protocols/tls.c:399,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:412,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 418
    functionName: tls_obfuscated_heur_search
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - check_set
    - current_pkt_from_client_to_server
    - NDPI_LOG_DBG2
    - current_pkt_from_server_to_client
    linkageType: ''
    returnType: int
    signature: "int tls_obfuscated_heur_search(struct ndpi_detection_module_struct*
      ndpi_struct,\n                                      struct ndpi_flow_struct*
      flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/tls.c:426,1
    - Dst: tls_obfuscated_heur_search
      Src: /src/ndpi/src/lib/protocols/tls.c:428,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/tls.c:432,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:442,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:443,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:448,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:450,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:454,1
    - Dst: get_proto_category
      Src: /src/ndpi/src/lib/protocols/tls.c:456,1
    - Dst: get_proto_breed
      Src: /src/ndpi/src/lib/protocols/tls.c:457,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tls.c:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 422
    functionDepth: 5
    functionLinenumber: 422
    functionLinenumberEnd: 462
    functionName: tls_obfuscated_heur_search_again
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - tls_obfuscated_heur_search
    - ndpi_set_detected_protocol
    - ndpi_set_risk
    - ndpi_get_master_proto
    - NDPI_LOG_DBG
    - get_proto_breed
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    - get_proto_category
    linkageType: ''
    returnType: int
    signature: "int tls_obfuscated_heur_search_again(struct ndpi_detection_module_struct*
      ndpi_struct,\n\t\t\t\t\t    struct ndpi_flow_struct* flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/tls.c:469,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/protocols/tls.c:472,1
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/tls.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 480
    functionName: switch_extra_dissection_to_tls_obfuscated_heur
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 1
    functionsReached:
    - memset
    - NDPI_LOG_DBG
    - ndpi_calloc
    linkageType: ''
    returnType: void
    signature: "void switch_extra_dissection_to_tls_obfuscated_heur(struct ndpi_detection_module_struct*
      ndpi_struct,\n                                                    struct ndpi_flow_struct*
      flow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:491,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/src/lib/protocols/tls.c:499,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:505,1
    - Dst: ndpi_realloc
      Src: /src/ndpi/src/lib/protocols/tls.c:513,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:518,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/tls.c:536,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:541,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:550,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - payload
    - payload_len
    - seq
    - message
    argTypes:
    - u_int8_t*
    - u_int16_t
    - u_int32_t
    - message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 558
    functionName: ndpi_search_tls_memory
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_realloc
    - memcpy
    - ndpi_malloc
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_tls_memory(const u_int8_t *payload,\n\t\t\t\t  u_int16_t
      payload_len,\n\t\t\t\t  u_int32_t seq,\n\t\t\t\t  message_t *message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/ndpi/src/lib/protocols/tls.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - buffer_len
    argTypes:
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 568
    functionName: cleanupServerName
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: void
    signature: void cleanupServerName(char *buffer, u_int buffer_len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:589,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tls.c:605,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/tls.c:606,1
    - Dst: ndpi_normalize_printable_string
      Src: /src/ndpi/src/lib/protocols/tls.c:610,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:613,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 8
    argNames:
    - packet
    - offset
    - buffer
    - buffer_len
    - rdnSeqBuf
    - rdnSeqBuf_offset
    - rdnSeqBuf_len
    - label
    argTypes:
    - struct ndpi_packet_struct*
    - u_int
    - char*
    - u_int
    - char*
    - u_int*
    - u_int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 625
    functionName: extractRDNSequence
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - ndpi_normalize_printable_string
    - ndpi_snprintf
    - strncpy
    - printf
    linkageType: ''
    returnType: int
    signature: "int extractRDNSequence(struct ndpi_packet_struct *packet,\n\t\t\t
      \     u_int offset, char *buffer, u_int buffer_len,\n\t\t\t      char *rdnSeqBuf,
      u_int *rdnSeqBuf_offset,\n\t\t\t      u_int rdnSeqBuf_len,\n\t\t\t      const
      char *label)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/tls.c:649,1
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/tls.c:651,1
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/tls.c:654,1
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/src/lib/protocols/tls.c:656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - packet
    - is_from_client
    argTypes:
    - struct ndpi_packet_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 661
    functionName: make_tls_cert_key
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - ndpi_quick_hash64
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t make_tls_cert_key(struct ndpi_packet_struct *packet, int
      is_from_client)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_tls_cert_key
      Src: /src/ndpi/src/lib/protocols/tls.c:678,1
    - Dst: ndpi_lru_find_cache
      Src: /src/ndpi/src/lib/protocols/tls.c:680,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/tls.c:682,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:685,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:685,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:686,1
    - Dst: get_proto_category
      Src: /src/ndpi/src/lib/protocols/tls.c:688,1
    - Dst: get_proto_breed
      Src: /src/ndpi/src/lib/protocols/tls.c:689,1
    - Dst: ndpi_check_subprotocol_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:690,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - is_from_client
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 665
    functionDepth: 5
    functionLinenumber: 665
    functionLinenumberEnd: 695
    functionName: checkTLSSubprotocol
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - ndpi_lru_find_cache
    - ndpi_set_detected_protocol
    - ndpi_check_subprotocol_risk
    - ndpi_get_current_time
    - ndpi_get_master_proto
    - ndpi_unset_risk
    - get_proto_breed
    - make_tls_cert_key
    - get_proto_category
    linkageType: ''
    returnType: void
    signature: "void checkTLSSubprotocol(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\tstruct
      ndpi_flow_struct *flow,\n\t\t\t\tint is_from_client)"
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:712,1
    - Dst: extractRDNSequence
      Src: /src/ndpi/src/lib/protocols/tls.c:723,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:727,1
    - Dst: extractRDNSequence
      Src: /src/ndpi/src/lib/protocols/tls.c:731,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:735,1
    - Dst: extractRDNSequence
      Src: /src/ndpi/src/lib/protocols/tls.c:739,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:743,1
    - Dst: extractRDNSequence
      Src: /src/ndpi/src/lib/protocols/tls.c:747,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:751,1
    - Dst: extractRDNSequence
      Src: /src/ndpi/src/lib/protocols/tls.c:755,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:759,1
    - Dst: extractRDNSequence
      Src: /src/ndpi/src/lib/protocols/tls.c:764,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:768,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:778,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/tls.c:783,1
    - Dst: ndpi_normalize_printable_string
      Src: /src/ndpi/src/lib/protocols/tls.c:784,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/tls.c:785,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:787,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:788,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:790,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:807,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:808,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:809,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/tls.c:816,1
    - Dst: strptime
      Src: /src/ndpi/src/lib/protocols/tls.c:820,1
    - Dst: timegm
      Src: /src/ndpi/src/lib/protocols/tls.c:821,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:823,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:841,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:842,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:843,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/tls.c:850,1
    - Dst: strptime
      Src: /src/ndpi/src/lib/protocols/tls.c:854,1
    - Dst: timegm
      Src: /src/ndpi/src/lib/protocols/tls.c:855,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:857,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/tls.c:865,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:868,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:871,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:873,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/tls.c:878,1
    - Dst: strftime
      Src: /src/ndpi/src/lib/protocols/tls.c:884,1
    - Dst: ndpi_gmtime_r
      Src: /src/ndpi/src/lib/protocols/tls.c:884,1
    - Dst: strftime
      Src: /src/ndpi/src/lib/protocols/tls.c:887,1
    - Dst: ndpi_gmtime_r
      Src: /src/ndpi/src/lib/protocols/tls.c:887,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:889,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:890,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:892,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/tls.c:896,1
    - Dst: strftime
      Src: /src/ndpi/src/lib/protocols/tls.c:902,1
    - Dst: ndpi_gmtime_r
      Src: /src/ndpi/src/lib/protocols/tls.c:902,1
    - Dst: strftime
      Src: /src/ndpi/src/lib/protocols/tls.c:905,1
    - Dst: ndpi_gmtime_r
      Src: /src/ndpi/src/lib/protocols/tls.c:905,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:907,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:908,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:910,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:925,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:965,1
    - Dst: inet_ntop
      Src: /src/ndpi/src/lib/protocols/tls.c:972,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/tls.c:978,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/tls.c:982,1
    - Dst: cleanupServerName
      Src: /src/ndpi/src/lib/protocols/tls.c:983,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:986,1
    - Dst: ndpi_normalize_printable_string
      Src: /src/ndpi/src/lib/protocols/tls.c:995,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:996,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:999,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1004,1
    - Dst: strstr
      Src: /src/ndpi/src/lib/protocols/tls.c:1009,1
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/tls.c:1012,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/tls.c:1018,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/tls.c:1025,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/tls.c:1026,1
    - Dst: ndpi_realloc
      Src: /src/ndpi/src/lib/protocols/tls.c:1029,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/tls.c:1035,1
    - Dst: ndpi_match_hostname_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:1046,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:1046,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1048,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:1056,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1058,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1060,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/tls.c:1069,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:1072,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1073,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1075,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/tls.c:1086,1
    - Dst: ndpi_match_string_value
      Src: /src/ndpi/src/lib/protocols/tls.c:1092,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/tls.c:1093,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:1100,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:1100,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:1101,1
    - Dst: get_proto_category
      Src: /src/ndpi/src/lib/protocols/tls.c:1103,1
    - Dst: get_proto_breed
      Src: /src/ndpi/src/lib/protocols/tls.c:1104,1
    - Dst: ndpi_check_subprotocol_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1105,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1106,1
    - Dst: make_tls_cert_key
      Src: /src/ndpi/src/lib/protocols/tls.c:1109,1
    - Dst: ndpi_lru_add_to_cache
      Src: /src/ndpi/src/lib/protocols/tls.c:1111,1
    - Dst: ndpi_get_current_time
      Src: /src/ndpi/src/lib/protocols/tls.c:1111,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/tls.c:1118,1
    - Dst: ndpi_check_issuerdn_risk_exception
      Src: /src/ndpi/src/lib/protocols/tls.c:1120,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1124,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1128,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 244
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - p_offset
    - certificate_len
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 700
    functionDepth: 8
    functionLinenumber: 700
    functionLinenumberEnd: 1130
    functionName: processCertificateElements
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - ndpi_check_subprotocol_risk
    - make_tls_cert_key
    - ndpi_match_hostname_protocol
    - ndpi_check_issuerdn_risk_exception
    - strcmp
    - ndpi_set_risk
    - strlen
    - ndpi_normalize_printable_string
    - ndpi_unset_risk
    - strncpy
    - inet_ntop
    - get_proto_breed
    - printf
    - ndpi_lru_add_to_cache
    - ndpi_set_detected_protocol
    - extractRDNSequence
    - strftime
    - is_flowrisk_info_enabled
    - ndpi_get_master_proto
    - strchr
    - ndpi_strdup
    - snprintf
    - ndpi_match_string_value
    - ndpi_gmtime_r
    - strstr
    - timegm
    - strptime
    - get_proto_category
    - ndpi_get_current_time
    - ndpi_snprintf
    - cleanupServerName
    - ndpi_realloc
    linkageType: ''
    returnType: void
    signature: "void processCertificateElements(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\tstruct ndpi_flow_struct *flow,\n\t\t\t\tu_int16_t p_offset,
      u_int16_t certificate_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1144,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1153,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1162,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1175,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1185,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1199,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1201,1
    - Dst: SHA1Init
      Src: /src/ndpi/src/lib/protocols/tls.c:1209,1
    - Dst: SHA1Update
      Src: /src/ndpi/src/lib/protocols/tls.c:1210,1
    - Dst: SHA1Final
      Src: /src/ndpi/src/lib/protocols/tls.c:1214,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1232,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/protocols/tls.c:1236,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1239,1
    - Dst: processCertificateElements
      Src: /src/ndpi/src/lib/protocols/tls.c:1243,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1252,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1135
    functionDepth: 9
    functionLinenumber: 1135
    functionLinenumberEnd: 1259
    functionName: processCertificate
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_find_entry
    - ndpi_set_risk
    - processCertificateElements
    - SHA1Update
    - SHA1Init
    - printf
    - SHA1Final
    linkageType: ''
    returnType: int
    signature: "int processCertificate(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t
      \      struct ndpi_flow_struct *flow)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1270,1
    - Dst: processClientServerHello
      Src: /src/ndpi/src/lib/protocols/tls.c:1277,1
    - Dst: ndpi_int_tls_add_connection
      Src: /src/ndpi/src/lib/protocols/tls.c:1278,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1281,1
    - Dst: checkTLSSubprotocol
      Src: /src/ndpi/src/lib/protocols/tls.c:1285,1
    - Dst: processClientServerHello
      Src: /src/ndpi/src/lib/protocols/tls.c:1291,1
    - Dst: ndpi_int_tls_add_connection
      Src: /src/ndpi/src/lib/protocols/tls.c:1292,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1295,1
    - Dst: checkTLSSubprotocol
      Src: /src/ndpi/src/lib/protocols/tls.c:1306,1
    - Dst: processCertificate
      Src: /src/ndpi/src/lib/protocols/tls.c:1316,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1319,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1324,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1263
    functionDepth: 10
    functionLinenumber: 1263
    functionLinenumberEnd: 1336
    functionName: processTLSBlock
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - ndpi_int_tls_add_connection
    - checkTLSSubprotocol
    - processClientServerHello
    - printf
    - processCertificate
    linkageType: ''
    returnType: int
    signature: "int processTLSBlock(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                          struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:1343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1340
    functionDepth: 2
    functionLinenumber: 1340
    functionLinenumberEnd: 1344
    functionName: ndpi_looks_like_tls
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - ndpi_get_master_proto
    linkageType: ''
    returnType: void
    signature: "void ndpi_looks_like_tls(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                               struct ndpi_flow_struct *flow)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1358,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1368,1
    - Dst: ndpi_search_tls_memory
      Src: /src/ndpi/src/lib/protocols/tls.c:1375,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/tls.c:1376,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1400,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1412,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1428,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1451,1
    - Dst: current_pkt_from_client_to_server
      Src: /src/ndpi/src/lib/protocols/tls.c:1453,1
    - Dst: ndpi_int_tls_add_connection
      Src: /src/ndpi/src/lib/protocols/tls.c:1458,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1474,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1481,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:1484,1
    - Dst: ndpi_int_tls_add_connection
      Src: /src/ndpi/src/lib/protocols/tls.c:1489,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tls.c:1509,1
    - Dst: processTLSBlock
      Src: /src/ndpi/src/lib/protocols/tls.c:1516,1
    - Dst: ndpi_looks_like_tls
      Src: /src/ndpi/src/lib/protocols/tls.c:1517,1
    - Dst: ndpi_looks_like_tls
      Src: /src/ndpi/src/lib/protocols/tls.c:1528,1
    - Dst: ndpi_int_tls_add_connection
      Src: /src/ndpi/src/lib/protocols/tls.c:1534,1
    - Dst: memmove
      Src: /src/ndpi/src/lib/protocols/tls.c:1550,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1555,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1560,1
    - Dst: keep_extra_dissection_tcp
      Src: /src/ndpi/src/lib/protocols/tls.c:1567,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1570,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:1580,1
    - Dst: ookla_search_into_cache
      Src: /src/ndpi/src/lib/protocols/tls.c:1581,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/tls.c:1582,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:1585,1
    - Dst: ndpi_unset_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1587,1
    - Dst: is_flow_addr_informative
      Src: /src/ndpi/src/lib/protocols/tls.c:1597,1
    - Dst: switch_extra_dissection_to_tls_obfuscated_heur
      Src: /src/ndpi/src/lib/protocols/tls.c:1598,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 117
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1348
    functionDepth: 11
    functionLinenumber: 1348
    functionLinenumberEnd: 1606
    functionName: ndpi_search_tls_tcp
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 1
    functionsReached:
    - ndpi_set_detected_protocol
    - memmove
    - ndpi_int_tls_add_connection
    - ndpi_set_risk
    - NDPI_LOG_INFO
    - ndpi_min
    - ookla_search_into_cache
    - ntohl
    - current_pkt_from_client_to_server
    - keep_extra_dissection_tcp
    - is_flow_addr_informative
    - ndpi_search_tls_memory
    - ndpi_unset_risk
    - printf
    - processTLSBlock
    - ntohs
    - ndpi_looks_like_tls
    - switch_extra_dissection_to_tls_obfuscated_heur
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_tls_tcp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                       struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1620,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:1625,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1627,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1631,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - buf_len
    - block_len
    argTypes:
    - u_int8_t*
    - u_int32_t
    - u_int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1637
    functionName: is_dtls
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 2
    functionsReached:
    - printf
    - ntohs
    linkageType: ''
    returnType: int
    signature: int is_dtls(const u_int8_t *buf, u_int32_t buf_len, u_int32_t *block_len)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1652,1
    - Dst: is_dtls
      Src: /src/ndpi/src/lib/protocols/tls.c:1664,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1673,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1687,1
    - Dst: processTLSBlock
      Src: /src/ndpi/src/lib/protocols/tls.c:1693,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1698,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1702,1
    - Dst: ndpi_search_tls_memory
      Src: /src/ndpi/src/lib/protocols/tls.c:1709,1
    - Dst: ndpi_search_tls_memory
      Src: /src/ndpi/src/lib/protocols/tls.c:1713,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1722,1
    - Dst: processTLSBlock
      Src: /src/ndpi/src/lib/protocols/tls.c:1729,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/tls.c:1731,1
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/tls.c:1732,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1740,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1750,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1758,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1765,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1769,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:1773,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:1776,1
    - Dst: get_proto_category
      Src: /src/ndpi/src/lib/protocols/tls.c:1778,1
    - Dst: get_proto_breed
      Src: /src/ndpi/src/lib/protocols/tls.c:1779,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1789,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1642
    functionDepth: 11
    functionLinenumber: 1642
    functionLinenumberEnd: 1803
    functionName: ndpi_search_dtls
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_set_risk
    - ndpi_get_master_proto
    - is_dtls
    - memset
    - ndpi_search_tls_memory
    - get_proto_breed
    - ndpi_free
    - printf
    - processTLSBlock
    - get_proto_category
    linkageType: ''
    returnType: int
    signature: "int ndpi_search_dtls(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1815
    functionName: tlsInitExtraPacketProcessing
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tlsInitExtraPacketProcessing(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1823,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/tls.c:1828,1
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/tls.c:1829,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/tls.c:1831,1
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/tls.c:1832,1
    - Dst: tlsInitExtraPacketProcessing
      Src: /src/ndpi/src/lib/protocols/tls.c:1836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1837
    functionName: switch_extra_dissection_to_tls
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 4
    functionsReached:
    - printf
    - memset
    - tlsInitExtraPacketProcessing
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: "void switch_extra_dissection_to_tls(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t    struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1845,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/tls.c:1851,1
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/tls.c:1852,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/tls.c:1854,1
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/tls.c:1855,1
    - Dst: ndpi_free
      Src: /src/ndpi/src/lib/protocols/tls.c:1861,1
    - Dst: ndpi_search_tls_wrapper
      Src: /src/ndpi/src/lib/protocols/tls.c:1866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - first_time
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1867
    functionName: switch_to_tls
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 1
    functionsReached:
    - printf
    - memset
    - ndpi_search_tls_wrapper
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: "void switch_to_tls(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t
      \  struct ndpi_flow_struct *flow, int first_time)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/tls.c:1875,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tls.c:1875,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/tls.c:1876,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/tls.c:1876,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1878,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:1880,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:1881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1871
    functionDepth: 5
    functionLinenumber: 1871
    functionLinenumberEnd: 1884
    functionName: tls_subclassify_by_alpn
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - strlen
    - ndpi_get_master_proto
    - NDPI_STATICSTRING_LEN
    - strncmp
    - printf
    linkageType: ''
    returnType: void
    signature: "void tls_subclassify_by_alpn(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/ndpi/src/lib/protocols/tls.c:1896,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/tls.c:1899,1
    - Dst: is_a_common_alpn
      Src: /src/ndpi/src/lib/protocols/tls.c:1903,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/tls.c:1904,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1909,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tls.c:1913,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/tls.c:1915,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1919,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1921,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - alpn_start
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1888
    functionDepth: 3
    functionLinenumber: 1888
    functionLinenumberEnd: 1928
    functionName: tlsCheckUncommonALPN
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - is_flowrisk_info_enabled
    - strlen
    - ndpi_min
    - strchr
    - is_a_common_alpn
    - strncpy
    - printf
    linkageType: ''
    returnType: void
    signature: "void tlsCheckUncommonALPN(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow,\n\t\t\t\t char *alpn_start)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1937,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:1942,1
    - Dst: tlsInitExtraPacketProcessing
      Src: /src/ndpi/src/lib/protocols/tls.c:1950,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:1955,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:1957,1
    - Dst: tlsInitExtraPacketProcessing
      Src: /src/ndpi/src/lib/protocols/tls.c:1960,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1932
    functionDepth: 5
    functionLinenumber: 1932
    functionLinenumberEnd: 1961
    functionName: ndpi_int_tls_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 2
    functionsReached:
    - printf
    - ndpi_get_master_proto
    - ndpi_set_detected_protocol
    - tlsInitExtraPacketProcessing
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_tls_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\tstruct ndpi_flow_struct *flow)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:1973,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:1976,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2014,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/tls.c:2017,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2020,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2021,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2023,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2035,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/tls.c:2038,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2041,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2042,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2044,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 6
    argNames:
    - ndpi_struct
    - flow
    - is_dtls
    - extension_id
    - extension_len
    - extension_payload_offset
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - int
    - u_int16_t
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 1965
    functionDepth: 3
    functionLinenumber: 1965
    functionLinenumberEnd: 2049
    functionName: checkExtensions
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_set_risk
    - is_flowrisk_info_enabled
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void checkExtensions(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   struct ndpi_flow_struct * const flow, int is_dtls,\n                            u_int16_t
      extension_id, u_int16_t extension_len,\n\t\t\t    u_int16_t extension_payload_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2053
    functionName: u_int16_t_cmpfunc
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int u_int16_t_cmpfunc(const void * a, const void * b)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - version
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2078
    functionName: is_grease_version
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_grease_version(u_int16_t version)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: is_grease_version
      Src: /src/ndpi/src/lib/protocols/tls.c:2119,1
    - Dst: ndpi_isset_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2179,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/tls.c:2192,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2193,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2194,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2197,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/protocols/tls.c:2203,1
    - Dst: qsort
      Src: /src/ndpi/src/lib/protocols/tls.c:2204,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2209,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2212,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2219,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2222,1
    - Dst: ndpi_sha256
      Src: /src/ndpi/src/lib/protocols/tls.c:2225,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2227,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2234,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2238,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2246,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2250,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2258,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2264,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2270,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/tls.c:2275,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2277,1
    - Dst: ndpi_sha256
      Src: /src/ndpi/src/lib/protocols/tls.c:2281,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2283,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2292,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/tls.c:2292,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 126
    argCount: 4
    argNames:
    - ndpi_struct
    - flow
    - quic_version
    - ja
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int32_t
    - union ja_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2082
    functionDepth: 2
    functionLinenumber: 2082
    functionLinenumberEnd: 2294
    functionName: ndpi_compute_ja4
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 0
    functionsReached:
    - is_grease_version
    - strlen
    - ndpi_sha256
    - ndpi_snprintf
    - snprintf
    - ndpi_strdup
    - printf
    - ndpi_isset_risk
    - qsort
    linkageType: ''
    returnType: void
    signature: "void ndpi_compute_ja4(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow,\n\t\t\t     u_int32_t quic_version,\n\t\t\t
      \    union ja_info *ja)"
  - BBCount: 167
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2311,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2337,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2340,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2353,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2370,1
    - Dst: ndpi_is_safe_ssl_cipher
      Src: /src/ndpi/src/lib/protocols/tls.c:2373,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/tls.c:2374,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2378,1
    - Dst: ndpi_cipher2str
      Src: /src/ndpi/src/lib/protocols/tls.c:2378,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2379,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2381,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2389,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2395,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2400,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2410,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2411,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2420,1
    - Dst: checkExtensions
      Src: /src/ndpi/src/lib/protocols/tls.c:2423,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2427,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2430,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2438,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2443,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2456,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2472,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2477,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2485,1
    - Dst: ndpi_normalize_printable_string
      Src: /src/ndpi/src/lib/protocols/tls.c:2487,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2488,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/tls.c:2492,1
    - Dst: tlsCheckUncommonALPN
      Src: /src/ndpi/src/lib/protocols/tls.c:2497,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tls.c:2499,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/tls.c:2500,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2511,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2518,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2526,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2533,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2552,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2555,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2561,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2568,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2574,1
    - Dst: ndpi_MD5Init
      Src: /src/ndpi/src/lib/protocols/tls.c:2577,1
    - Dst: ndpi_MD5Update
      Src: /src/ndpi/src/lib/protocols/tls.c:2578,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/tls.c:2578,1
    - Dst: ndpi_MD5Final
      Src: /src/ndpi/src/lib/protocols/tls.c:2579,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2582,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2588,1
    - Dst: is_flowrisk_info_enabled
      Src: /src/ndpi/src/lib/protocols/tls.c:2607,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:2611,1
    - Dst: ndpi_ssl_version2str
      Src: /src/ndpi/src/lib/protocols/tls.c:2611,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2614,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2616,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2629,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2633,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2638,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2646,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2657,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2665,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2670,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2704,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2728,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2739,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2754,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2761,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2765,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2777,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2780,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2784,1
    - Dst: checkExtensions
      Src: /src/ndpi/src/lib/protocols/tls.c:2786,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2791,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2806,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2816,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/tls.c:2822,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/tls.c:2823,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2825,1
    - Dst: ndpi_is_valid_hostname
      Src: /src/ndpi/src/lib/protocols/tls.c:2827,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2828,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2831,1
    - Dst: ndpi_match_hostname_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:2838,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:2838,1
    - Dst: ndpi_match_hostname_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:2844,1
    - Dst: ndpi_check_is_numeric_ip
      Src: /src/ndpi/src/lib/protocols/tls.c:2849,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2850,1
    - Dst: ndpi_str_endswith
      Src: /src/ndpi/src/lib/protocols/tls.c:2854,1
    - Dst: signal_add_to_cache
      Src: /src/ndpi/src/lib/protocols/tls.c:2856,1
    - Dst: ndpi_check_dga_name
      Src: /src/ndpi/src/lib/protocols/tls.c:2859,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2861,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/tls.c:2866,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/tls.c:2866,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/tls.c:2867,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:2868,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:2868,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2871,1
    - Dst: memset
      Src: /src/ndpi/src/lib/protocols/tls.c:2878,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/tls.c:2883,1
    - Dst: ndpi_cache_find_hostname_ip
      Src: /src/ndpi/src/lib/protocols/tls.c:2886,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2888,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:2890,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2894,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2900,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2910,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2915,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2918,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2934,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2942,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2949,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2956,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2964,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2971,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2977,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:2980,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tls.c:2984,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tls.c:2987,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/tls.c:2991,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:2997,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:3002,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:3012,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:3024,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3029,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3045,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3062,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3071,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3094,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3109,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3116,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:3121,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3126,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3137,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3159,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/tls.c:3162,1
    - Dst: tlsCheckUncommonALPN
      Src: /src/ndpi/src/lib/protocols/tls.c:3164,1
    - Dst: tls_subclassify_by_alpn
      Src: /src/ndpi/src/lib/protocols/tls.c:3172,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tls.c:3177,1
    - Dst: memcpy
      Src: /src/ndpi/src/lib/protocols/tls.c:3178,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3211,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:3221,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3225,1
    - Dst: ndpi_ssl_version2str
      Src: /src/ndpi/src/lib/protocols/tls.c:3226,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:3230,1
    - Dst: ndpi_ssl_version2str
      Src: /src/ndpi/src/lib/protocols/tls.c:3233,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3245,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/src/lib/protocols/tls.c:3250,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3254,1
    - Dst: is_version_with_var_int_transport_params
      Src: /src/ndpi/src/lib/protocols/tls.c:3263,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:3269,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tls.c:3271,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/tls.c:3274,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:3283,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:3284,1
    - Dst: quic_len_buffer_still_required
      Src: /src/ndpi/src/lib/protocols/tls.c:3288,1
    - Dst: quic_len
      Src: /src/ndpi/src/lib/protocols/tls.c:3290,1
    - Dst: quic_len_buffer_still_required
      Src: /src/ndpi/src/lib/protocols/tls.c:3293,1
    - Dst: quic_len
      Src: /src/ndpi/src/lib/protocols/tls.c:3295,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3299,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3311,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:3313,1
    - Dst: strlen
      Src: /src/ndpi/src/lib/protocols/tls.c:3320,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/tls.c:3324,1
    - Dst: strcmp
      Src: /src/ndpi/src/lib/protocols/tls.c:3324,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/tls.c:3325,1
    - Dst: str_contains_digit
      Src: /src/ndpi/src/lib/protocols/tls.c:3326,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:3327,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:3327,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:3338,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3340,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:3349,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/tls.c:3350,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3353,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3371,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3378,1
    - Dst: ndpi_compute_ja4
      Src: /src/ndpi/src/lib/protocols/tls.c:3387,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/protocols/tls.c:3393,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/tls.c:3395,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/tls.c:3397,1
    - Dst: ndpi_get_master_proto
      Src: /src/ndpi/src/lib/protocols/tls.c:3398,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/src/lib/protocols/tls.c:3404,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/tls.c:3406,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:3410,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:3420,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:3429,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/tls.c:3434,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/protocols/tls.c:3436,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/tls.c:3441,1
    - Dst: strtok_r
      Src: /src/ndpi/src/lib/protocols/tls.c:3444,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3452,1
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3462,1
    CyclomaticComplexity: 267
    EdgeCount: 267
    ICount: 633
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - quic_version
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3469
      start: 2298
    functionDepth: 8
    functionLinenumber: 2298
    functionLinenumberEnd: 3469
    functionName: processClientServerHello
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 2
    functionsReached:
    - is_version_with_var_int_transport_params
    - ndpi_ssl_version2str
    - ndpi_MD5Init
    - ndpi_compute_ja4
    - ndpi_hostname_sni_set
    - ndpi_is_valid_hostname
    - tls_subclassify_by_alpn
    - str_contains_digit
    - ndpi_match_hostname_protocol
    - strcmp
    - ndpi_hash_find_entry
    - ndpi_set_risk
    - strlen
    - ndpi_check_is_numeric_ip
    - ndpi_normalize_printable_string
    - strncmp
    - ndpi_check_dga_name
    - NDPI_ARRAY_LENGTH
    - printf
    - tlsCheckUncommonALPN
    - ndpi_str_endswith
    - ndpi_set_detected_protocol
    - ndpi_cache_find_hostname_ip
    - is_flowrisk_info_enabled
    - ndpi_get_master_proto
    - snprintf
    - ndpi_strdup
    - signal_add_to_cache
    - ndpi_cipher2str
    - ndpi_min
    - memset
    - strtok_r
    - ndpi_is_safe_ssl_cipher
    - quic_len
    - ndpi_snprintf
    - ndpi_MD5Final
    - quic_len_buffer_still_required
    - ndpi_MD5Update
    - checkExtensions
    - ntohs
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int processClientServerHello(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \    struct ndpi_flow_struct *flow, u_int32_t quic_version)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/src/lib/protocols/tls.c:3479,1
    - Dst: ndpi_search_dtls
      Src: /src/ndpi/src/lib/protocols/tls.c:3495,1
    - Dst: ndpi_search_tls_tcp
      Src: /src/ndpi/src/lib/protocols/tls.c:3497,1
    - Dst: ndpi_seen_flow_beginning
      Src: /src/ndpi/src/lib/protocols/tls.c:3509,1
    - Dst: is_flow_addr_informative
      Src: /src/ndpi/src/lib/protocols/tls.c:3511,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/src/lib/protocols/tls.c:3512,1
    - Dst: tls_obfuscated_heur_search_again
      Src: /src/ndpi/src/lib/protocols/tls.c:3517,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/tls.c:3519,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3521
      start: 3473
    functionDepth: 12
    functionLinenumber: 3473
    functionLinenumberEnd: 3521
    functionName: ndpi_search_tls_wrapper
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 1
    functionsReached:
    - tls_obfuscated_heur_search_again
    - is_flow_addr_informative
    - ndpi_seen_flow_beginning
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_search_tls_tcp
    - printf
    - ndpi_search_dtls
    - ndpi_calloc
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_tls_wrapper(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/tls.c:3526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3532
      start: 3525
    functionDepth: 3
    functionLinenumber: 3525
    functionLinenumberEnd: 3532
    functionName: init_tls_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/tls.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_tls_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/ethersbus.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/ethersbus.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: ndpi_int_ethersbus_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/ethersbus.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_ethersbus_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                              struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/ethersbus.c:46,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/ethersbus.c:49,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/ethersbus.c:49,1
    - Dst: ndpi_crc16_xmodem
      Src: /src/ndpi/src/lib/protocols/ethersbus.c:52,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/ethersbus.c:53,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/ethersbus.c:53,1
    - Dst: ndpi_int_ethersbus_add_connection
      Src: /src/ndpi/src/lib/protocols/ethersbus.c:55,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/ethersbus.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: ndpi_search_ethersbus
    functionSourceFile: /src/ndpi/src/lib/protocols/ethersbus.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_ethersbus_add_connection
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_crc16_xmodem
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_ethersbus(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/ethersbus.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: init_ethersbus_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/ethersbus.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_ethersbus_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: rmcp_header
    functionSourceFile: /src/ndpi/src/lib/protocols/rmcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON rmcp_header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/rmcp.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: ndpi_int_rmcp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/rmcp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_rmcp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                         struct ndpi_flow_struct
      *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rmcp.c:58,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rmcp.c:61,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rmcp.c:68,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rmcp.c:74,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rmcp.c:81,1
    - Dst: ndpi_int_rmcp_add_connection
      Src: /src/ndpi/src/lib/protocols/rmcp.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 53
    functionDepth: 6
    functionLinenumber: 53
    functionLinenumberEnd: 86
    functionName: ndpi_search_rmcp
    functionSourceFile: /src/ndpi/src/lib/protocols/rmcp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ndpi_int_rmcp_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_rmcp(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/rmcp.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: init_rmcp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/rmcp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_rmcp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nprot
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: set_protocol_and_bmask
    functionSourceFile: /src/ndpi/src/lib/protocols/non_tcp_udp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_protocol_and_bmask(nprot)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:48,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:52,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:56,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:60,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:65,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:67,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:77,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:80,1
    - Dst: ndpi_entropy
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:85,1
    - Dst: ndpi_entropy2risk
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:87,1
    - Dst: icmp4_checksum
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:90,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:93,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:101,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:105,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:109,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:113,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:117,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:121,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:125,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:130,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:133,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:143,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:146,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:153,1
    - Dst: set_protocol_and_bmask
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:157,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:161,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 162
    functionName: ndpi_search_in_non_tcp_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/non_tcp_udp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - set_protocol_and_bmask
    - snprintf
    - icmp4_checksum
    - ndpi_entropy2risk
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_entropy
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_in_non_tcp_udp(struct ndpi_detection_module_struct\n\t\t\t\t
      \      *ndpi_struct, struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/non_tcp_udp.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 184
    functionName: init_non_tcp_udp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/non_tcp_udp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_non_tcp_udp_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/soap.c:31,1
    - Dst: ndpi_set_detected_protocol_keeping_master
      Src: /src/ndpi/src/lib/protocols/soap.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: ndpi_int_soap_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/soap.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_set_detected_protocol_keeping_master
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_soap_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n                                         struct ndpi_flow_struct
      *flow)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/soap.c:41,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/soap.c:45,1
    - Dst: LINE_STARTS
      Src: /src/ndpi/src/lib/protocols/soap.c:54,1
    - Dst: ndpi_int_soap_add_connection
      Src: /src/ndpi/src/lib/protocols/soap.c:56,1
    - Dst: ndpi_int_soap_add_connection
      Src: /src/ndpi/src/lib/protocols/soap.c:66,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/soap.c:69,1
    - Dst: strncmp
      Src: /src/ndpi/src/lib/protocols/soap.c:76,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 81
    functionName: ndpi_search_soap
    functionSourceFile: /src/ndpi/src/lib/protocols/soap.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - strncmp
    - ndpi_int_soap_add_connection
    - LINE_STARTS
    - ndpi_parse_packet_line_info
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_soap(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                            struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/soap.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: init_soap_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/soap.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_soap_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/corba.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/corba.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: ndpi_int_corba_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/corba.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_corba_add_connection(struct ndpi_detection_module_struct\n
      \                                         *ndpi_struct, struct ndpi_flow_struct
      *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/corba.c:38,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/corba.c:43,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/corba.c:44,1
    - Dst: ndpi_int_corba_add_connection
      Src: /src/ndpi/src/lib/protocols/corba.c:46,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/corba.c:52,1
    - Dst: ndpi_int_corba_add_connection
      Src: /src/ndpi/src/lib/protocols/corba.c:53,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/corba.c:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 34
    functionDepth: 6
    functionLinenumber: 34
    functionLinenumberEnd: 59
    functionName: ndpi_search_corba
    functionSourceFile: /src/ndpi/src/lib/protocols/corba.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - memcmp
    - ndpi_int_corba_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_corba(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/corba.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: init_corba_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/corba.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_corba_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/megaco.c:34,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/megaco.c:44,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/megaco.c:45,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/megaco.c:50,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: ndpi_search_megaco
    functionSourceFile: /src/ndpi/src/lib/protocols/megaco.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_DBG
    - NDPI_LOG_INFO
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_megaco(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/megaco.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: init_megaco_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/megaco.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_megaco_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/rtsp.c:36,1
    - Dst: ndpi_set_detected_protocol_keeping_master
      Src: /src/ndpi/src/lib/protocols/rtsp.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: ndpi_int_rtsp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/rtsp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_set_detected_protocol_keeping_master
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_rtsp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtsp.c:47,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/rtsp.c:51,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/rtsp.c:55,1
    - Dst: LINE_STARTS
      Src: /src/ndpi/src/lib/protocols/rtsp.c:56,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/rtsp.c:57,1
    - Dst: LINE_ENDS
      Src: /src/ndpi/src/lib/protocols/rtsp.c:58,1
    - Dst: ndpi_int_rtsp_add_connection
      Src: /src/ndpi/src/lib/protocols/rtsp.c:61,1
    - Dst: ndpi_user_agent_set
      Src: /src/ndpi/src/lib/protocols/rtsp.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rtsp.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 71
    functionName: ndpi_search_rtsp_tcp_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/rtsp.c
    functionUses: 0
    functionsReached:
    - ndpi_user_agent_set
    - ndpi_int_rtsp_add_connection
    - NDPI_LOG_DBG
    - LINE_STARTS
    - ndpi_parse_packet_line_info
    - NDPI_EXCLUDE_DISSECTOR
    - LINE_ENDS
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_rtsp_tcp_udp(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t     struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/rtsp.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: init_rtsp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/rtsp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_rtsp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/socks45.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: ndpi_int_socks_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/socks45.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void ndpi_int_socks_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/socks45.c:45,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/socks45.c:50,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/socks45.c:56,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/socks45.c:64,1
    - Dst: ndpi_int_socks_add_connection
      Src: /src/ndpi/src/lib/protocols/socks45.c:65,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/socks45.c:67,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 71
    functionName: ndpi_check_socks4
    functionSourceFile: /src/ndpi/src/lib/protocols/socks45.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG2
    - NDPI_LOG_INFO
    - ndpi_int_socks_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_check_socks4(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/socks45.c:80,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/socks45.c:84,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/socks45.c:91,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/socks45.c:100,1
    - Dst: ndpi_int_socks_add_connection
      Src: /src/ndpi/src/lib/protocols/socks45.c:101,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/socks45.c:103,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 108
    functionName: ndpi_check_socks5
    functionSourceFile: /src/ndpi/src/lib/protocols/socks45.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG2
    - NDPI_LOG_INFO
    - ndpi_int_socks_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_check_socks5(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/socks45.c:112,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/socks45.c:115,1
    - Dst: ndpi_check_socks4
      Src: /src/ndpi/src/lib/protocols/socks45.c:119,1
    - Dst: ndpi_check_socks5
      Src: /src/ndpi/src/lib/protocols/socks45.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 7
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: ndpi_search_socks
    functionSourceFile: /src/ndpi/src/lib/protocols/socks45.c
    functionUses: 0
    functionsReached:
    - ndpi_check_socks5
    - NDPI_LOG_DBG
    - ndpi_check_socks4
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_socks(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/socks45.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: init_socks_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/socks45.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_socks_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/atg.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ndpi_int_atg_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/atg.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_atg_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t\t*ndpi_struct,
      struct ndpi_flow_struct *flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/atg.c:39,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/atg.c:42,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/atg.c:47,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/atg.c:48,1
    - Dst: ndpi_int_atg_add_connection
      Src: /src/ndpi/src/lib/protocols/atg.c:49,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/atg.c:55,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 56
    functionName: ndpi_search_atg
    functionSourceFile: /src/ndpi/src/lib/protocols/atg.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - ndpi_int_atg_add_connection
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_atg(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/atg.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: init_atg_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/atg.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_atg_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/rsh.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: ndpi_int_rsh_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/rsh.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_rsh_add_connection(struct ndpi_detection_module_struct
      * ndpi_struct,\n                                        struct ndpi_flow_struct
      * flow)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_int_rsh_add_connection
      Src: /src/ndpi/src/lib/protocols/rsh.c:53,1
    - Dst: ndpi_isdigit
      Src: /src/ndpi/src/lib/protocols/rsh.c:72,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rsh.c:74,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rsh.c:79,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rsh.c:87,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/rsh.c:97,1
    - Dst: memchr
      Src: /src/ndpi/src/lib/protocols/rsh.c:98,1
    - Dst: ndpi_is_printable_buffer
      Src: /src/ndpi/src/lib/protocols/rsh.c:103,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rsh.c:106,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/rsh.c:112,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rsh.c:114,1
    - Dst: ndpi_int_rsh_add_connection
      Src: /src/ndpi/src/lib/protocols/rsh.c:123,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/rsh.c:125,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/rsh.c:126,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/rsh.c:126,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/rsh.c:128,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/rsh.c:129,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/rsh.c:129,1
    - Dst: strncpy
      Src: /src/ndpi/src/lib/protocols/rsh.c:131,1
    - Dst: ndpi_min
      Src: /src/ndpi/src/lib/protocols/rsh.c:132,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/rsh.c:132,1
    - Dst: snprintf
      Src: /src/ndpi/src/lib/protocols/rsh.c:137,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/src/lib/protocols/rsh.c:137,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/rsh.c:142,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rsh.c:147,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 150
    functionName: ndpi_search_rsh
    functionSourceFile: /src/ndpi/src/lib/protocols/rsh.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - ndpi_is_printable_buffer
    - memchr
    - snprintf
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_ARRAY_LENGTH
    - strncpy
    - ndpi_min
    - ndpi_int_rsh_add_connection
    - ndpi_isdigit
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_rsh(struct ndpi_detection_module_struct * ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/rsh.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: init_rsh_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/rsh.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_rsh_dissector(struct ndpi_detection_module_struct * ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/i3d.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/i3d.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: ndpi_int_i3d_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/i3d.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_i3d_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                        struct ndpi_flow_struct
      * const flow)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/i3d.c:44,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/i3d.c:53,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/i3d.c:57,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/i3d.c:57,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/i3d.c:58,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/i3d.c:58,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/i3d.c:59,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/i3d.c:59,1
    - Dst: ndpi_int_i3d_add_connection
      Src: /src/ndpi/src/lib/protocols/i3d.c:61,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/i3d.c:65,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/i3d.c:65,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/i3d.c:66,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/i3d.c:66,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/i3d.c:67,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/i3d.c:67,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/i3d.c:68,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/i3d.c:68,1
    - Dst: ndpi_int_i3d_add_connection
      Src: /src/ndpi/src/lib/protocols/i3d.c:70,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/i3d.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 76
    functionName: ndpi_search_i3d
    functionSourceFile: /src/ndpi/src/lib/protocols/i3d.c
    functionUses: 0
    functionsReached:
    - get_u_int16_t
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - ndpi_int_i3d_add_connection
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_i3d(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                           struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/i3d.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: init_i3d_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/i3d.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_i3d_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dhcpv6.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: ndpi_int_dhcpv6_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/dhcpv6.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_dhcpv6_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t   struct ndpi_flow_struct *flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dhcpv6.c:44,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/dhcpv6.c:47,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/dhcpv6.c:47,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/dhcpv6.c:48,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/dhcpv6.c:48,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/dhcpv6.c:51,1
    - Dst: ndpi_int_dhcpv6_add_connection
      Src: /src/ndpi/src/lib/protocols/dhcpv6.c:52,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dhcpv6.c:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: ndpi_search_dhcpv6_udp
    functionSourceFile: /src/ndpi/src/lib/protocols/dhcpv6.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_int_dhcpv6_add_connection
    - NDPI_LOG_DBG
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: void ndpi_search_dhcpv6_udp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/dhcpv6.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: init_dhcpv6_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/dhcpv6.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_dhcpv6_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/bgp.c:36,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/bgp.c:38,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/bgp.c:44,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/bgp.c:45,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bgp.c:46,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/bgp.c:46,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bgp.c:48,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/bgp.c:49,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/bgp.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: ndpi_search_bgp
    functionSourceFile: /src/ndpi/src/lib/protocols/bgp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - get_u_int64_t
    - NDPI_LOG_INFO
    - get_u_int16_t
    - NDPI_LOG_DBG
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - ntohs
    linkageType: ''
    returnType: void
    signature: void ndpi_search_bgp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/bgp.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: init_bgp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/bgp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_bgp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/nomachine.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/nomachine.c:36,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/nomachine.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: ndpi_int_nomachine_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/nomachine.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ndpi_set_risk
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_nomachine_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, \n                                              struct ndpi_flow_struct
      *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/nomachine.c:46,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/nomachine.c:53,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/nomachine.c:53,1
    - Dst: ndpi_int_nomachine_add_connection
      Src: /src/ndpi/src/lib/protocols/nomachine.c:55,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/nomachine.c:61,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/nomachine.c:61,1
    - Dst: le16toh
      Src: /src/ndpi/src/lib/protocols/nomachine.c:62,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/nomachine.c:62,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/nomachine.c:63,1
    - Dst: ndpi_int_nomachine_add_connection
      Src: /src/ndpi/src/lib/protocols/nomachine.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/nomachine.c:70,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 71
    functionName: ndpi_search_nomachine
    functionSourceFile: /src/ndpi/src/lib/protocols/nomachine.c
    functionUses: 0
    functionsReached:
    - ndpi_int_nomachine_add_connection
    - get_u_int16_t
    - NDPI_LOG_DBG
    - le16toh
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_nomachine(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                 struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/nomachine.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: init_nomachine_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/nomachine.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_nomachine_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/rtmp.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: ndpi_int_rtmp_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/rtmp.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: void ndpi_int_rtmp_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, struct ndpi_flow_struct *flow)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_seen_flow_beginning
      Src: /src/ndpi/src/lib/protocols/rtmp.c:48,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rtmp.c:49,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/rtmp.c:56,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/rtmp.c:64,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/rtmp.c:77,1
    - Dst: ndpi_int_rtmp_add_connection
      Src: /src/ndpi/src/lib/protocols/rtmp.c:78,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/rtmp.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 84
    functionName: ndpi_check_rtmp
    functionSourceFile: /src/ndpi/src/lib/protocols/rtmp.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - ndpi_seen_flow_beginning
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    - ndpi_int_rtmp_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_check_rtmp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/rtmp.c:88,1
    - Dst: ndpi_check_rtmp
      Src: /src/ndpi/src/lib/protocols/rtmp.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 7
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: ndpi_search_rtmp
    functionSourceFile: /src/ndpi/src/lib/protocols/rtmp.c
    functionUses: 0
    functionsReached:
    - ndpi_check_rtmp
    - NDPI_LOG_DBG
    linkageType: ''
    returnType: void
    signature: void ndpi_search_rtmp(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/rtmp.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: init_rtmp_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/rtmp.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_rtmp_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/easyweather.c:31,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/easyweather.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: ndpi_int_easyweather_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/easyweather.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_easyweather_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                                struct
      ndpi_flow_struct * const flow)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/easyweather.c:43,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/easyweather.c:46,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/easyweather.c:46,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/easyweather.c:48,1
    - Dst: ndpi_int_easyweather_add_connection
      Src: /src/ndpi/src/lib/protocols/easyweather.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: ndpi_search_easyweather
    functionSourceFile: /src/ndpi/src/lib/protocols/easyweather.c
    functionUses: 0
    functionsReached:
    - ndpi_int_easyweather_add_connection
    - ntohl
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_easyweather(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                                   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/easyweather.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: init_easyweather_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/easyweather.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_easyweather_dissector(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/spotify.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: ndpi_int_spotify_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/spotify.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_spotify_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct,\n\t\t\t\t\t    struct ndpi_flow_struct *flow)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/spotify.c:45,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/spotify.c:50,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/spotify.c:51,1
    - Dst: ndpi_int_spotify_add_connection
      Src: /src/ndpi/src/lib/protocols/spotify.c:52,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/spotify.c:63,1
    - Dst: ndpi_int_spotify_add_connection
      Src: /src/ndpi/src/lib/protocols/spotify.c:64,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/spotify.c:68,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 69
    functionName: ndpi_check_spotify
    functionSourceFile: /src/ndpi/src/lib/protocols/spotify.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - htons
    - NDPI_EXCLUDE_DISSECTOR
    - memcmp
    - ndpi_int_spotify_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_check_spotify(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/spotify.c:73,1
    - Dst: ndpi_check_spotify
      Src: /src/ndpi/src/lib/protocols/spotify.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 7
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: ndpi_search_spotify
    functionSourceFile: /src/ndpi/src/lib/protocols/spotify.c
    functionUses: 0
    functionsReached:
    - ndpi_check_spotify
    - NDPI_LOG_DBG
    linkageType: ''
    returnType: void
    signature: void ndpi_search_spotify(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/spotify.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: init_spotify_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/spotify.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_spotify_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: dicom_header
    functionSourceFile: /src/ndpi/src/lib/protocols/dicom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON dicom_header
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/dicom.c:38,1
    - Dst: ntohl
      Src: /src/ndpi/src/lib/protocols/dicom.c:45,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/dicom.c:50,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dicom.c:54,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/dicom.c:56,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: ndpi_search_dicom
    functionSourceFile: /src/ndpi/src/lib/protocols/dicom.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - ntohl
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_dicom(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/dicom.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: init_dicom_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/dicom.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_dicom_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/munin.c:32,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/munin.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: ndpi_int_munin_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/munin.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_munin_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                          struct ndpi_flow_struct
      * const flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/munin.c:48,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/munin.c:51,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/munin.c:53,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/munin.c:57,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/munin.c:57,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/munin.c:59,1
    - Dst: ndpi_int_munin_add_connection
      Src: /src/ndpi/src/lib/protocols/munin.c:63,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/munin.c:67,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/munin.c:71,1
    - Dst: ndpi_hostname_sni_set
      Src: /src/ndpi/src/lib/protocols/munin.c:74,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/munin.c:74,1
    - Dst: ndpi_set_risk
      Src: /src/ndpi/src/lib/protocols/munin.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 78
    functionName: ndpi_search_munin
    functionSourceFile: /src/ndpi/src/lib/protocols/munin.c
    functionUses: 0
    functionsReached:
    - ndpi_set_risk
    - NDPI_LOG_DBG
    - ndpi_int_munin_add_connection
    - NDPI_STATICSTRING_LEN
    - ndpi_hostname_sni_set
    - memcmp
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_munin(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                             struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/munin.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: init_munin_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/munin.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_munin_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/iqiyi.c:35,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/iqiyi.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: ndpi_int_iqiyi_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/iqiyi.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_iqiyi_add_connection(struct ndpi_detection_module_struct
      *ndpi_struct, \n                                          struct ndpi_flow_struct
      *flow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/iqiyi.c:44,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/src/lib/protocols/iqiyi.c:47,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/iqiyi.c:47,1
    - Dst: ndpi_int_iqiyi_add_connection
      Src: /src/ndpi/src/lib/protocols/iqiyi.c:48,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/iqiyi.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: ndpi_search_iqiyi
    functionSourceFile: /src/ndpi/src/lib/protocols/iqiyi.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - NDPI_STATICSTRING_LEN
    - ndpi_memmem
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_iqiyi_add_connection
    linkageType: ''
    returnType: void
    signature: void ndpi_search_iqiyi(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/iqiyi.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: init_iqiyi_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/iqiyi.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_iqiyi_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/wireguard.c:49,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/wireguard.c:51,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/wireguard.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ndpi_struct
    - flow
    - app_protocol
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: ndpi_int_wireguard_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/wireguard.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_wireguard_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                              struct ndpi_flow_struct
      * const flow,\n                                              u_int16_t app_protocol)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/wireguard.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/wireguard.c:85,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/wireguard.c:92,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/wireguard.c:118,1
    - Dst: ndpi_int_wireguard_add_connection
      Src: /src/ndpi/src/lib/protocols/wireguard.c:127,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/wireguard.c:139,1
    - Dst: ndpi_int_wireguard_add_connection
      Src: /src/ndpi/src/lib/protocols/wireguard.c:144,1
    - Dst: ndpi_int_wireguard_add_connection
      Src: /src/ndpi/src/lib/protocols/wireguard.c:146,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/wireguard.c:148,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/wireguard.c:160,1
    - Dst: ndpi_int_wireguard_add_connection
      Src: /src/ndpi/src/lib/protocols/wireguard.c:162,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/wireguard.c:164,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/wireguard.c:175,1
    - Dst: ndpi_int_wireguard_add_connection
      Src: /src/ndpi/src/lib/protocols/wireguard.c:190,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/wireguard.c:192,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/wireguard.c:197,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 199
    functionName: ndpi_search_wireguard
    functionSourceFile: /src/ndpi/src/lib/protocols/wireguard.c
    functionUses: 0
    functionsReached:
    - ndpi_int_wireguard_add_connection
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_wireguard(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t\t
      \ struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/wireguard.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: init_wireguard_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/wireguard.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_wireguard_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zattoo.c:42,1
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/zattoo.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: ndpi_int_zattoo_user_agent_set
    functionSourceFile: /src/ndpi/src/lib/protocols/zattoo.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - memcmp
    linkageType: ''
    returnType: __mingw_forceinline
    signature: __mingw_forceinline ndpi_int_zattoo_user_agent_set(struct ndpi_detection_module_struct
      *ndpi_struct)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/zattoo.c:59,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zattoo.c:63,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/zattoo.c:65,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zattoo.c:69,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/zattoo.c:71,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zattoo.c:75,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zattoo.c:76,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/zattoo.c:78,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zattoo.c:81,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/zattoo.c:83,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zattoo.c:88,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zattoo.c:88,1
    - Dst: NDPI_STATICSTRING_LEN
      Src: /src/ndpi/src/lib/protocols/zattoo.c:88,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/zattoo.c:91,1
    - Dst: ndpi_int_zattoo_user_agent_set
      Src: /src/ndpi/src/lib/protocols/zattoo.c:93,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/zattoo.c:95,1
    - Dst: memcmp
      Src: /src/ndpi/src/lib/protocols/zattoo.c:99,1
    - Dst: ndpi_parse_packet_line_info
      Src: /src/ndpi/src/lib/protocols/zattoo.c:101,1
    - Dst: ndpi_bytestream_to_ipv4
      Src: /src/ndpi/src/lib/protocols/zattoo.c:108,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/zattoo.c:125,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/zattoo.c:138,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/zattoo.c:144,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/zattoo.c:153,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/zattoo.c:165,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/zattoo.c:170,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/zattoo.c:176,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/zattoo.c:184,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/zattoo.c:184,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/zattoo.c:185,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/zattoo.c:185,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/zattoo.c:186,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/zattoo.c:186,1
    - Dst: get_u_int16_t
      Src: /src/ndpi/src/lib/protocols/zattoo.c:187,1
    - Dst: htons
      Src: /src/ndpi/src/lib/protocols/zattoo.c:187,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/zattoo.c:188,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/zattoo.c:188,1
    - Dst: get_u_int32_t
      Src: /src/ndpi/src/lib/protocols/zattoo.c:189,1
    - Dst: htonl
      Src: /src/ndpi/src/lib/protocols/zattoo.c:189,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/zattoo.c:193,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/zattoo.c:197,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/zattoo.c:201,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/zattoo.c:207,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 85
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 208
    functionName: ndpi_search_zattoo
    functionSourceFile: /src/ndpi/src/lib/protocols/zattoo.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_INFO
    - get_u_int16_t
    - ndpi_int_zattoo_user_agent_set
    - NDPI_LOG_DBG
    - get_u_int32_t
    - NDPI_STATICSTRING_LEN
    - htons
    - memcmp
    - ndpi_parse_packet_line_info
    - htonl
    - NDPI_EXCLUDE_DISSECTOR
    - NDPI_LOG_DBG2
    - ndpi_bytestream_to_ipv4
    linkageType: ''
    returnType: void
    signature: void ndpi_search_zattoo(struct ndpi_detection_module_struct *ndpi_struct,
      struct ndpi_flow_struct *flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/zattoo.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: init_zattoo_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/zattoo.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_zattoo_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: bvlc_header
    functionSourceFile: /src/ndpi/src/lib/protocols/bacnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON bvlc_header
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/bacnet.c:43,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/bacnet.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: ndpi_int_bacnet_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/bacnet.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_bacnet_add_connection(struct ndpi_detection_module_struct
      * const ndpi_struct,\n                                           struct ndpi_flow_struct
      * const flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/bacnet.c:59,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/bacnet.c:63,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/bacnet.c:69,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/bacnet.c:75,1
    - Dst: ntohs
      Src: /src/ndpi/src/lib/protocols/bacnet.c:79,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/bacnet.c:81,1
    - Dst: ndpi_int_bacnet_add_connection
      Src: /src/ndpi/src/lib/protocols/bacnet.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 53
    functionDepth: 6
    functionLinenumber: 53
    functionLinenumberEnd: 86
    functionName: ndpi_search_bacnet
    functionSourceFile: /src/ndpi/src/lib/protocols/bacnet.c
    functionUses: 0
    functionsReached:
    - NDPI_LOG_DBG
    - ntohs
    - NDPI_EXCLUDE_DISSECTOR
    - ndpi_int_bacnet_add_connection
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_bacnet(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                              struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/bacnet.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: init_bacnet_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/bacnet.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_bacnet_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/steam.c:37,1
    - Dst: le64toh
      Src: /src/ndpi/src/lib/protocols/steam.c:42,1
    - Dst: get_u_int64_t
      Src: /src/ndpi/src/lib/protocols/steam.c:42,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/steam.c:44,1
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/steam.c:45,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/steam.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 54
    functionName: ndpi_search_steam
    functionSourceFile: /src/ndpi/src/lib/protocols/steam.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    - NDPI_LOG_DBG
    - le64toh
    - NDPI_EXCLUDE_DISSECTOR
    - get_u_int64_t
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_steam(struct ndpi_detection_module_struct *ndpi_struct,\n
      \                             struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/steam.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: init_steam_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/steam.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_steam_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_set_detected_protocol
      Src: /src/ndpi/src/lib/protocols/noe.c:36,1
    - Dst: NDPI_LOG_INFO
      Src: /src/ndpi/src/lib/protocols/noe.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: ndpi_int_noe_add_connection
    functionSourceFile: /src/ndpi/src/lib/protocols/noe.c
    functionUses: 0
    functionsReached:
    - ndpi_set_detected_protocol
    - NDPI_LOG_INFO
    linkageType: ''
    returnType: void
    signature: "void ndpi_int_noe_add_connection(struct ndpi_detection_module_struct\n\t\t\t\t\t*ndpi_struct,
      struct ndpi_flow_struct *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_LOG_DBG
      Src: /src/ndpi/src/lib/protocols/noe.c:45,1
    - Dst: NDPI_LOG_DBG2
      Src: /src/ndpi/src/lib/protocols/noe.c:48,1
    - Dst: ndpi_int_noe_add_connection
      Src: /src/ndpi/src/lib/protocols/noe.c:51,1
    - Dst: ndpi_int_noe_add_connection
      Src: /src/ndpi/src/lib/protocols/noe.c:58,1
    - Dst: ndpi_int_noe_add_connection
      Src: /src/ndpi/src/lib/protocols/noe.c:65,1
    - Dst: NDPI_EXCLUDE_DISSECTOR
      Src: /src/ndpi/src/lib/protocols/noe.c:70,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - ndpi_struct
    - flow
    argTypes:
    - struct ndpi_detection_module_struct*
    - struct ndpi_flow_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 71
    functionName: ndpi_search_noe
    functionSourceFile: /src/ndpi/src/lib/protocols/noe.c
    functionUses: 0
    functionsReached:
    - ndpi_int_noe_add_connection
    - NDPI_LOG_DBG2
    - NDPI_LOG_DBG
    - NDPI_EXCLUDE_DISSECTOR
    linkageType: ''
    returnType: void
    signature: "void ndpi_search_noe(struct ndpi_detection_module_struct *ndpi_struct,\n\t\t\t
      \   struct ndpi_flow_struct *flow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_dissector
      Src: /src/ndpi/src/lib/protocols/noe.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: init_noe_dissector
    functionSourceFile: /src/ndpi/src/lib/protocols/noe.c
    functionUses: 1
    functionsReached:
    - register_dissector
    linkageType: ''
    returnType: void
    signature: void init_noe_dissector(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: IN_MULTICAST
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN_MULTICAST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: IN_EXPERIMENTAL
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN_EXPERIMENTAL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa_prefix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: __SOCKADDR_COMMON
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __SOCKADDR_COMMON(sa_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: IN6_IS_ADDR_V4MAPPED
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_V4MAPPED(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: IN6_IS_ADDR_MULTICAST
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_MULTICAST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: IN6_IS_ADDR_LINKLOCAL
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_LINKLOCAL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: IN6_IS_ADDR_LOOPBACK
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_LOOPBACK(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: IP6OPT_TYPE
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IP6OPT_TYPE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: BPF_WORDALIGN
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_WORDALIGN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 831
    functionName: DLT_CLASS
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DLT_CLASS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - af
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 841
    functionName: DLT_NETBSD_RAWAF
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DLT_NETBSD_RAWAF(af)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 842
    functionName: DLT_NETBSD_RAWAF_AF
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DLT_NETBSD_RAWAF_AF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 843
    functionName: DLT_IS_NETBSD_RAWAF
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DLT_IS_NETBSD_RAWAF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 850
    functionName: BPF_CLASS
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CLASS(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 861
    functionName: BPF_SIZE
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_SIZE(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 865
    functionName: BPF_MODE
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_MODE(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 874
    functionName: BPF_OP
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_OP(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 889
    functionName: BPF_SRC
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_SRC(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 894
    functionName: BPF_RVAL
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_RVAL(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 898
    functionName: BPF_MISCOP
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_MISCOP(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 915
    functionName: BPF_STMT
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_STMT(code, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - k
    - ','
    - jt
    - ','
    - jf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 916
    functionName: BPF_JUMP
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_JUMP(code, k, jt, jf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: LT_FCS_LENGTH_PRESENT
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LT_FCS_LENGTH_PRESENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: LT_FCS_LENGTH
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LT_FCS_LENGTH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: LT_FCS_DATALINK_EXT
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LT_FCS_DATALINK_EXT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: pcap_fopen_offline
    functionSourceFile: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcap_fopen_offline(f,b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argv
    - d
    argTypes:
    - char**
    - struct _getopt_data_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 110
    functionName: exchange_a
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void exchange_a(char **argv, struct _getopt_data_a *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/ndpi/windows/src/getopt.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - optstring
    - d
    - posixly_correct
    argTypes:
    - char*
    - struct _getopt_data_a*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: _getopt_initialize_a
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 1
    functionsReached:
    - getenv
    linkageType: ''
    returnType: char
    signature: char *_getopt_initialize_a (const char *optstring, struct _getopt_data_a
      *d, int posixly_correct)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_initialize_a
      Src: /src/ndpi/windows/src/getopt.c:142,1
    - Dst: exchange_a
      Src: /src/ndpi/windows/src/getopt.c:158,1
    - Dst: strcmp
      Src: /src/ndpi/windows/src/getopt.c:165,1
    - Dst: exchange_a
      Src: /src/ndpi/windows/src/getopt.c:169,1
    - Dst: strchr
      Src: /src/ndpi/windows/src/getopt.c:190,1
    - Dst: strncmp
      Src: /src/ndpi/windows/src/getopt.c:207,1
    - Dst: strlen
      Src: /src/ndpi/windows/src/getopt.c:209,1
    - Dst: alloca
      Src: /src/ndpi/windows/src/getopt.c:223,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:237,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:240,1
    - Dst: fputc
      Src: /src/ndpi/windows/src/getopt.c:244,1
    - Dst: strlen
      Src: /src/ndpi/windows/src/getopt.c:246,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:265,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:269,1
    - Dst: strlen
      Src: /src/ndpi/windows/src/getopt.c:272,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:285,1
    - Dst: strlen
      Src: /src/ndpi/windows/src/getopt.c:287,1
    - Dst: strlen
      Src: /src/ndpi/windows/src/getopt.c:292,1
    - Dst: strchr
      Src: /src/ndpi/windows/src/getopt.c:302,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:308,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:312,1
    - Dst: strchr
      Src: /src/ndpi/windows/src/getopt.c:323,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:330,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:355,1
    - Dst: strncmp
      Src: /src/ndpi/windows/src/getopt.c:368,1
    - Dst: strlen
      Src: /src/ndpi/windows/src/getopt.c:370,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:389,1
    - Dst: strlen
      Src: /src/ndpi/windows/src/getopt.c:391,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:406,1
    - Dst: strlen
      Src: /src/ndpi/windows/src/getopt.c:408,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:420,1
    - Dst: strlen
      Src: /src/ndpi/windows/src/getopt.c:422,1
    - Dst: strlen
      Src: /src/ndpi/windows/src/getopt.c:428,1
    - Dst: fprintf
      Src: /src/ndpi/windows/src/getopt.c:466,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 259
    argCount: 8
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - d
    - posixly_correct
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    - int
    - struct _getopt_data_a*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 481
    functionName: _getopt_internal_r_a
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 3
    functionsReached:
    - strcmp
    - strlen
    - alloca
    - _getopt_initialize_a
    - strchr
    - strncmp
    - exchange_a
    - fputc
    - fprintf
    linkageType: ''
    returnType: int
    signature: int _getopt_internal_r_a (int argc, char *const *argv, const char *optstring,
      const struct option_a *longopts, int *longind, int long_only, struct _getopt_data_a
      *d, int posixly_correct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_a
      Src: /src/ndpi/windows/src/getopt.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - posixly_correct
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: _getopt_internal_a
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 3
    functionsReached:
    - _getopt_internal_r_a
    linkageType: ''
    returnType: int
    signature: int _getopt_internal_a (int argc, char *const *argv, const char *optstring,
      const struct option_a *longopts, int *longind, int long_only, int posixly_correct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_a
      Src: /src/ndpi/windows/src/getopt.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: getopt_a
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_a
    linkageType: ''
    returnType: int
    signature: int getopt_a (int argc, char *const *argv, const char *optstring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_a
      Src: /src/ndpi/windows/src/getopt.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: getopt_long_a
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_a
    linkageType: ''
    returnType: int
    signature: int getopt_long_a (int argc, char *const *argv, const char *options,
      const struct option_a *long_options, int *opt_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_a
      Src: /src/ndpi/windows/src/getopt.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: getopt_long_only_a
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_a
    linkageType: ''
    returnType: int
    signature: int getopt_long_only_a (int argc, char *const *argv, const char *options,
      const struct option_a *long_options, int *opt_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_a
      Src: /src/ndpi/windows/src/getopt.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    - struct _getopt_data_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: _getopt_long_r_a
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r_a
    linkageType: ''
    returnType: int
    signature: int _getopt_long_r_a (int argc, char *const *argv, const char *options,
      const struct option_a *long_options, int *opt_index, struct _getopt_data_a *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_a
      Src: /src/ndpi/windows/src/getopt.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option_a*
    - int*
    - struct _getopt_data_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: _getopt_long_only_r_a
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r_a
    linkageType: ''
    returnType: int
    signature: int _getopt_long_only_r_a (int argc, char *const *argv, const char
      *options, const struct option_a *long_options, int *opt_index, struct _getopt_data_a
      *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - argv
    - d
    argTypes:
    - wchar_t**
    - struct _getopt_data_w*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 570
    functionName: exchange_w
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void exchange_w(wchar_t **argv, struct _getopt_data_w *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _wgetenv
      Src: /src/ndpi/windows/src/getopt.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - optstring
    - d
    - posixly_correct
    argTypes:
    - wchar_t*
    - struct _getopt_data_w*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 591
    functionName: _getopt_initialize_w
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 1
    functionsReached:
    - _wgetenv
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *_getopt_initialize_w (const wchar_t *optstring, struct _getopt_data_w
      *d, int posixly_correct)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_initialize_w
      Src: /src/ndpi/windows/src/getopt.c:602,1
    - Dst: exchange_w
      Src: /src/ndpi/windows/src/getopt.c:618,1
    - Dst: wcscmp
      Src: /src/ndpi/windows/src/getopt.c:625,1
    - Dst: exchange_w
      Src: /src/ndpi/windows/src/getopt.c:629,1
    - Dst: wcschr
      Src: /src/ndpi/windows/src/getopt.c:650,1
    - Dst: wcsncmp
      Src: /src/ndpi/windows/src/getopt.c:667,1
    - Dst: wcslen
      Src: /src/ndpi/windows/src/getopt.c:669,1
    - Dst: alloca
      Src: /src/ndpi/windows/src/getopt.c:683,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:697,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:700,1
    - Dst: fputwc
      Src: /src/ndpi/windows/src/getopt.c:704,1
    - Dst: wcslen
      Src: /src/ndpi/windows/src/getopt.c:706,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:725,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:729,1
    - Dst: wcslen
      Src: /src/ndpi/windows/src/getopt.c:732,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:745,1
    - Dst: wcslen
      Src: /src/ndpi/windows/src/getopt.c:747,1
    - Dst: wcslen
      Src: /src/ndpi/windows/src/getopt.c:752,1
    - Dst: wcschr
      Src: /src/ndpi/windows/src/getopt.c:762,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:768,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:772,1
    - Dst: wcschr
      Src: /src/ndpi/windows/src/getopt.c:783,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:790,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:815,1
    - Dst: wcsncmp
      Src: /src/ndpi/windows/src/getopt.c:828,1
    - Dst: wcslen
      Src: /src/ndpi/windows/src/getopt.c:830,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:849,1
    - Dst: wcslen
      Src: /src/ndpi/windows/src/getopt.c:851,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:866,1
    - Dst: wcslen
      Src: /src/ndpi/windows/src/getopt.c:868,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:880,1
    - Dst: wcslen
      Src: /src/ndpi/windows/src/getopt.c:882,1
    - Dst: wcslen
      Src: /src/ndpi/windows/src/getopt.c:888,1
    - Dst: fwprintf
      Src: /src/ndpi/windows/src/getopt.c:926,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 259
    argCount: 8
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - d
    - posixly_correct
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    - int
    - struct _getopt_data_w*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 941
    functionName: _getopt_internal_r_w
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 3
    functionsReached:
    - _getopt_initialize_w
    - alloca
    - fputwc
    - fwprintf
    - wcslen
    - wcscmp
    - wcschr
    - exchange_w
    - wcsncmp
    linkageType: ''
    returnType: int
    signature: int _getopt_internal_r_w (int argc, wchar_t *const *argv, const wchar_t
      *optstring, const struct option_w *longopts, int *longind, int long_only, struct
      _getopt_data_w *d, int posixly_correct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_w
      Src: /src/ndpi/windows/src/getopt.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - posixly_correct
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 952
    functionName: _getopt_internal_w
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 3
    functionsReached:
    - _getopt_internal_r_w
    linkageType: ''
    returnType: int
    signature: int _getopt_internal_w (int argc, wchar_t *const *argv, const wchar_t
      *optstring, const struct option_w *longopts, int *longind, int long_only, int
      posixly_correct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_w
      Src: /src/ndpi/windows/src/getopt.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: getopt_w
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_w
    linkageType: ''
    returnType: int
    signature: int getopt_w (int argc, wchar_t *const *argv, const wchar_t *optstring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_w
      Src: /src/ndpi/windows/src/getopt.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 960
    functionName: getopt_long_w
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_w
    linkageType: ''
    returnType: int
    signature: int getopt_long_w (int argc, wchar_t *const *argv, const wchar_t *options,
      const struct option_w *long_options, int *opt_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_w
      Src: /src/ndpi/windows/src/getopt.c:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 964
    functionName: getopt_long_only_w
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_w
    linkageType: ''
    returnType: int
    signature: int getopt_long_only_w (int argc, wchar_t *const *argv, const wchar_t
      *options, const struct option_w *long_options, int *opt_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_w
      Src: /src/ndpi/windows/src/getopt.c:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    - struct _getopt_data_w*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 968
    functionName: _getopt_long_r_w
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r_w
    linkageType: ''
    returnType: int
    signature: int _getopt_long_r_w (int argc, wchar_t *const *argv, const wchar_t
      *options, const struct option_w *long_options, int *opt_index, struct _getopt_data_w
      *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r_w
      Src: /src/ndpi/windows/src/getopt.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - wchar_t**
    - wchar_t*
    - struct option_w*
    - int*
    - struct _getopt_data_w*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 972
    functionName: _getopt_long_only_r_w
    functionSourceFile: /src/ndpi/windows/src/getopt.c
    functionUses: 0
    functionsReached:
    - _getopt_internal_r_w
    linkageType: ''
    returnType: int
    signature: int _getopt_long_only_r_w (int argc, wchar_t *const *argv, const wchar_t
      *options, const struct option_w *long_options, int *opt_index, struct _getopt_data_w
      *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/ndpi/windows/src/win-gettimeofday.c:30,1
    - Dst: _tzset
      Src: /src/ndpi/windows/src/win-gettimeofday.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - tv
    - tz
    argTypes:
    - struct timeval*
    - struct timezone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 55
    functionName: gettimeofday
    functionSourceFile: /src/ndpi/windows/src/win-gettimeofday.c
    functionUses: 5
    functionsReached:
    - _tzset
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int
    signature: int gettimeofday(struct timeval *tv, struct timezone *tz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mod
    - ','
    - flow
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: NDPI_EXCLUDE_DISSECTOR
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 274
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_EXCLUDE_DISSECTOR(mod,flow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: NDPI_STATICSTRING_LEN
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_STATICSTRING_LEN( s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: NDPI_COMPARE_IPV6_ADDRESS_STRUCTS
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_COMPARE_IPV6_ADDRESS_STRUCTS(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: howmanybits
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: howmanybits(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: NDPI_SET_BIT
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_SET_BIT(num, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: NDPI_CLR_BIT
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_CLR_BIT(num, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: NDPI_CLR_BIT
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_CLR_BIT(num, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: NDPI_ISSET_BIT
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_ISSET_BIT(num, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: NDPI_ZERO_BIT
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_ZERO_BIT(num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: NDPI_ONES_BIT
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_ONES_BIT(num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ndpi_min
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ndpi_min(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: ndpi_max
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ndpi_max(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: NDPI_ARRAY_LENGTH
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NDPI_ARRAY_LENGTH(array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - O
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: get_u_int8_t
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_u_int8_t(X,O)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - O
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: get_u_int16_t
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 65
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_u_int16_t(X,O)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - O
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: get_u_int32_t
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 73
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_u_int32_t(X,O)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/windows/src/ndpi_define.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - X
    - O
    argTypes:
    - u_int8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: get_u_int64_t
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 11
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: u_int64_t
    signature: u_int64_t get_u_int64_t(const u_int8_t* X, int O)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - O
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: get_u_int64_t
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_u_int64_t(X,O)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - O
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: get_ul8
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_ul8(X,O)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - O
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: get_l16
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_l16(X,O)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - O
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: get_l32
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_l32(X,O)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - O
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: get_l16
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_l16(X,O)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - O
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: get_l32
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_l32(X,O)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - payload
    - ','
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: match_first_bytes
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: match_first_bytes(payload,st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: le16toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: le32toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: htobe16
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: htole16
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: be16toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: le16toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: htobe32
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: htole32
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: be32toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: le32toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: htobe64
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: htole64
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: be64toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: le64toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: htobe16
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: htole16
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: be16toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: le16toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: htobe32
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: htole32
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: be32toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: le32toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: htobe64
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: htole64
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: be64toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: le64toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: htobe16
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: htole16
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: be16toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: le16toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: htobe32
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: htole32
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: be32toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: le32toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: htobe64
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: htole64
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: be64toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: le64toh
    functionSourceFile: /src/ndpi/windows/src/ndpi_define.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:36,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:46,1
    - Dst: exit
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: help
    functionSourceFile: /src/ndpi/rrdtool/rrd_anomaly.c
    functionUses: 2
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void help()
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:70,1
    - Dst: atof
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:88,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:93,1
    - Dst: atof
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:102,1
    - Dst: help
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:112,1
    - Dst: help
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:118,1
    - Dst: ndpi_ses_init
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:120,1
    - Dst: rrd_parsetime
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:122,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:123,1
    - Dst: rrd_parsetime
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:127,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:128,1
    - Dst: rrd_proc_start_end
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:132,1
    - Dst: rrd_fetch_r
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:134,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:135,1
    - Dst: isnan
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:143,1
    - Dst: ndpi_ses_add_value
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:151,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:157,1
    - Dst: localtime
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:160,1
    - Dst: strftime
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:162,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:166,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:170,1
    - Dst: rrd_freemem
      Src: /src/ndpi/rrdtool/rrd_anomaly.c:178,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/ndpi/rrdtool/rrd_anomaly.c
    functionUses: 8
    functionsReached:
    - getopt
    - strftime
    - ndpi_ses_add_value
    - rrd_freemem
    - ndpi_ses_init
    - rrd_parsetime
    - help
    - rrd_fetch_r
    - atof
    - rrd_proc_start_end
    - isnan
    - localtime
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:53,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:68,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:70,1
    - Dst: exit
      Src: /src/ndpi/rrdtool/rrd_similarity.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: help
    functionSourceFile: /src/ndpi/rrdtool/rrd_similarity.c
    functionUses: 3
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void help()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rrd_fetch_r
      Src: /src/ndpi/rrdtool/rrd_similarity.c:84,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:85,1
    - Dst: ndpi_alloc_data_analysis
      Src: /src/ndpi/rrdtool/rrd_similarity.c:92,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/rrdtool/rrd_similarity.c:95,1
    - Dst: isnan
      Src: /src/ndpi/rrdtool/rrd_similarity.c:101,1
    - Dst: ndpi_data_add_value
      Src: /src/ndpi/rrdtool/rrd_similarity.c:102,1
    - Dst: ndpi_set_bin
      Src: /src/ndpi/rrdtool/rrd_similarity.c:103,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/rrdtool/rrd_similarity.c:106,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/rrdtool/rrd_similarity.c:107,1
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/rrdtool/rrd_similarity.c:110,1
    - Dst: rrd_freemem
      Src: /src/ndpi/rrdtool/rrd_similarity.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - rrd
    - start
    - end
    argTypes:
    - rrd_file_stats*
    - time_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 112
    functionName: analyze_rrd
    functionSourceFile: /src/ndpi/rrdtool/rrd_similarity.c
    functionUses: 0
    functionsReached:
    - ndpi_free_data_analysis
    - ndpi_alloc_data_analysis
    - ndpi_data_stddev
    - rrd_freemem
    - ndpi_data_average
    - ndpi_init_bin
    - rrd_fetch_r
    - ndpi_data_add_value
    - isnan
    - ndpi_set_bin
    - printf
    linkageType: ''
    returnType: void
    signature: void analyze_rrd(rrd_file_stats *rrd, time_t start, time_t end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/ndpi/rrdtool/rrd_similarity.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - r1
    - x2
    - r2
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: circles_touch
    functionSourceFile: /src/ndpi/rrdtool/rrd_similarity.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: int
    signature: int circles_touch(int x1, int r1, int x2, int r2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:139,1
    - Dst: circles_touch
      Src: /src/ndpi/rrdtool/rrd_similarity.c:144,1
    - Dst: ndpi_bin_similarity
      Src: /src/ndpi/rrdtool/rrd_similarity.c:146,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:150,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - rrd
    - num_rrds
    argTypes:
    - rrd_file_stats*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 168
    functionName: find_rrd_similarities
    functionSourceFile: /src/ndpi/rrdtool/rrd_similarity.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_bin_similarity
    - circles_touch
    linkageType: ''
    returnType: void
    signature: void find_rrd_similarities(rrd_file_stats *rrd, u_int num_rrds)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: scandir
      Src: /src/ndpi/rrdtool/rrd_similarity.c:174,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:184,1
    - Dst: stat
      Src: /src/ndpi/rrdtool/rrd_similarity.c:186,1
    - Dst: S_ISDIR
      Src: /src/ndpi/rrdtool/rrd_similarity.c:187,1
    - Dst: find_rrds
      Src: /src/ndpi/rrdtool/rrd_similarity.c:188,1
    - Dst: strcmp
      Src: /src/ndpi/rrdtool/rrd_similarity.c:189,1
    - Dst: strdup
      Src: /src/ndpi/rrdtool/rrd_similarity.c:191,1
    - Dst: free
      Src: /src/ndpi/rrdtool/rrd_similarity.c:199,1
    - Dst: free
      Src: /src/ndpi/rrdtool/rrd_similarity.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - basedir
    - filename
    - rrds
    - num_rrds
    argTypes:
    - char*
    - char*
    - rrd_file_stats*
    - u_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 203
    functionName: find_rrds
    functionSourceFile: /src/ndpi/rrdtool/rrd_similarity.c
    functionUses: 1
    functionsReached:
    - find_rrds
    - strcmp
    - ndpi_snprintf
    - free
    - strdup
    - scandir
    - stat
    - S_ISDIR
    linkageType: ''
    returnType: void
    signature: void find_rrds(char *basedir, char *filename, rrd_file_stats *rrds,
      u_int *num_rrds)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/ndpi/rrdtool/rrd_similarity.c:220,1
    - Dst: atoi
      Src: /src/ndpi/rrdtool/rrd_similarity.c:245,1
    - Dst: help
      Src: /src/ndpi/rrdtool/rrd_similarity.c:253,1
    - Dst: help
      Src: /src/ndpi/rrdtool/rrd_similarity.c:259,1
    - Dst: rrd_parsetime
      Src: /src/ndpi/rrdtool/rrd_similarity.c:261,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:262,1
    - Dst: rrd_parsetime
      Src: /src/ndpi/rrdtool/rrd_similarity.c:266,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:267,1
    - Dst: rrd_proc_start_end
      Src: /src/ndpi/rrdtool/rrd_similarity.c:271,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/rrdtool/rrd_similarity.c:273,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:274,1
    - Dst: find_rrds
      Src: /src/ndpi/rrdtool/rrd_similarity.c:279,1
    - Dst: analyze_rrd
      Src: /src/ndpi/rrdtool/rrd_similarity.c:283,1
    - Dst: find_rrd_similarities
      Src: /src/ndpi/rrdtool/rrd_similarity.c:285,1
    - Dst: printf
      Src: /src/ndpi/rrdtool/rrd_similarity.c:290,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/rrdtool/rrd_similarity.c:295,1
    - Dst: free
      Src: /src/ndpi/rrdtool/rrd_similarity.c:296,1
    - Dst: ndpi_free
      Src: /src/ndpi/rrdtool/rrd_similarity.c:299,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 302
    functionName: main
    functionSourceFile: /src/ndpi/rrdtool/rrd_similarity.c
    functionUses: 8
    functionsReached:
    - getopt
    - find_rrds
    - ndpi_free_bin
    - rrd_parsetime
    - help
    - analyze_rrd
    - rrd_proc_start_end
    - free
    - atoi
    - ndpi_free
    - printf
    - find_rrd_similarities
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:28,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:32,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:35,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:36,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:37,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:38,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:40,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:41,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:42,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:47,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:51,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:52,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPointInRange
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:53,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPointInRange
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:54,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPointInRange
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:55,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPointInRange
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:56,1
    - Dst: ndpi_hw_init
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:57,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:60,1
    - Dst: ndpi_alloc_rsi
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:61,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:64,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:65,1
    - Dst: ndpi_alloc_data_analysis
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:66,1
    - Dst: ndpi_data_add_value
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:68,1
    - Dst: ndpi_alloc_data_analysis_from_series
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:71,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:75,1
    - Dst: ndpi_hw_add_value
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:80,1
    - Dst: ndpi_rsi_add_value
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:82,1
    - Dst: ndpi_find_outliers
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:84,1
    - Dst: ndpi_predict_linear
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:85,1
    - Dst: ndpi_data_print_window_values
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:88,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:89,1
    - Dst: ndpi_data_mean
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:90,1
    - Dst: ndpi_data_variance
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:91,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:92,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:93,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:94,1
    - Dst: ndpi_data_jitter
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:95,1
    - Dst: ndpi_data_last
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:96,1
    - Dst: ndpi_data_window_average
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:97,1
    - Dst: ndpi_data_window_variance
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:98,1
    - Dst: ndpi_data_window_stddev
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:99,1
    - Dst: ndpi_data_entropy
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:100,1
    - Dst: ndpi_reset_data_analysis
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:101,1
    - Dst: ndpi_hw_reset
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:103,1
    - Dst: ndpi_data_ratio2str
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:107,1
    - Dst: ndpi_data_ratio
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:107,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:110,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPointInRange
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:111,1
    - Dst: ndpi_is_outlier
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:112,1
    - Dst: ndpi_pearson_correlation
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:116,1
    - Dst: ndpi_hw_free
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:120,1
    - Dst: ndpi_free_rsi
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:122,1
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:123,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:124,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:125,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp:126,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 8
    functionDepth: 4
    functionLinenumber: 8
    functionLinenumberEnd: 129
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp
    functionUses: 0
    functionsReached:
    - ndpi_find_outliers
    - ndpi_alloc_data_analysis
    - ndpi_alloc_rsi
    - ndpi_data_average
    - ndpi_data_add_value
    - ndpi_data_ratio
    - ndpi_free_rsi
    - FuzzedDataProvider::ConsumeFloatingPointInRange
    - ndpi_data_print_window_values
    - ndpi_data_variance
    - ndpi_rsi_add_value
    - ndpi_data_stddev
    - ndpi_data_last
    - ndpi_data_max
    - ndpi_hw_free
    - ndpi_data_window_average
    - ndpi_free
    - ndpi_data_mean
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_is_outlier
    - ndpi_pearson_correlation
    - ndpi_data_ratio2str
    - ndpi_hw_init
    - ndpi_malloc
    - FuzzedDataProvider::ConsumeBool
    - ndpi_data_window_variance
    - ndpi_reset_data_analysis
    - ndpi_hw_reset
    - ndpi_alloc_data_analysis_from_series
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_predict_linear
    - ndpi_free_data_analysis
    - ndpi_hw_add_value
    - ndpi_data_entropy
    - ndpi_data_jitter
    - ndpi_data_min
    - ndpi_data_window_stddev
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:15,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:19,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:21,1
    - Dst: ndpi_hll_init
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:26,1
    - Dst: ndpi_hll_add_number
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:28,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:28,1
    - Dst: ndpi_hll_count
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:30,1
    - Dst: ndpi_hll_reset
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:32,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:36,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:36,1
    - Dst: ndpi_hll_add
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:37,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:37,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:37,1
    - Dst: ndpi_hll_count
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:40,1
    - Dst: ndpi_hll_destroy
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:42,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_hll.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 48
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_alg_hll.cpp
    functionUses: 0
    functionsReached:
    - ndpi_hll_reset
    - FuzzedDataProvider::ConsumeBytes
    - ndpi_hll_destroy
    - std::vector::data
    - ndpi_free
    - ndpi_hll_add_number
    - ndpi_hll_add
    - ndpi_malloc
    - std::vector::size
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_hll_init
    - ndpi_hll_count
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_crc16_ccit
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:22,1
    - Dst: ndpi_crc16_ccit_false
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:23,1
    - Dst: ndpi_crc16_xmodem
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:24,1
    - Dst: ndpi_crc16_x25
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:25,1
    - Dst: ndpi_crc32
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:26,1
    - Dst: ndpi_md5
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:28,1
    - Dst: ndpi_MD5Init
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:30,1
    - Dst: ndpi_MD5Update
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:31,1
    - Dst: ndpi_MD5Update
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:32,1
    - Dst: ndpi_MD5Final
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:33,1
    - Dst: ndpi_murmur_hash
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:35,1
    - Dst: ndpi_quick_hash
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:36,1
    - Dst: ndpi_quick_16_byte_hash
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:39,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:41,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:43,1
    - Dst: ndpi_quick_hash64
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:46,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:46,1
    - Dst: ndpi_hash_string
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:47,1
    - Dst: ndpi_rev_hash_string
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:48,1
    - Dst: ndpi_hash_string_len
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:49,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:49,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:51,1
    - Dst: ndpi_popcount_init
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:55,1
    - Dst: ndpi_popcount_count
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:56,1
    - Dst: ndpi_bin2hex
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:58,1
    - Dst: ndpi_hex2bin
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:59,1
    - Dst: ndpi_hex_encode
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:61,1
    - Dst: ndpi_hex_decode
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:62,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:63,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 4
    functionDepth: 3
    functionLinenumber: 4
    functionLinenumberEnd: 67
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c
    functionUses: 0
    functionsReached:
    - ndpi_MD5Init
    - ndpi_quick_16_byte_hash
    - strlen
    - ndpi_bin2hex
    - ndpi_hex_encode
    - ndpi_quick_hash
    - ndpi_free
    - ndpi_rev_hash_string
    - ndpi_hash_string
    - ndpi_md5
    - ndpi_malloc
    - ndpi_hex2bin
    - ndpi_crc16_xmodem
    - ndpi_hex_decode
    - ndpi_popcount_count
    - ndpi_crc16_ccit_false
    - ndpi_popcount_init
    - ndpi_crc16_x25
    - ndpi_crc32
    - ndpi_crc16_ccit
    - ndpi_MD5Final
    - ndpi_quick_hash64
    - ndpi_MD5Update
    - ndpi_hash_string_len
    - ndpi_murmur_hash
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:31,1
    - Dst: set_ndpi_debug_function
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:33,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:37,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:42,1
    - Dst: ndpi_domain_classify_alloc
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:44,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:50,1
    - Dst: ndpi_domain_classify_add
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:51,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:51,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:52,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:55,1
    - Dst: ndpi_domain_classify_add_domains
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:61,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:62,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:63,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:66,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:68,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:68,1
    - Dst: ndpi_domain_classify_hostname
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:69,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:69,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:69,1
    - Dst: ndpi_domain_classify_hostname
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:74,1
    - Dst: c_str
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:74,1
    - Dst: ndpi_domain_classify_size
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:77,1
    - Dst: ndpi_domain_classify_free
      Src: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 81
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - ndpi_load_domain_suffixes
    - set_ndpi_debug_function
    - ndpi_domain_classify_size
    - ndpi_domain_classify_add_domains
    - FuzzedDataProvider::ConsumeBool
    - ndpi_domain_classify_alloc
    - ndpi_domain_classify_hostname
    - FuzzedDataProvider::ConsumeBytesAsString
    - c_str
    - ndpi_domain_classify_add
    - ndpi_domain_classify_free
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - std::string::c_str
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_printable_buffer
      Src: /src/ndpi/fuzz/fuzz_dga.c:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - domain
    - domain_length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 7
    functionDepth: 2
    functionLinenumber: 7
    functionLinenumberEnd: 10
    functionName: ndpi_custom_dga_fn
    functionSourceFile: /src/ndpi/fuzz/fuzz_dga.c
    functionUses: 0
    functionsReached:
    - ndpi_is_printable_buffer
    linkageType: ''
    returnType: int
    signature: int ndpi_custom_dga_fn(const char* domain, int domain_length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_dga.c:16,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_dga.c:17,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_dga.c:28,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_dga.c:30,1
    - Dst: ndpi_check_dga_name
      Src: /src/ndpi/fuzz/fuzz_dga.c:32,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_dga.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 12
    functionDepth: 4
    functionLinenumber: 12
    functionLinenumberEnd: 37
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_dga.c
    functionUses: 0
    functionsReached:
    - fuzz_init_detection_module
    - ndpi_malloc
    - ndpi_check_dga_name
    - ndpi_free
    - memcpy
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_is_stun_tcp.c:20,1
    - Dst: is_stun
      Src: /src/ndpi/fuzz/fuzz_is_stun_tcp.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 4
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_is_stun_tcp.c
    functionUses: 0
    functionsReached:
    - fuzz_init_detection_module
    - is_stun
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: libinjection_sqli_init
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:12,1
    - Dst: libinjection_is_sqli
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:13,1
    - Dst: libinjection_sqli_init
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:14,1
    - Dst: libinjection_is_sqli
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:15,1
    - Dst: libinjection_sqli_init
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:16,1
    - Dst: libinjection_is_sqli
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:17,1
    - Dst: libinjection_sqli_init
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:18,1
    - Dst: libinjection_is_sqli
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:19,1
    - Dst: libinjection_sqli_init
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:20,1
    - Dst: libinjection_is_sqli
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:21,1
    - Dst: libinjection_sqli_init
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:22,1
    - Dst: libinjection_is_sqli
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:23,1
    - Dst: libinjection_sqli
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:25,1
    - Dst: libinjection_xss
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:27,1
    - Dst: libinjection_version
      Src: /src/ndpi/fuzz/fuzz_libinjection.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 6
    functionDepth: 7
    functionLinenumber: 6
    functionLinenumberEnd: 32
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_libinjection.c
    functionUses: 0
    functionsReached:
    - libinjection_sqli_init
    - libinjection_sqli
    - libinjection_xss
    - libinjection_version
    - libinjection_is_sqli
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_mutator
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - Data
    - Size
    - MaxSize
    - Seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    functionUses: 0
    functionsReached:
    - pl7m_mutator
    linkageType: ''
    returnType: size_t
    signature: "size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size,\n                               size_t
      MaxSize, unsigned int Seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirname
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:49,1
    - Dst: strdup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    functionUses: 0
    functionsReached:
    - dirname
    - strdup
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:61,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: node_cleanup_walker
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    functionUses: 0
    functionsReached:
    - process_ndpi_collected_info
    - ndpi_detection_giveup
    linkageType: ''
    returnType: void
    signature: void node_cleanup_walker(const void *node, ndpi_VISIT which, int depth,
      void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - f
    - d
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: fn_flow_callback
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fn_flow_callback(struct ndpi_workflow *w, struct ndpi_flow_info
      *f, void *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:87,1
    - Dst: fuzz_set_alloc_callbacks
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:94,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:97,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:99,1
    - Dst: ndpi_workflow_set_flow_callback
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:101,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:103,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:104,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:106,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:107,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:107,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:108,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:109,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:109,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:110,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:111,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:111,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:112,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:113,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:113,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:114,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:115,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:115,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:116,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:117,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:117,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:118,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:119,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:119,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:120,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:121,1
    - Dst: ndpi_load_tcp_fingerprint_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:121,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:122,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:123,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:123,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:126,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:130,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:131,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:132,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:133,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:134,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:135,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:137,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:138,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:139,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:141,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:142,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:143,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:144,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:145,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:146,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:147,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:148,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:151,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:152,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:153,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:154,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:161,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:178,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:181,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:185,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:187,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:190,1
    - Dst: pcap_datalink
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:190,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:193,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:199,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:201,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:206,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:209,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:215,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:216,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:217,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:220,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:222,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:226,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:227,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:229,1
    - Dst: ndpi_report_payload_stats
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:232,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:235,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:236,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 101
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_load_malicious_ja4_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    - condition: (ndpi_set_config(workflow->ndpi_struct, NULL, "filename.config",
        name) == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    - condition: (ndpi_load_protocols_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    - condition: (ndpi_load_risk_domain_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    - condition: (ndpi_load_categories_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    - condition: (ndpi_load_malicious_sha1_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    - condition: (ndpi_load_domain_suffixes(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    - condition: (ndpi_load_tcp_fingerprint_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    - condition: (ndpi_load_protocols_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    - condition: (ndpi_load_categories_file(workflow->ndpi_struct, name, NULL) >=
        0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    constantsTouched: []
    func_position:
      end: 241
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 241
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
    functionUses: 0
    functionsReached:
    - ndpi_load_domain_suffixes
    - ndpi_global_init
    - ndpi_twalk
    - buffer_to_file
    - ndpi_calloc
    - ndpi_update_params
    - ndpi_workflow_init
    - ndpi_report_payload_stats
    - ndpi_load_malicious_ja4_file
    - ndpi_workflow_process_packet
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_tdestroy
    - ndpi_load_protocols_file
    - fuzz_set_alloc_callbacks
    - fclose
    - ndpi_load_protocols_dir
    - sprintf
    - pcap_next_ex
    - pcap_fopen_offline
    - pcap_close
    - ndpi_is_datalink_supported
    - ndpi_load_malicious_sha1_file
    - pcap_datalink
    - ndpi_load_categories_dir
    - ndpi_set_config
    - ndpi_workflow_set_flow_callback
    - assert
    - ndpi_load_categories_file
    - ndpi_load_risk_domain_file
    - ndpi_load_tcp_fingerprint_file
    - calloc
    - malloc
    - free
    - ndpi_finalize_initialization
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_ja4.c:10,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_ja4.c:12,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_ja4.c:14,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_ja4.c:15,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_ja4.c:17,1
    - Dst: load_malicious_ja4_file_fd
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_ja4.c:18,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_ja4.c:20,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_ja4.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 5
    functionDepth: 6
    functionLinenumber: 5
    functionLinenumberEnd: 24
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_filecfg_malicious_ja4.c
    functionUses: 0
    functionsReached:
    - fclose
    - ndpi_init_detection_module
    - ndpi_set_config
    - ndpi_exit_detection_module
    - load_malicious_ja4_file_fd
    - buffer_to_file
    - fuzz_set_alloc_callbacks_and_seed
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_sha1.c:15,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_sha1.c:23,1
    - Dst: set_ndpi_debug_function
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_sha1.c:26,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_sha1.c:31,1
    - Dst: load_malicious_sha1_file_fd
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_sha1.c:32,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_sha1.c:34,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_sha1.c:38,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_filecfg_malicious_sha1.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 42
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_filecfg_malicious_sha1.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_free
    - load_malicious_sha1_file_fd
    - fclose
    - set_ndpi_debug_function
    - buffer_to_file
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_process_packet.c:14,1
    - Dst: ndpi_init_serializer
      Src: /src/ndpi/fuzz/fuzz_process_packet.c:16,1
    - Dst: ndpi_init_serializer
      Src: /src/ndpi/fuzz/fuzz_process_packet.c:17,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_process_packet.c:20,1
    - Dst: ndpi_detection_process_packet
      Src: /src/ndpi/fuzz/fuzz_process_packet.c:22,1
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_process_packet.c:23,1
    - Dst: ndpi_reset_serializer
      Src: /src/ndpi/fuzz/fuzz_process_packet.c:25,1
    - Dst: ndpi_reset_serializer
      Src: /src/ndpi/fuzz/fuzz_process_packet.c:26,1
    - Dst: ndpi_dpi2json
      Src: /src/ndpi/fuzz/fuzz_process_packet.c:27,1
    - Dst: ndpi_dpi2json
      Src: /src/ndpi/fuzz/fuzz_process_packet.c:28,1
    - Dst: ndpi_free_flow_data
      Src: /src/ndpi/fuzz/fuzz_process_packet.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 12
    functionDepth: 8
    functionLinenumber: 12
    functionLinenumberEnd: 32
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_process_packet.c
    functionUses: 0
    functionsReached:
    - ndpi_reset_serializer
    - ndpi_detection_giveup
    - fuzz_init_detection_module
    - ndpi_detection_process_packet
    - ndpi_dpi2json
    - ndpi_free_flow_data
    - memset
    - ndpi_init_serializer
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:15,1
    - Dst: ndpi_bitmap64_fuse_alloc
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:17,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:19,1
    - Dst: ndpi_bitmap64_fuse_compress
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:22,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:24,1
    - Dst: ndpi_bitmap64_fuse_set
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:28,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:34,1
    - Dst: ndpi_bitmap64_fuse_compress
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:35,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:38,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:40,1
    - Dst: ndpi_bitmap64_fuse_isset
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:42,1
    - Dst: ndpi_bitmap64_fuse_isset
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:46,1
    - Dst: ndpi_bitmap64_fuse_size
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:49,1
    - Dst: ndpi_bitmap64_fuse_free
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 54
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp
    functionUses: 0
    functionsReached:
    - ndpi_bitmap64_fuse_isset
    - ndpi_bitmap64_fuse_compress
    - ndpi_bitmap64_fuse_alloc
    - FuzzedDataProvider::ConsumeBool
    - ndpi_bitmap64_fuse_free
    - ndpi_bitmap64_fuse_size
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_bitmap64_fuse_set
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:16,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:22,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:24,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:25,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:27,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:28,1
    - Dst: ndpi_kd_create
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:32,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:38,1
    - Dst: ndpi_kd_insert
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:40,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:43,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:51,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:57,1
    - Dst: ndpi_kd_nearest
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:59,1
    - Dst: ndpi_kd_num_results
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:61,1
    - Dst: ndpi_kd_result_get_item
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:62,1
    - Dst: ndpi_kd_distance
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:64,1
    - Dst: ndpi_kd_result_free
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:66,1
    - Dst: ndpi_kd_nearest
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:75,1
    - Dst: ndpi_kd_num_results
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:77,1
    - Dst: ndpi_kd_result_get_item
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:78,1
    - Dst: ndpi_kd_result_free
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:79,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:83,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:84,1
    - Dst: ndpi_kd_clear
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:85,1
    - Dst: ndpi_kd_free
      Src: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp:86,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 89
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - ndpi_kd_free
    - FuzzedDataProvider::ConsumeFloatingPoint
    - ndpi_kd_insert
    - ndpi_kd_result_get_item
    - ndpi_kd_num_results
    - ndpi_kd_nearest
    - ndpi_kd_result_free
    - ndpi_kd_distance
    - ndpi_malloc
    - FuzzedDataProvider::ConsumeBool
    - ndpi_kd_create
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_kd_clear
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:19,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:21,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:22,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:24,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:25,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:27,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:28,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:35,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:36,1
    - Dst: ndpi_flowv4_flow_hash
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:38,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:43,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:44,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:45,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:46,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:47,1
    - Dst: ndpi_flowv6_flow_hash
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:49,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_community_id.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 9
    functionDepth: 4
    functionLinenumber: 9
    functionLinenumberEnd: 58
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_community_id.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - FuzzedDataProvider::ConsumeBytes
    - std::vector::data
    - ndpi_flowv6_flow_hash
    - ndpi_malloc
    - FuzzedDataProvider::ConsumeBool
    - ndpi_flowv4_flow_hash
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_filecfg_protocols.c:10,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_protocols.c:12,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_filecfg_protocols.c:14,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_filecfg_protocols.c:15,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_filecfg_protocols.c:17,1
    - Dst: load_protocols_file_fd
      Src: /src/ndpi/fuzz/fuzz_filecfg_protocols.c:18,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_filecfg_protocols.c:20,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_protocols.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 5
    functionDepth: 6
    functionLinenumber: 5
    functionLinenumberEnd: 24
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_filecfg_protocols.c
    functionUses: 0
    functionsReached:
    - fclose
    - ndpi_init_detection_module
    - ndpi_set_config
    - ndpi_exit_detection_module
    - buffer_to_file
    - fuzz_set_alloc_callbacks_and_seed
    - load_protocols_file_fd
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_mutator
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - Data
    - Size
    - MaxSize
    - Seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    functionUses: 0
    functionsReached:
    - pl7m_mutator
    linkageType: ''
    returnType: size_t
    signature: "size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size,\n                               size_t
      MaxSize, unsigned int Seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirname
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:49,1
    - Dst: strdup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    functionUses: 0
    functionsReached:
    - dirname
    - strdup
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:61,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: node_cleanup_walker
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    functionUses: 0
    functionsReached:
    - process_ndpi_collected_info
    - ndpi_detection_giveup
    linkageType: ''
    returnType: void
    signature: void node_cleanup_walker(const void *node, ndpi_VISIT which, int depth,
      void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - f
    - d
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: fn_flow_callback
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fn_flow_callback(struct ndpi_workflow *w, struct ndpi_flow_info
      *f, void *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:87,1
    - Dst: fuzz_set_alloc_callbacks
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:94,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:97,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:99,1
    - Dst: ndpi_workflow_set_flow_callback
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:101,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:103,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:104,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:106,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:107,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:107,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:108,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:109,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:109,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:110,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:111,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:111,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:112,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:113,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:113,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:114,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:115,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:115,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:116,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:117,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:117,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:118,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:119,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:119,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:120,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:121,1
    - Dst: ndpi_load_tcp_fingerprint_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:121,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:122,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:123,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:123,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:126,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:130,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:131,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:132,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:133,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:134,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:135,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:137,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:138,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:139,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:141,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:142,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:143,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:144,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:145,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:146,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:147,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:148,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:151,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:152,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:153,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:154,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:161,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:178,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:181,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:185,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:187,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:190,1
    - Dst: pcap_datalink
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:190,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:193,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:199,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:201,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:206,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:209,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:215,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:216,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:217,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:220,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:222,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:226,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:227,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:229,1
    - Dst: ndpi_report_payload_stats
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:232,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:235,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:236,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 101
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_load_protocols_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    - condition: (ndpi_load_categories_file(workflow->ndpi_struct, name, NULL) >=
        0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    - condition: (ndpi_load_tcp_fingerprint_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    - condition: (ndpi_load_domain_suffixes(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    - condition: (ndpi_load_malicious_sha1_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    - condition: (ndpi_load_categories_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    - condition: (ndpi_load_risk_domain_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    - condition: (ndpi_load_protocols_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    - condition: (ndpi_set_config(workflow->ndpi_struct, NULL, "filename.config",
        name) == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    - condition: (ndpi_load_malicious_ja4_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    constantsTouched: []
    func_position:
      end: 241
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 241
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
    functionUses: 0
    functionsReached:
    - ndpi_load_domain_suffixes
    - ndpi_global_init
    - ndpi_twalk
    - buffer_to_file
    - ndpi_calloc
    - ndpi_update_params
    - ndpi_workflow_init
    - ndpi_report_payload_stats
    - ndpi_load_malicious_ja4_file
    - ndpi_workflow_process_packet
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_tdestroy
    - ndpi_load_protocols_file
    - fuzz_set_alloc_callbacks
    - fclose
    - ndpi_load_protocols_dir
    - sprintf
    - pcap_next_ex
    - pcap_fopen_offline
    - pcap_close
    - ndpi_is_datalink_supported
    - ndpi_load_malicious_sha1_file
    - pcap_datalink
    - ndpi_load_categories_dir
    - ndpi_set_config
    - ndpi_workflow_set_flow_callback
    - assert
    - ndpi_load_categories_file
    - ndpi_load_risk_domain_file
    - ndpi_load_tcp_fingerprint_file
    - calloc
    - malloc
    - free
    - ndpi_finalize_initialization
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_quic_get_crypto_data.c:17,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_quic_get_crypto_data.c:19,1
    - Dst: ntohl
      Src: /src/ndpi/fuzz/fuzz_quic_get_crypto_data.c:25,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_quic_get_crypto_data.c:35,1
    - Dst: get_crypto_data
      Src: /src/ndpi/fuzz/fuzz_quic_get_crypto_data.c:40,1
    - Dst: is_version_with_tls
      Src: /src/ndpi/fuzz/fuzz_quic_get_crypto_data.c:43,1
    - Dst: process_chlo
      Src: /src/ndpi/fuzz/fuzz_quic_get_crypto_data.c:44,1
    - Dst: process_tls
      Src: /src/ndpi/fuzz/fuzz_quic_get_crypto_data.c:46,1
    - Dst: ndpi_free_flow_data
      Src: /src/ndpi/fuzz/fuzz_quic_get_crypto_data.c:50,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 11
    functionDepth: 8
    functionLinenumber: 11
    functionLinenumberEnd: 53
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_quic_get_crypto_data.c
    functionUses: 0
    functionsReached:
    - process_tls
    - get_crypto_data
    - ntohl
    - fuzz_init_detection_module
    - ndpi_free_flow_data
    - process_chlo
    - memset
    - is_version_with_tls
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_shoco.cpp:15,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytesAsString
      Src: /src/ndpi/fuzz/fuzz_alg_shoco.cpp:17,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_alg_shoco.cpp:18,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_alg_shoco.cpp:19,1
    - Dst: shoco_compress
      Src: /src/ndpi/fuzz/fuzz_alg_shoco.cpp:22,1
    - Dst: shoco_decompress
      Src: /src/ndpi/fuzz/fuzz_alg_shoco.cpp:24,1
    - Dst: ndpi_compress_str
      Src: /src/ndpi/fuzz/fuzz_alg_shoco.cpp:26,1
    - Dst: ndpi_decompress_str
      Src: /src/ndpi/fuzz/fuzz_alg_shoco.cpp:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 6
    functionDepth: 3
    functionLinenumber: 6
    functionLinenumberEnd: 32
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_alg_shoco.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeRemainingBytesAsString
    - strlen
    - shoco_decompress
    - FuzzedDataProvider::ConsumeBool
    - ndpi_decompress_str
    - shoco_compress
    - std::string::c_str
    - ndpi_compress_str
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:19,1
    - Dst: posix_memalign
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:22,1
    - Dst: posix_memalign
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:23,1
    - Dst: posix_memalign
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:24,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:25,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:28,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:32,1
    - Dst: mbedtls_aes_init
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:35,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:37,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:38,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:39,1
    - Dst: mbedtls_aes_setkey_enc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:47,1
    - Dst: mbedtls_aes_setkey_dec
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:49,1
    - Dst: mbedtls_aes_crypt_ecb
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:52,1
    - Dst: mbedtls_aes_free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:54,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:56,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:57,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:58,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 10
    functionDepth: 4
    functionLinenumber: 10
    functionLinenumberEnd: 62
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_aes_crypt_ecb
    - FuzzedDataProvider::ConsumeBytes
    - mbedtls_aes_init
    - mbedtls_aes_setkey_dec
    - FuzzedDataProvider::ConsumeBool
    - malloc
    - mbedtls_aes_setkey_enc
    - mbedtls_aes_free
    - free
    - posix_memalign
    - FuzzedDataProvider::PickValueInArray
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 17
    functionName: __compare
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_tree.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int __compare(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: __free
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_tree.cpp
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void __free(void * const node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - a
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts:
    - condition: (user_data == NULL && a)
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/ndpi/fuzz/fuzz_ds_tree.cpp
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: __walk
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_tree.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void __walk(const void *a, ndpi_VISIT which, int depth, void *user_data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:38,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:42,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:44,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:49,1
    - Dst: ndpi_tfind
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:51,1
    - Dst: ndpi_tsearch
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:52,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:52,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:53,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:56,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:62,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:67,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:69,1
    - Dst: ndpi_tfind
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:71,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:71,1
    - Dst: ndpi_tfind
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:75,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:78,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:81,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:83,1
    - Dst: ndpi_tdelete
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:85,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:86,1
    - Dst: ndpi_tdelete
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:90,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:91,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:94,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/fuzz/fuzz_ds_tree.cpp:96,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 99
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_tree.cpp
    functionUses: 0
    functionsReached:
    - ndpi_tdelete
    - ndpi_tfind
    - ndpi_twalk
    - ndpi_malloc
    - FuzzedDataProvider::ConsumeBool
    - ndpi_tsearch
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_tdestroy
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: MBEDTLS_INTERNAL_VALIDATE_RET
    functionSourceFile: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_INTERNAL_VALIDATE_RET( cond, ret )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:29,1
    - Dst: posix_memalign
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:32,1
    - Dst: posix_memalign
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:33,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:35,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:36,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:37,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:38,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:39,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:40,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:41,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:42,1
    - Dst: mbedtls_cipher_list
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:44,1
    - Dst: static_cast<mbedtls_cipher_type_t>
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:46,1
    - Dst: mbedtls_cipher_info_from_type
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:47,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:50,1
    - Dst: mbedtls_cipher_init
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:51,1
    - Dst: mbedtls_cipher_init
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:52,1
    - Dst: mbedtls_cipher_info_from_string
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:53,1
    - Dst: mbedtls_cipher_info_get_mode
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:56,1
    - Dst: mbedtls_cipher_info_get_type
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:57,1
    - Dst: mbedtls_cipher_info_get_name
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:58,1
    - Dst: mbedtls_cipher_info_has_variable_key_bitlen
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:59,1
    - Dst: mbedtls_cipher_info_has_variable_iv_size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:60,1
    - Dst: mbedtls_cipher_info_get_iv_size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:61,1
    - Dst: mbedtls_cipher_info_get_block_size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:62,1
    - Dst: mbedtls_cipher_get_cipher_mode
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:63,1
    - Dst: mbedtls_cipher_get_iv_size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:64,1
    - Dst: mbedtls_cipher_get_type
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:65,1
    - Dst: mbedtls_cipher_get_name
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:66,1
    - Dst: mbedtls_cipher_get_key_bitlen
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:67,1
    - Dst: mbedtls_cipher_get_operation
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:68,1
    - Dst: mbedtls_cipher_info_get_key_bitlen
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:69,1
    - Dst: mbedtls_error_add
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:70,1
    - Dst: posix_memalign
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:72,1
    - Dst: posix_memalign
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:73,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:75,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:75,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:75,1
    - Dst: mbedtls_cipher_setkey
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:76,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:76,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:76,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:79,1
    - Dst: mbedtls_cipher_crypt
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:80,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:80,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:80,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:81,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:81,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:83,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:83,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:83,1
    - Dst: mbedtls_cipher_set_iv
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:84,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:84,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:84,1
    - Dst: mbedtls_cipher_reset
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:86,1
    - Dst: mbedtls_cipher_reset
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:87,1
    - Dst: mbedtls_cipher_update
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:89,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:89,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:89,1
    - Dst: mbedtls_cipher_finish
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:91,1
    - Dst: mbedtls_cipher_update
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:94,1
    - Dst: mbedtls_cipher_finish
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:96,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:101,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:101,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:102,1
    - Dst: memcmp
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:102,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:102,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:112,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:113,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:114,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:115,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:116,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 70
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (input.size() == decrypted_size)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp
    - condition: (memcmp(input.data(), decrypted, decrypted_size) == 0)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp
    constantsTouched: []
    func_position:
      end: 119
      start: 14
    functionDepth: 5
    functionLinenumber: 14
    functionLinenumberEnd: 119
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp
    functionUses: 0
    functionsReached:
    - mbedtls_cipher_list
    - mbedtls_cipher_info_get_iv_size
    - mbedtls_error_add
    - mbedtls_cipher_finish
    - mbedtls_cipher_info_get_name
    - mbedtls_cipher_info_from_type
    - static_cast<mbedtls_cipher_type_t>
    - std::vector::data
    - mbedtls_cipher_info_get_type
    - mbedtls_cipher_info_from_string
    - mbedtls_cipher_set_iv
    - mbedtls_cipher_info_get_key_bitlen
    - mbedtls_cipher_info_has_variable_key_bitlen
    - mbedtls_cipher_get_iv_size
    - mbedtls_cipher_reset
    - FuzzedDataProvider::PickValueInArray
    - mbedtls_cipher_get_key_bitlen
    - mbedtls_cipher_update
    - FuzzedDataProvider::ConsumeIntegralInRange
    - FuzzedDataProvider::ConsumeBytes
    - FuzzedDataProvider::ConsumeBool
    - mbedtls_cipher_init
    - mbedtls_cipher_info_get_mode
    - mbedtls_cipher_get_operation
    - std::vector::size
    - mbedtls_cipher_crypt
    - mbedtls_cipher_info_get_block_size
    - posix_memalign
    - assert
    - mbedtls_cipher_get_name
    - malloc
    - free
    - memcmp
    - mbedtls_cipher_setkey
    - mbedtls_cipher_get_cipher_mode
    - mbedtls_cipher_get_type
    - mbedtls_cipher_info_has_variable_iv_size
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_mutator
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - Data
    - Size
    - MaxSize
    - Seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    functionUses: 0
    functionsReached:
    - pl7m_mutator
    linkageType: ''
    returnType: size_t
    signature: "size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size,\n                               size_t
      MaxSize, unsigned int Seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirname
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:49,1
    - Dst: strdup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    functionUses: 0
    functionsReached:
    - dirname
    - strdup
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:61,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: node_cleanup_walker
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    functionUses: 0
    functionsReached:
    - process_ndpi_collected_info
    - ndpi_detection_giveup
    linkageType: ''
    returnType: void
    signature: void node_cleanup_walker(const void *node, ndpi_VISIT which, int depth,
      void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - f
    - d
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: fn_flow_callback
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fn_flow_callback(struct ndpi_workflow *w, struct ndpi_flow_info
      *f, void *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:87,1
    - Dst: fuzz_set_alloc_callbacks
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:94,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:97,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:99,1
    - Dst: ndpi_workflow_set_flow_callback
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:101,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:103,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:104,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:106,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:107,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:107,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:108,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:109,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:109,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:110,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:111,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:111,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:112,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:113,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:113,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:114,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:115,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:115,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:116,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:117,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:117,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:118,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:119,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:119,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:120,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:121,1
    - Dst: ndpi_load_tcp_fingerprint_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:121,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:122,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:123,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:123,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:126,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:130,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:131,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:132,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:133,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:134,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:135,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:137,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:138,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:139,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:141,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:142,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:143,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:144,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:145,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:146,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:147,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:148,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:151,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:152,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:153,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:154,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:161,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:178,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:181,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:185,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:187,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:190,1
    - Dst: pcap_datalink
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:190,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:193,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:199,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:201,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:206,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:209,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:215,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:216,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:217,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:220,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:222,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:226,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:227,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:229,1
    - Dst: ndpi_report_payload_stats
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:232,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:235,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:236,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 101
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_load_domain_suffixes(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    - condition: (ndpi_load_malicious_sha1_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    - condition: (ndpi_load_risk_domain_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    - condition: (ndpi_load_categories_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    - condition: (ndpi_load_malicious_ja4_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    - condition: (ndpi_load_protocols_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    - condition: (ndpi_load_tcp_fingerprint_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    - condition: (ndpi_set_config(workflow->ndpi_struct, NULL, "filename.config",
        name) == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    - condition: (ndpi_load_protocols_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    - condition: (ndpi_load_categories_file(workflow->ndpi_struct, name, NULL) >=
        0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    constantsTouched: []
    func_position:
      end: 241
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 241
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader.c
    functionUses: 0
    functionsReached:
    - ndpi_load_domain_suffixes
    - ndpi_global_init
    - ndpi_twalk
    - buffer_to_file
    - ndpi_calloc
    - ndpi_update_params
    - ndpi_workflow_init
    - ndpi_report_payload_stats
    - ndpi_load_malicious_ja4_file
    - ndpi_workflow_process_packet
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_tdestroy
    - ndpi_load_protocols_file
    - fuzz_set_alloc_callbacks
    - fclose
    - ndpi_load_protocols_dir
    - sprintf
    - pcap_next_ex
    - pcap_fopen_offline
    - pcap_close
    - ndpi_is_datalink_supported
    - ndpi_load_malicious_sha1_file
    - pcap_datalink
    - ndpi_load_categories_dir
    - ndpi_set_config
    - ndpi_workflow_set_flow_callback
    - assert
    - ndpi_load_categories_file
    - ndpi_load_risk_domain_file
    - ndpi_load_tcp_fingerprint_file
    - calloc
    - malloc
    - free
    - ndpi_finalize_initialization
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:26,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:30,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:33,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:39,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:41,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:42,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:43,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:43,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:48,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:49,1
    - Dst: strdup
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:51,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:51,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:52,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:53,1
    - Dst: ndpi_cache_address
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:55,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:57,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:61,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:63,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:63,1
    - Dst: ndpi_cache_address
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:64,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:65,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:68,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:72,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:74,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:75,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:76,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:76,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:81,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:82,1
    - Dst: ndpi_cache_address_find
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:85,1
    - Dst: ndpi_cache_address_find
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:89,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:91,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:92,1
    - Dst: ndpi_cache_address_flush_expired
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:93,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:96,1
    - Dst: ndpi_cache_address_dump
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:97,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:98,1
    - Dst: ndpi_cache_address_restore
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:99,1
    - Dst: ndpi_cache_enable
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:101,1
    - Dst: ndpi_cache_hostname_ip_swap
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:102,1
    - Dst: ndpi_cache_hostname_ip_swap
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:103,1
    - Dst: ndpi_term_address_cache
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:105,1
    - Dst: ndpi_filter_free
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:106,1
    - Dst: ndpi_filter_free
      Src: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp:107,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 12
    functionDepth: 5
    functionLinenumber: 12
    functionLinenumberEnd: 110
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - ndpi_cache_enable
    - ndpi_cache_address_dump
    - ndpi_cache_address_flush_expired
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeBytes
    - ndpi_strdup
    - ndpi_term_address_cache
    - ndpi_cache_hostname_ip_swap
    - FuzzedDataProvider::ConsumeBool
    - ndpi_cache_address
    - memset
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeRandomLengthString
    - ndpi_cache_address_restore
    - ndpi_filter_free
    - ndpi_cache_address_find
    - memcpy
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_alg_jitter.cpp:15,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_alg_jitter.cpp:19,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_alg_jitter.cpp:21,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_jitter.cpp:23,1
    - Dst: ndpi_jitter_init
      Src: /src/ndpi/fuzz/fuzz_alg_jitter.cpp:24,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_jitter.cpp:27,1
    - Dst: ndpi_jitter_add_value
      Src: /src/ndpi/fuzz/fuzz_alg_jitter.cpp:29,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_alg_jitter.cpp:29,1
    - Dst: ndpi_jitter_free
      Src: /src/ndpi/fuzz/fuzz_alg_jitter.cpp:31,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_jitter.cpp:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 36
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_alg_jitter.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeFloatingPoint
    - ndpi_malloc
    - ndpi_jitter_init
    - ndpi_jitter_add_value
    - ndpi_jitter_free
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_mutator
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - Data
    - Size
    - MaxSize
    - Seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    functionUses: 0
    functionsReached:
    - pl7m_mutator
    linkageType: ''
    returnType: size_t
    signature: "size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size,\n                               size_t
      MaxSize, unsigned int Seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirname
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:49,1
    - Dst: strdup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    functionUses: 0
    functionsReached:
    - dirname
    - strdup
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:61,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: node_cleanup_walker
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    functionUses: 0
    functionsReached:
    - process_ndpi_collected_info
    - ndpi_detection_giveup
    linkageType: ''
    returnType: void
    signature: void node_cleanup_walker(const void *node, ndpi_VISIT which, int depth,
      void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - f
    - d
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: fn_flow_callback
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fn_flow_callback(struct ndpi_workflow *w, struct ndpi_flow_info
      *f, void *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:87,1
    - Dst: fuzz_set_alloc_callbacks
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:94,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:97,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:99,1
    - Dst: ndpi_workflow_set_flow_callback
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:101,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:103,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:104,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:106,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:107,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:107,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:108,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:109,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:109,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:110,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:111,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:111,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:112,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:113,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:113,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:114,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:115,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:115,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:116,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:117,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:117,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:118,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:119,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:119,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:120,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:121,1
    - Dst: ndpi_load_tcp_fingerprint_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:121,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:122,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:123,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:123,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:126,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:130,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:131,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:132,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:133,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:134,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:135,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:137,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:138,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:139,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:141,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:142,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:143,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:144,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:145,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:146,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:147,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:148,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:151,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:152,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:153,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:154,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:161,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:178,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:181,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:185,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:187,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:190,1
    - Dst: pcap_datalink
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:190,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:193,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:199,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:201,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:206,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:209,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:215,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:216,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:217,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:220,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:222,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:226,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:227,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:229,1
    - Dst: ndpi_report_payload_stats
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:232,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:235,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:236,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 101
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_load_malicious_sha1_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    - condition: (ndpi_load_protocols_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    - condition: (ndpi_load_categories_file(workflow->ndpi_struct, name, NULL) >=
        0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    - condition: (ndpi_load_risk_domain_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    - condition: (ndpi_load_domain_suffixes(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    - condition: (ndpi_load_malicious_ja4_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    - condition: (ndpi_load_categories_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    - condition: (ndpi_load_tcp_fingerprint_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    - condition: (ndpi_set_config(workflow->ndpi_struct, NULL, "filename.config",
        name) == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    - condition: (ndpi_load_protocols_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    constantsTouched: []
    func_position:
      end: 241
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 241
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
    functionUses: 0
    functionsReached:
    - ndpi_load_domain_suffixes
    - ndpi_global_init
    - ndpi_twalk
    - buffer_to_file
    - ndpi_calloc
    - ndpi_update_params
    - ndpi_workflow_init
    - ndpi_report_payload_stats
    - ndpi_load_malicious_ja4_file
    - ndpi_workflow_process_packet
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_tdestroy
    - ndpi_load_protocols_file
    - fuzz_set_alloc_callbacks
    - fclose
    - ndpi_load_protocols_dir
    - sprintf
    - pcap_next_ex
    - pcap_fopen_offline
    - pcap_close
    - ndpi_is_datalink_supported
    - ndpi_load_malicious_sha1_file
    - pcap_datalink
    - ndpi_load_categories_dir
    - ndpi_set_config
    - ndpi_workflow_set_flow_callback
    - assert
    - ndpi_load_categories_file
    - ndpi_load_risk_domain_file
    - ndpi_load_tcp_fingerprint_file
    - calloc
    - malloc
    - free
    - ndpi_finalize_initialization
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_mutator
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - Data
    - Size
    - MaxSize
    - Seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    functionUses: 0
    functionsReached:
    - pl7m_mutator
    linkageType: ''
    returnType: size_t
    signature: "size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size,\n                               size_t
      MaxSize, unsigned int Seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirname
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:49,1
    - Dst: strdup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    functionUses: 0
    functionsReached:
    - dirname
    - strdup
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:61,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: node_cleanup_walker
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    functionUses: 0
    functionsReached:
    - process_ndpi_collected_info
    - ndpi_detection_giveup
    linkageType: ''
    returnType: void
    signature: void node_cleanup_walker(const void *node, ndpi_VISIT which, int depth,
      void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - f
    - d
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: fn_flow_callback
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fn_flow_callback(struct ndpi_workflow *w, struct ndpi_flow_info
      *f, void *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:87,1
    - Dst: fuzz_set_alloc_callbacks
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:94,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:97,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:99,1
    - Dst: ndpi_workflow_set_flow_callback
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:101,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:103,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:104,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:106,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:107,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:107,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:108,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:109,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:109,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:110,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:111,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:111,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:112,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:113,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:113,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:114,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:115,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:115,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:116,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:117,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:117,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:118,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:119,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:119,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:120,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:121,1
    - Dst: ndpi_load_tcp_fingerprint_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:121,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:122,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:123,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:123,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:126,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:130,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:131,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:132,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:133,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:134,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:135,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:137,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:138,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:139,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:141,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:142,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:143,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:144,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:145,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:146,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:147,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:148,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:151,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:152,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:153,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:154,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:161,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:178,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:181,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:185,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:187,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:190,1
    - Dst: pcap_datalink
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:190,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:193,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:199,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:201,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:206,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:209,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:215,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:216,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:217,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:220,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:222,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:226,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:227,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:229,1
    - Dst: ndpi_report_payload_stats
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:232,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:235,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:236,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 101
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_load_domain_suffixes(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    - condition: (ndpi_load_malicious_sha1_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    - condition: (ndpi_load_risk_domain_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    - condition: (ndpi_load_categories_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    - condition: (ndpi_load_malicious_ja4_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    - condition: (ndpi_set_config(workflow->ndpi_struct, NULL, "filename.config",
        name) == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    - condition: (ndpi_load_protocols_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    - condition: (ndpi_load_tcp_fingerprint_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    - condition: (ndpi_load_protocols_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    - condition: (ndpi_load_categories_file(workflow->ndpi_struct, name, NULL) >=
        0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    constantsTouched: []
    func_position:
      end: 241
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 241
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
    functionUses: 0
    functionsReached:
    - ndpi_load_domain_suffixes
    - ndpi_global_init
    - ndpi_twalk
    - buffer_to_file
    - ndpi_calloc
    - ndpi_update_params
    - ndpi_workflow_init
    - ndpi_report_payload_stats
    - ndpi_load_malicious_ja4_file
    - ndpi_workflow_process_packet
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_tdestroy
    - ndpi_load_protocols_file
    - fuzz_set_alloc_callbacks
    - fclose
    - ndpi_load_protocols_dir
    - sprintf
    - pcap_next_ex
    - pcap_fopen_offline
    - pcap_close
    - ndpi_is_datalink_supported
    - ndpi_load_malicious_sha1_file
    - pcap_datalink
    - ndpi_load_categories_dir
    - ndpi_set_config
    - ndpi_workflow_set_flow_callback
    - assert
    - ndpi_load_categories_file
    - ndpi_load_risk_domain_file
    - ndpi_load_tcp_fingerprint_file
    - calloc
    - malloc
    - free
    - ndpi_finalize_initialization
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: no_sanitize
      Src: /src/ndpi/fuzz/fuzz_common_code.c:7,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 13
    functionName: fastrand
    functionSourceFile: /src/ndpi/fuzz/fuzz_common_code.c
    functionUses: 0
    functionsReached:
    - no_sanitize
    linkageType: ''
    returnType: int
    signature: int fastrand ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fastrand
      Src: /src/ndpi/fuzz/fuzz_common_code.c:16,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_common_code.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: malloc_wrapper
    functionSourceFile: /src/ndpi/fuzz/fuzz_common_code.c
    functionUses: 0
    functionsReached:
    - malloc
    - fastrand
    linkageType: ''
    returnType: void
    signature: void *malloc_wrapper(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_common_code.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - freeable
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: free_wrapper
    functionSourceFile: /src/ndpi/fuzz/fuzz_common_code.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_wrapper(void *freeable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_common_code.c:24,1
    - Dst: set_ndpi_free
      Src: /src/ndpi/fuzz/fuzz_common_code.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: fuzz_set_alloc_callbacks
    functionSourceFile: /src/ndpi/fuzz/fuzz_common_code.c
    functionUses: 5
    functionsReached:
    - set_ndpi_free
    - set_ndpi_malloc
    linkageType: ''
    returnType: void
    signature: void fuzz_set_alloc_callbacks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: fuzz_set_alloc_seed
    functionSourceFile: /src/ndpi/fuzz/fuzz_common_code.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fuzz_set_alloc_seed(int seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks
      Src: /src/ndpi/fuzz/fuzz_common_code.c:33,1
    - Dst: fuzz_set_alloc_seed
      Src: /src/ndpi/fuzz/fuzz_common_code.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - seed
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: fuzz_set_alloc_callbacks_and_seed
    functionSourceFile: /src/ndpi/fuzz/fuzz_common_code.c
    functionUses: 17
    functionsReached:
    - fuzz_set_alloc_seed
    - fuzz_set_alloc_callbacks
    linkageType: ''
    returnType: void
    signature: void fuzz_set_alloc_callbacks_and_seed(int seed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_common_code.c:41,1
    - Dst: ndpi_set_config_u64
      Src: /src/ndpi/fuzz/fuzz_common_code.c:43,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_common_code.c:44,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_common_code.c:46,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_common_code.c:47,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_common_code.c:48,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_common_code.c:49,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_common_code.c:50,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_common_code.c:51,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_common_code.c:52,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_common_code.c:54,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_common_code.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ndpi_info_mod
    - g_ctx
    argTypes:
    - struct ndpi_detection_module_struct**
    - struct ndpi_global_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 6
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: fuzz_init_detection_module
    functionSourceFile: /src/ndpi/fuzz/fuzz_common_code.c
    functionUses: 4
    functionsReached:
    - ndpi_load_domain_suffixes
    - ndpi_init_detection_module
    - ndpi_load_categories_dir
    - ndpi_set_config
    - ndpi_load_categories_file
    - ndpi_set_config_u64
    - ndpi_load_risk_domain_file
    - ndpi_load_malicious_ja4_file
    - ndpi_finalize_initialization
    - ndpi_load_protocols_file
    - ndpi_load_malicious_sha1_file
    linkageType: ''
    returnType: void
    signature: "void fuzz_init_detection_module(struct ndpi_detection_module_struct
      **ndpi_info_mod,\n                                struct ndpi_global_context
      *g_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmemopen
      Src: /src/ndpi/fuzz/fuzz_common_code.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: buffer_to_file
    functionSourceFile: /src/ndpi/fuzz/fuzz_common_code.c
    functionUses: 8
    functionsReached:
    - fmemopen
    linkageType: ''
    returnType: FILE
    signature: FILE *buffer_to_file(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:14,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:18,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytes
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:21,1
    - Dst: ndpi_quick_encrypt
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:23,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:23,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:23,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:23,1
    - Dst: ndpi_quick_decrypt
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:25,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:25,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:26,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 9
    functionDepth: 3
    functionLinenumber: 9
    functionLinenumberEnd: 30
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp
    functionUses: 0
    functionsReached:
    - ndpi_quick_decrypt
    - FuzzedDataProvider::ConsumeBytes
    - std::vector::data
    - ndpi_free
    - ndpi_quick_encrypt
    - std::vector::size
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeRemainingBytes
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:27,1
    - Dst: gcry_control
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:29,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:29,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:30,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:36,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:38,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:39,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:40,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:42,1
    - Dst: gcry_md_open
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:43,1
    - Dst: gcry_md_reset
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:45,1
    - Dst: gcry_md_setkey
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:46,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:46,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:48,1
    - Dst: gcry_md_setkey
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:49,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:49,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:49,1
    - Dst: gcry_md_write
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:51,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:51,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:51,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:53,1
    - Dst: gcry_md_read
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:53,1
    - Dst: gcry_md_get_algo_dlen
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:53,1
    - Dst: gcry_md_get_algo
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:54,1
    - Dst: gcry_md_close
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:58,1
    - Dst: gpg_strerror_r
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:60,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:67,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:69,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:71,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:73,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:74,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:75,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:75,1
    - Dst: gcry_cipher_open
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:80,1
    - Dst: gpg_strerror_r
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:81,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:82,1
    - Dst: gcry_cipher_setkey
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:83,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:83,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:83,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:84,1
    - Dst: gcry_cipher_setkey
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:85,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:85,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:85,1
    - Dst: gcry_cipher_decrypt
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:86,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:86,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:86,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:86,1
    - Dst: gpg_strerror_r
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:87,1
    - Dst: gcry_cipher_encrypt
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:88,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:88,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:88,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:88,1
    - Dst: gcry_cipher_ctl
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:89,1
    - Dst: gcry_cipher_close
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:90,1
    - Dst: gpg_strerror_r
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:92,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:96,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:98,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:99,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:100,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:101,1
    - Dst: gcry_cipher_open
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:104,1
    - Dst: gpg_strerror_r
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:105,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:106,1
    - Dst: gcry_cipher_setkey
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:107,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:107,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:107,1
    - Dst: gpg_strerror_r
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:108,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:110,1
    - Dst: gcry_cipher_reset
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:111,1
    - Dst: gcry_cipher_setiv
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:112,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:112,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:112,1
    - Dst: gpg_strerror_r
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:113,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:114,1
    - Dst: gcry_cipher_setiv
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:115,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:115,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:115,1
    - Dst: gcry_cipher_authenticate
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:117,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:117,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:117,1
    - Dst: gcry_cipher_encrypt
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:119,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:119,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:119,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:119,1
    - Dst: gpg_strerror_r
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:120,1
    - Dst: gcry_cipher_decrypt
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:121,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:121,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:121,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:121,1
    - Dst: gcry_cipher_close
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:124,1
    - Dst: gpg_strerror_r
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:126,1
    - Dst: gpg_strerror_r
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:128,1
    - Dst: static_cast<gcry_error_t>
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:128,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:128,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp:130,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 80
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 133
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp
    functionUses: 0
    functionsReached:
    - gcry_cipher_reset
    - gcry_md_close
    - gcry_cipher_decrypt
    - gcry_md_get_algo
    - static_cast<gcry_error_t>
    - std::vector::data
    - gcry_md_get_algo_dlen
    - gcry_cipher_encrypt
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - gcry_cipher_ctl
    - gcry_cipher_authenticate
    - FuzzedDataProvider::ConsumeIntegralInRange
    - gcry_control
    - FuzzedDataProvider::ConsumeBytes
    - gcry_cipher_open
    - gcry_md_open
    - gcry_md_read
    - gpg_strerror_r
    - FuzzedDataProvider::ConsumeBool
    - ndpi_malloc
    - std::vector::size
    - FuzzedDataProvider::ConsumeIntegral
    - gcry_md_reset
    - gcry_md_write
    - gcry_cipher_setkey
    - gcry_cipher_close
    - gcry_cipher_setiv
    - gcry_md_setkey
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_filecfg_risk_domains.c:10,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_risk_domains.c:12,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_filecfg_risk_domains.c:14,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_filecfg_risk_domains.c:15,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_filecfg_risk_domains.c:17,1
    - Dst: load_risk_domain_file_fd
      Src: /src/ndpi/fuzz/fuzz_filecfg_risk_domains.c:18,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_filecfg_risk_domains.c:20,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_risk_domains.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 5
    functionDepth: 6
    functionLinenumber: 5
    functionLinenumberEnd: 24
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_filecfg_risk_domains.c
    functionUses: 0
    functionsReached:
    - fclose
    - ndpi_init_detection_module
    - ndpi_set_config
    - ndpi_exit_detection_module
    - buffer_to_file
    - fuzz_set_alloc_callbacks_and_seed
    - load_risk_domain_file_fd
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_is_stun.c:20,1
    - Dst: is_stun
      Src: /src/ndpi/fuzz/fuzz_is_stun.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 14
    functionDepth: 7
    functionLinenumber: 14
    functionLinenumberEnd: 35
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_is_stun.c
    functionUses: 0
    functionsReached:
    - fuzz_init_detection_module
    - is_stun
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:18,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:22,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:25,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:30,1
    - Dst: ndpi_ses_fitting
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:31,1
    - Dst: ndpi_des_fitting
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:32,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:33,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPointInRange
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:35,1
    - Dst: ndpi_ses_init
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:36,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:36,1
    - Dst: ndpi_des_init
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:37,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:37,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:39,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:41,1
    - Dst: ndpi_ses_add_value
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:43,1
    - Dst: ndpi_des_add_value
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:45,1
    - Dst: ndpi_ses_reset
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:48,1
    - Dst: ndpi_des_reset
      Src: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 8
    functionDepth: 4
    functionLinenumber: 8
    functionLinenumberEnd: 52
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp
    functionUses: 0
    functionsReached:
    - ndpi_des_fitting
    - FuzzedDataProvider::ConsumeFloatingPoint
    - ndpi_des_reset
    - ndpi_ses_add_value
    - ndpi_ses_init
    - ndpi_des_init
    - ndpi_ses_fitting
    - ndpi_ses_reset
    - ndpi_malloc
    - FuzzedDataProvider::ConsumeBool
    - ndpi_des_add_value
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeFloatingPointInRange
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:18,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:22,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:24,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeEnum
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:27,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:29,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:30,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:32,1
    - Dst: ndpi_inc_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:35,1
    - Dst: ndpi_inc_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:36,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:36,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:37,1
    - Dst: ndpi_bin_similarity
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:40,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:40,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPointInRange
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:41,1
    - Dst: ndpi_clone_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:43,1
    - Dst: ndpi_bin_similarity
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:45,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:45,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPointInRange
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:46,1
    - Dst: ndpi_get_bin_value
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:49,1
    - Dst: ndpi_reset_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:51,1
    - Dst: ndpi_get_bin_value
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:54,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:54,1
    - Dst: ndpi_set_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:57,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:57,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:58,1
    - Dst: ndpi_bin_similarity
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:60,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:60,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPointInRange
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:61,1
    - Dst: ndpi_normalize_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:63,1
    - Dst: ndpi_normalize_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:64,1
    - Dst: ndpi_print_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:66,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:66,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:68,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:69,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:70,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:71,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:72,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:76,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:77,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:78,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:79,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:80,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:85,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:90,1
    - Dst: ndpi_set_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:92,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:93,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:94,1
    - Dst: ndpi_cluster_bins
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:98,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:101,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:104,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_alg_bins.cpp:105,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 8
    functionDepth: 3
    functionLinenumber: 8
    functionLinenumberEnd: 108
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_alg_bins.cpp
    functionUses: 0
    functionsReached:
    - ndpi_bin_similarity
    - FuzzedDataProvider::ConsumeFloatingPointInRange
    - ndpi_cluster_bins
    - ndpi_get_bin_value
    - ndpi_set_bin
    - ndpi_free
    - ndpi_free_bin
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegralInRange
    - ndpi_clone_bin
    - ndpi_normalize_bin
    - ndpi_init_bin
    - ndpi_malloc
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::ConsumeEnum
    - ndpi_print_bin
    - ndpi_inc_bin
    - ndpi_reset_bin
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:41,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:43,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:44,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:45,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:49,1
    - Dst: static_cast<ndpi_serialization_format>
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:51,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:51,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:57,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:62,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:64,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:67,1
    - Dst: pcap_datalink
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:67,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:68,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:72,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:74,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:76,1
    - Dst: ndpi_stats_init
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:78,1
    - Dst: ndpi_get_num_protocols
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:78,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:81,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:83,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:84,1
    - Dst: ndpi_stats_reset
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:87,1
    - Dst: ndpi_workflow_free
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:89,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:91,1
    - Dst: ndpi_global_deinit
      Src: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 20
    functionDepth: 6
    functionLinenumber: 20
    functionLinenumberEnd: 96
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp
    functionUses: 0
    functionsReached:
    - ndpi_global_init
    - ndpi_get_num_protocols
    - buffer_to_file
    - ndpi_stats_init
    - ndpi_workflow_free
    - ndpi_global_deinit
    - ndpi_workflow_init
    - ndpi_workflow_process_packet
    - fuzz_set_alloc_callbacks_and_seed
    - static_cast<ndpi_serialization_format>
    - FuzzedDataProvider::ConsumeIntegralInRange
    - fclose
    - pcap_next_ex
    - FuzzedDataProvider::ConsumeBool
    - pcap_fopen_offline
    - pcap_close
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_is_datalink_supported
    - ndpi_stats_reset
    - pcap_datalink
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:21,1
    - Dst: ndpi_ptree_create
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:28,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:29,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:30,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:30,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:31,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:36,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:37,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:38,1
    - Dst: ndpi_parse_ip_string
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:42,1
    - Dst: ndpi_get_ip_string
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:42,1
    - Dst: ndpi_ptree_insert
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:44,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:46,1
    - Dst: ndpi_load_ptree_file
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:53,1
    - Dst: ndpi_load_ptree_file
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:54,1
    - Dst: ndpi_load_ptree_file
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:55,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:58,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:60,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:61,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:62,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:62,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:67,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:68,1
    - Dst: ndpi_ptree_match_addr
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:71,1
    - Dst: ndpi_ptree_match_addr
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:75,1
    - Dst: ndpi_ptree_destroy
      Src: /src/ndpi/fuzz/fuzz_ds_ptree.cpp:77,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 10
    functionDepth: 3
    functionLinenumber: 10
    functionLinenumberEnd: 80
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_ptree.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - ndpi_ptree_insert
    - FuzzedDataProvider::ConsumeBytes
    - ndpi_parse_ip_string
    - ndpi_ptree_match_addr
    - ndpi_ptree_destroy
    - ndpi_ptree_create
    - FuzzedDataProvider::ConsumeBool
    - ndpi_get_ip_string
    - memset
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_load_ptree_file
    - memcpy
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:14,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:16,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:17,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:21,1
    - Dst: binary_fuse8_allocate
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:24,1
    - Dst: binary_fuse8_populate
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:30,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:32,1
    - Dst: binary_fuse8_contain
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:33,1
    - Dst: binary_fuse8_contain
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:37,1
    - Dst: binary_fuse8_free
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:39,1
    - Dst: binary_fuse16_allocate
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:42,1
    - Dst: binary_fuse16_populate
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:44,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:48,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:50,1
    - Dst: binary_fuse16_contain
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:51,1
    - Dst: binary_fuse16_contain
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:55,1
    - Dst: binary_fuse16_free
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:57,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp:60,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 5
    functionDepth: 3
    functionLinenumber: 5
    functionLinenumberEnd: 63
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp
    functionUses: 0
    functionsReached:
    - binary_fuse16_contain
    - binary_fuse16_populate
    - binary_fuse16_allocate
    - binary_fuse8_contain
    - binary_fuse8_populate
    - binary_fuse8_free
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - binary_fuse16_free
    - binary_fuse8_allocate
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:16,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:21,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:24,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:25,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:27,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:29,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:31,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:35,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:37,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:39,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:41,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:44,1
    - Dst: ndpi_btree_init
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:48,1
    - Dst: ndpi_btree_query
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:52,1
    - Dst: ndpi_free_knn
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:53,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:57,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:58,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:60,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:61,1
    - Dst: ndpi_free_btree
      Src: /src/ndpi/fuzz/fuzz_ds_btree.cpp:62,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 9
    functionDepth: 3
    functionLinenumber: 9
    functionLinenumberEnd: 65
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_btree.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - ndpi_free_knn
    - FuzzedDataProvider::ConsumeFloatingPoint
    - ndpi_btree_query
    - ndpi_btree_init
    - ndpi_malloc
    - ndpi_free
    - ndpi_free_btree
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_mutator
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - Data
    - Size
    - MaxSize
    - Seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    functionUses: 0
    functionsReached:
    - pl7m_mutator
    linkageType: ''
    returnType: size_t
    signature: "size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size,\n                               size_t
      MaxSize, unsigned int Seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirname
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:49,1
    - Dst: strdup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    functionUses: 0
    functionsReached:
    - dirname
    - strdup
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:61,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: node_cleanup_walker
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    functionUses: 0
    functionsReached:
    - process_ndpi_collected_info
    - ndpi_detection_giveup
    linkageType: ''
    returnType: void
    signature: void node_cleanup_walker(const void *node, ndpi_VISIT which, int depth,
      void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - f
    - d
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: fn_flow_callback
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fn_flow_callback(struct ndpi_workflow *w, struct ndpi_flow_info
      *f, void *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:87,1
    - Dst: fuzz_set_alloc_callbacks
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:94,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:97,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:99,1
    - Dst: ndpi_workflow_set_flow_callback
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:101,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:103,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:104,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:106,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:107,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:107,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:108,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:109,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:109,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:110,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:111,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:111,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:112,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:113,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:113,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:114,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:115,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:115,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:116,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:117,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:117,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:118,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:119,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:119,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:120,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:121,1
    - Dst: ndpi_load_tcp_fingerprint_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:121,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:122,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:123,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:123,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:126,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:130,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:131,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:132,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:133,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:134,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:135,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:137,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:138,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:139,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:141,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:142,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:143,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:144,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:145,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:146,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:147,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:148,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:151,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:152,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:153,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:154,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:161,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:178,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:181,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:185,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:187,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:190,1
    - Dst: pcap_datalink
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:190,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:193,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:199,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:201,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:206,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:209,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:215,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:216,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:217,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:220,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:222,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:226,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:227,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:229,1
    - Dst: ndpi_report_payload_stats
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:232,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:235,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:236,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 101
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_load_categories_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    - condition: (ndpi_load_malicious_ja4_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    - condition: (ndpi_set_config(workflow->ndpi_struct, NULL, "filename.config",
        name) == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    - condition: (ndpi_load_protocols_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    - condition: (ndpi_load_protocols_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    - condition: (ndpi_load_categories_file(workflow->ndpi_struct, name, NULL) >=
        0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    - condition: (ndpi_load_tcp_fingerprint_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    - condition: (ndpi_load_risk_domain_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    - condition: (ndpi_load_malicious_sha1_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    - condition: (ndpi_load_domain_suffixes(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    constantsTouched: []
    func_position:
      end: 241
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 241
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
    functionUses: 0
    functionsReached:
    - ndpi_load_domain_suffixes
    - ndpi_global_init
    - ndpi_twalk
    - buffer_to_file
    - ndpi_calloc
    - ndpi_update_params
    - ndpi_workflow_init
    - ndpi_report_payload_stats
    - ndpi_load_malicious_ja4_file
    - ndpi_workflow_process_packet
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_tdestroy
    - ndpi_load_protocols_file
    - fuzz_set_alloc_callbacks
    - fclose
    - ndpi_load_protocols_dir
    - sprintf
    - pcap_next_ex
    - pcap_fopen_offline
    - pcap_close
    - ndpi_is_datalink_supported
    - ndpi_load_malicious_sha1_file
    - pcap_datalink
    - ndpi_load_categories_dir
    - ndpi_set_config
    - ndpi_workflow_set_flow_callback
    - assert
    - ndpi_load_categories_file
    - ndpi_load_risk_domain_file
    - ndpi_load_tcp_fingerprint_file
    - calloc
    - malloc
    - free
    - ndpi_finalize_initialization
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_filecfg_config.c:10,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_config.c:12,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_filecfg_config.c:14,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_filecfg_config.c:15,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_filecfg_config.c:17,1
    - Dst: load_config_file_fd
      Src: /src/ndpi/fuzz/fuzz_filecfg_config.c:18,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_filecfg_config.c:20,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_config.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 5
    functionDepth: 6
    functionLinenumber: 5
    functionLinenumberEnd: 24
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_filecfg_config.c
    functionUses: 0
    functionsReached:
    - fclose
    - ndpi_init_detection_module
    - ndpi_set_config
    - ndpi_exit_detection_module
    - load_config_file_fd
    - buffer_to_file
    - fuzz_set_alloc_callbacks_and_seed
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:33,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:37,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:39,1
    - Dst: ac_automata_enable_debug
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:44,1
    - Dst: ac_automata_init
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:47,1
    - Dst: ndpi_init_automa
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:48,1
    - Dst: ndpi_init_automa_domain
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:50,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:52,1
    - Dst: ac_automata_feature
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:53,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:54,1
    - Dst: ac_automata_feature
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:55,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:56,1
    - Dst: ac_automata_feature
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:57,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:59,1
    - Dst: ac_automata_name
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:60,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:60,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:61,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:63,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:65,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:69,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:72,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:74,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:74,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:79,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:80,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:83,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:84,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:85,1
    - Dst: memchr
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:86,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:86,1
    - Dst: ac_automata_add
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:88,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:89,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:92,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:93,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:100,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:100,1
    - Dst: ndpi_add_string_to_automa
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:103,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:104,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:107,1
    - Dst: ac_automata_finalize
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:108,1
    - Dst: ndpi_finalize_automa
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:109,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:113,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:115,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:116,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:116,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:121,1
    - Dst: ac_automata_search
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:123,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:125,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:127,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:127,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:127,1
    - Dst: ndpi_match_string_value
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:128,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:128,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:128,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:129,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:129,1
    - Dst: ndpi_match_string_protocol_id
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:130,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:130,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:136,1
    - Dst: ac_automata_search
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:139,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:141,1
    - Dst: ndpi_match_string_value
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:142,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:142,1
    - Dst: ndpi_match_string_protocol_id
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:143,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:143,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:146,1
    - Dst: ac_automata_dump
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:149,1
    - Dst: ac_automata_get_stats
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:151,1
    - Dst: ac_automata_release
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:153,1
    - Dst: ndpi_free_automa
      Src: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp:154,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 12
    functionDepth: 3
    functionLinenumber: 12
    functionLinenumberEnd: 157
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp
    functionUses: 0
    functionsReached:
    - ac_automata_dump
    - ndpi_add_string_to_automa
    - ndpi_init_automa
    - ac_automata_search
    - strlen
    - ac_automata_finalize
    - memchr
    - ac_automata_feature
    - ndpi_finalize_automa
    - ndpi_match_string_protocol_id
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - std::string::c_str
    - ndpi_init_automa_domain
    - FuzzedDataProvider::ConsumeIntegralInRange
    - ac_automata_get_stats
    - ndpi_strdup
    - FuzzedDataProvider::ConsumeBool
    - ac_automata_add
    - ndpi_match_string_value
    - ac_automata_release
    - memset
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_match_string
    - ac_automata_enable_debug
    - ndpi_free_automa
    - FuzzedDataProvider::ConsumeRandomLengthString
    - ac_automata_init
    - ac_automata_name
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_mutator
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - Data
    - Size
    - MaxSize
    - Seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    functionUses: 0
    functionsReached:
    - pl7m_mutator
    linkageType: ''
    returnType: size_t
    signature: "size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size,\n                               size_t
      MaxSize, unsigned int Seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirname
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:49,1
    - Dst: strdup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    functionUses: 0
    functionsReached:
    - dirname
    - strdup
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:61,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: node_cleanup_walker
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    functionUses: 0
    functionsReached:
    - process_ndpi_collected_info
    - ndpi_detection_giveup
    linkageType: ''
    returnType: void
    signature: void node_cleanup_walker(const void *node, ndpi_VISIT which, int depth,
      void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - f
    - d
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: fn_flow_callback
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fn_flow_callback(struct ndpi_workflow *w, struct ndpi_flow_info
      *f, void *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:87,1
    - Dst: fuzz_set_alloc_callbacks
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:94,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:97,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:99,1
    - Dst: ndpi_workflow_set_flow_callback
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:101,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:103,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:104,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:106,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:107,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:107,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:108,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:109,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:109,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:110,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:111,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:111,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:112,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:113,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:113,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:114,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:115,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:115,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:116,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:117,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:117,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:118,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:119,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:119,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:120,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:121,1
    - Dst: ndpi_load_tcp_fingerprint_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:121,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:122,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:123,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:123,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:126,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:130,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:131,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:132,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:133,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:134,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:135,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:137,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:138,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:139,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:141,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:142,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:143,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:144,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:145,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:146,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:147,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:148,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:151,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:152,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:153,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:154,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:161,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:178,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:181,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:185,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:187,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:190,1
    - Dst: pcap_datalink
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:190,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:193,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:199,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:201,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:206,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:209,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:215,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:216,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:217,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:220,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:222,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:226,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:227,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:229,1
    - Dst: ndpi_report_payload_stats
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:232,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:235,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:236,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 101
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_load_protocols_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    - condition: (ndpi_load_categories_file(workflow->ndpi_struct, name, NULL) >=
        0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    - condition: (ndpi_load_tcp_fingerprint_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    - condition: (ndpi_load_protocols_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    - condition: (ndpi_set_config(workflow->ndpi_struct, NULL, "filename.config",
        name) == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    - condition: (ndpi_load_malicious_ja4_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    - condition: (ndpi_load_categories_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    - condition: (ndpi_load_risk_domain_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    - condition: (ndpi_load_malicious_sha1_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    - condition: (ndpi_load_domain_suffixes(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    constantsTouched: []
    func_position:
      end: 241
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 241
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
    functionUses: 0
    functionsReached:
    - ndpi_load_domain_suffixes
    - ndpi_global_init
    - ndpi_twalk
    - buffer_to_file
    - ndpi_calloc
    - ndpi_update_params
    - ndpi_workflow_init
    - ndpi_report_payload_stats
    - ndpi_load_malicious_ja4_file
    - ndpi_workflow_process_packet
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_tdestroy
    - ndpi_load_protocols_file
    - fuzz_set_alloc_callbacks
    - fclose
    - ndpi_load_protocols_dir
    - sprintf
    - pcap_next_ex
    - pcap_fopen_offline
    - pcap_close
    - ndpi_is_datalink_supported
    - ndpi_load_malicious_sha1_file
    - pcap_datalink
    - ndpi_load_categories_dir
    - ndpi_set_config
    - ndpi_workflow_set_flow_callback
    - assert
    - ndpi_load_categories_file
    - ndpi_load_risk_domain_file
    - ndpi_load_tcp_fingerprint_file
    - calloc
    - malloc
    - free
    - ndpi_finalize_initialization
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:17,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:21,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:23,1
    - Dst: ndpi_hash_init
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:24,1
    - Dst: ndpi_hash_init
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:28,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:31,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:32,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:34,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:34,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:36,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:43,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:45,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:46,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:48,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:48,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:48,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:52,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:52,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:52,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:55,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:56,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/fuzz/fuzz_ds_hash.cpp:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 9
    functionDepth: 3
    functionLinenumber: 9
    functionLinenumberEnd: 61
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_hash.cpp
    functionUses: 0
    functionsReached:
    - ndpi_hash_init
    - FuzzedDataProvider::ConsumeIntegralInRange
    - ndpi_hash_add_entry
    - ndpi_hash_find_entry
    - FuzzedDataProvider::ConsumeBytes
    - ndpi_hash_free
    - std::vector::data
    - FuzzedDataProvider::ConsumeBool
    - std::vector::size
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 143
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:43,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_config.cpp:44,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_config.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:48,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_config.cpp:49,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_config.cpp:53,1
    - Dst: set_ndpi_debug_function
      Src: /src/ndpi/fuzz/fuzz_config.cpp:55,1
    - Dst: ndpi_set_user_data
      Src: /src/ndpi/fuzz/fuzz_config.cpp:57,1
    - Dst: ndpi_set_user_data
      Src: /src/ndpi/fuzz/fuzz_config.cpp:58,1
    - Dst: ndpi_get_user_data
      Src: /src/ndpi/fuzz/fuzz_config.cpp:59,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:64,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_config.cpp:65,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:66,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_config.cpp:67,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:67,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:68,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_config.cpp:69,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:69,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:70,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_config.cpp:71,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:71,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:72,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_config.cpp:73,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:74,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_config.cpp:75,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:75,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:76,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_config.cpp:77,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:78,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_config.cpp:79,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:79,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:80,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_config.cpp:81,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:82,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_config.cpp:83,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:83,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:84,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_config.cpp:85,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:86,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_config.cpp:87,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:87,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:88,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_config.cpp:89,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:90,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_config.cpp:91,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:92,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_config.cpp:93,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:93,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:95,1
    - Dst: ndpi_load_ipv4_ptree
      Src: /src/ndpi/fuzz/fuzz_config.cpp:96,1
    - Dst: ndpi_load_ipv4_ptree
      Src: /src/ndpi/fuzz/fuzz_config.cpp:97,1
    - Dst: ndpi_load_geoip
      Src: /src/ndpi/fuzz/fuzz_config.cpp:101,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:104,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_config.cpp:105,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/fuzz/fuzz_config.cpp:107,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:112,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:113,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:114,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:115,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:117,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:118,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:119,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:120,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:122,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:123,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:124,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:125,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:127,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:128,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:129,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:130,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:132,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:133,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:134,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:135,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:137,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:138,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:139,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:140,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:142,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:143,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:144,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:145,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:147,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:148,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:149,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:150,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:151,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:153,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:154,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:155,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:156,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:157,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:159,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:160,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:161,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:162,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:163,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:164,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:165,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:167,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:168,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:169,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:170,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:172,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:173,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:174,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:175,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:177,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:178,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:179,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:180,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:182,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:183,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:184,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:185,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:187,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:188,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:189,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:190,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:192,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:193,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:194,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:195,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:197,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:198,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:199,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:200,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:202,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:203,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:204,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:205,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:207,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:208,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:209,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:210,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:212,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:213,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:214,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:215,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:217,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:218,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:219,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:220,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:222,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:223,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:224,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:225,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:227,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:228,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:229,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:230,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:232,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:233,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:234,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:235,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:237,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:238,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:239,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:240,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:242,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:243,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:244,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:245,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:247,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:248,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:249,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:250,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:252,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:253,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:254,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:255,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:257,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:258,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:259,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:260,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:262,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:263,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:264,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:265,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:267,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:268,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:269,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:270,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:272,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:273,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:274,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:275,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:277,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:278,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:279,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:280,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:282,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:283,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:284,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:285,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:287,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:288,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:289,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:290,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:292,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:293,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:294,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:295,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:297,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:298,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:299,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:300,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:302,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:303,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:304,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:305,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:307,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:308,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:309,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:310,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:312,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:313,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:314,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:315,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:317,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:318,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:319,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:320,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:322,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:323,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:324,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:325,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:327,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:328,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:329,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:330,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:332,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:333,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:334,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:335,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:337,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:338,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:339,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:340,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:342,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:343,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:344,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:345,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:347,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:348,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:349,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:350,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:352,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:353,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:354,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:355,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:356,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:357,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:358,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:360,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:361,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:362,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:363,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:365,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:366,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:367,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:368,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:370,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:371,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:372,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:373,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:374,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:376,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:377,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:378,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:379,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:380,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:382,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:383,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:385,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:386,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:387,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:388,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:389,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:391,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:392,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:393,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:394,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:395,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:396,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:397,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:399,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:400,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:401,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:402,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:403,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:404,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:406,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:407,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:408,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:409,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:410,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:411,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:413,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:414,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:415,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:416,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:418,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:419,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:420,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:421,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:423,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:424,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:425,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:426,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:428,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:429,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:430,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:431,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:433,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:434,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:435,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:436,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:438,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:439,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:440,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:441,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:443,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:444,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:445,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:446,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:448,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:449,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:450,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:451,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:453,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:454,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:455,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:456,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:458,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:459,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:460,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:461,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:463,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:464,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:465,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:466,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:468,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:469,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:470,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:471,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:473,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:474,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:475,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:476,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:478,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:479,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:480,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:481,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:483,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:484,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:485,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:486,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:488,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:489,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:490,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:491,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:493,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:494,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:495,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:496,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:498,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:499,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:500,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:501,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:503,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:504,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:505,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:506,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:508,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:509,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:510,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:511,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:512,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:513,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:515,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:516,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:517,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:519,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:520,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:522,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:523,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:524,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:526,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:527,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:528,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:529,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:531,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:532,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:533,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:534,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:536,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:537,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:538,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:539,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:541,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:542,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:543,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:544,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:546,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:547,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:547,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:548,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:550,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:551,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:552,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:553,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:555,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:556,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:557,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:558,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:560,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:561,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:562,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:563,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:565,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:566,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:567,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:568,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:570,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:571,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:572,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:573,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:575,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:576,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:577,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:578,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:580,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:581,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:582,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:583,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:585,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:586,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:587,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:588,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:590,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:591,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:592,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:593,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:595,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:596,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:597,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:598,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:600,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:601,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:602,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:603,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:605,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:606,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:607,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:608,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:610,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:611,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:612,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:613,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:615,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:616,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:617,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:618,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:620,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:621,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:622,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:623,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:625,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:626,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:627,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:628,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:630,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:631,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:632,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:633,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:635,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:636,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:637,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:638,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:640,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:641,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:642,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:643,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:645,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:646,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:647,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:648,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:650,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:651,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:652,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:653,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:655,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:656,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:657,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:658,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:660,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:661,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:662,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:663,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:665,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:666,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:667,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:668,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:670,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:671,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:672,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:673,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:676,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:677,1
    - Dst: static_cast<int>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:677,1
    - Dst: ndpi_lru_cache_idx_to_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:678,1
    - Dst: static_cast<lru_cache_type>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:678,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:680,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:681,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:682,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:683,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:684,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:685,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:686,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:687,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:688,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:689,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:690,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:691,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:692,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:693,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:697,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:698,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:699,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:700,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:701,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:704,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:705,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:706,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:707,1
    - Dst: ndpi_add_host_risk_mask
      Src: /src/ndpi/fuzz/fuzz_config.cpp:710,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/ndpi/fuzz/fuzz_config.cpp:711,1
    - Dst: static_cast<ndpi_risk>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:712,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:712,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_config.cpp:714,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/fuzz/fuzz_config.cpp:716,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:721,1
    - Dst: ndpi_get_num_protocols
      Src: /src/ndpi/fuzz/fuzz_config.cpp:721,1
    - Dst: ndpi_get_proto_by_id
      Src: /src/ndpi/fuzz/fuzz_config.cpp:722,1
    - Dst: ndpi_get_proto_by_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:724,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:726,1
    - Dst: ndpi_get_num_protocols
      Src: /src/ndpi/fuzz/fuzz_config.cpp:726,1
    - Dst: ndpi_get_proto_by_id
      Src: /src/ndpi/fuzz/fuzz_config.cpp:727,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_config.cpp:729,1
    - Dst: ndpi_get_protocol_by_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:731,1
    - Dst: ndpi_map_user_proto_id_to_ndpi_id
      Src: /src/ndpi/fuzz/fuzz_config.cpp:734,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/fuzz/fuzz_config.cpp:735,1
    - Dst: ndpi_set_proto_breed
      Src: /src/ndpi/fuzz/fuzz_config.cpp:736,1
    - Dst: ndpi_set_proto_category
      Src: /src/ndpi/fuzz/fuzz_config.cpp:737,1
    - Dst: ndpi_is_subprotocol_informative
      Src: /src/ndpi/fuzz/fuzz_config.cpp:738,1
    - Dst: ndpi_get_proto_breed
      Src: /src/ndpi/fuzz/fuzz_config.cpp:739,1
    - Dst: ndpi_get_proto_by_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:741,1
    - Dst: ndpi_get_proto_by_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:742,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:743,1
    - Dst: ndpi_find_protocol_qoe
      Src: /src/ndpi/fuzz/fuzz_config.cpp:744,1
    - Dst: ndpi_ips_match
      Src: /src/ndpi/fuzz/fuzz_config.cpp:746,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:746,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:747,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:748,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:749,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:755,1
    - Dst: ndpi_network_port_ptree_match
      Src: /src/ndpi/fuzz/fuzz_config.cpp:756,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:756,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:758,1
    - Dst: ndpi_network_port_ptree6_match
      Src: /src/ndpi/fuzz/fuzz_config.cpp:759,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:759,1
    - Dst: ndpi_network_ptree6_match
      Src: /src/ndpi/fuzz/fuzz_config.cpp:760,1
    - Dst: ndpi_get_host_domain_suffix
      Src: /src/ndpi/fuzz/fuzz_config.cpp:762,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:762,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/fuzz/fuzz_config.cpp:763,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:763,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:766,1
    - Dst: static_cast<int>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:766,1
    - Dst: static_cast<int>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:767,1
    - Dst: ndpi_category_set_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:768,1
    - Dst: static_cast<ndpi_protocol_category_t>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:768,1
    - Dst: ndpi_is_custom_category
      Src: /src/ndpi/fuzz/fuzz_config.cpp:769,1
    - Dst: static_cast<ndpi_protocol_category_t>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:769,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:770,1
    - Dst: static_cast<ndpi_protocol_category_t>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:770,1
    - Dst: ndpi_get_category_id
      Src: /src/ndpi/fuzz/fuzz_config.cpp:771,1
    - Dst: ndpi_tunnel2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:773,1
    - Dst: static_cast<ndpi_packet_tunnel>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:773,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:773,1
    - Dst: static_cast<int>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:773,1
    - Dst: static_cast<int>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:774,1
    - Dst: ndpi_get_num_protocols
      Src: /src/ndpi/fuzz/fuzz_config.cpp:776,1
    - Dst: ndpi_get_proto_defaults
      Src: /src/ndpi/fuzz/fuzz_config.cpp:777,1
    - Dst: ndpi_dump_protocols
      Src: /src/ndpi/fuzz/fuzz_config.cpp:779,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:779,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:780,1
    - Dst: ndpi_generate_options
      Src: /src/ndpi/fuzz/fuzz_config.cpp:781,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:781,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:781,1
    - Dst: ndpi_dump_risks_score
      Src: /src/ndpi/fuzz/fuzz_config.cpp:782,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:782,1
    - Dst: ndpi_dump_config
      Src: /src/ndpi/fuzz/fuzz_config.cpp:783,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:783,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:786,1
    - Dst: ndpi_ssl_version2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:787,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:787,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:788,1
    - Dst: ndpi_multimedia_flowtype2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:789,1
    - Dst: static_cast<ndpi_multimedia_flow_type>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:789,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:789,1
    - Dst: ndpi_multimedia_flowtype2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:791,1
    - Dst: static_cast<ndpi_multimedia_flow_type>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:791,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:791,1
    - Dst: ndpi_get_ip_proto_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:792,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:792,1
    - Dst: ndpi_ssl_version2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:794,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:794,1
    - Dst: ndpi_get_ip_proto_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:795,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:795,1
    - Dst: ndpi_risk2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:797,1
    - Dst: static_cast<ndpi_risk_enum>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:797,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:797,1
    - Dst: ndpi_risk2code
      Src: /src/ndpi/fuzz/fuzz_config.cpp:798,1
    - Dst: static_cast<ndpi_risk_enum>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:798,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:798,1
    - Dst: ndpi_code2risk
      Src: /src/ndpi/fuzz/fuzz_config.cpp:799,1
    - Dst: ndpi_risk2code
      Src: /src/ndpi/fuzz/fuzz_config.cpp:799,1
    - Dst: static_cast<ndpi_risk_enum>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:799,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:799,1
    - Dst: ndpi_risk2score
      Src: /src/ndpi/fuzz/fuzz_config.cpp:801,1
    - Dst: static_cast<ndpi_risk_enum>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:801,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:801,1
    - Dst: ndpi_severity2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:802,1
    - Dst: static_cast<ndpi_risk_severity>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:802,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:802,1
    - Dst: ndpi_risk2score
      Src: /src/ndpi/fuzz/fuzz_config.cpp:803,1
    - Dst: static_cast<ndpi_risk_enum>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:803,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:803,1
    - Dst: ndpi_http_method2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:804,1
    - Dst: static_cast<ndpi_http_method>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:804,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:804,1
    - Dst: ndpi_confidence_get_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:805,1
    - Dst: static_cast<ndpi_confidence_t>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:805,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:805,1
    - Dst: ndpi_fpc_confidence_get_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:806,1
    - Dst: static_cast<ndpi_fpc_confidence_t>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:806,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:806,1
    - Dst: ndpi_get_breed_by_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:807,1
    - Dst: ndpi_get_proto_breed_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:807,1
    - Dst: static_cast<ndpi_protocol_breed_t>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:807,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:807,1
    - Dst: ndpi_get_l4_proto_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:808,1
    - Dst: static_cast<ndpi_l4_proto_info>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:808,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:808,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:809,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:810,1
    - Dst: ndpi_is_proto_unknown
      Src: /src/ndpi/fuzz/fuzz_config.cpp:811,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:812,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:813,1
    - Dst: ndpi_is_proto_equals
      Src: /src/ndpi/fuzz/fuzz_config.cpp:814,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:814,1
    - Dst: ndpi_rtp_payload_type2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:816,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:816,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:816,1
    - Dst: ndpi_rtp_payload_type2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:817,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_config.cpp:817,1
    - Dst: ndpi_entropy2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:820,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_config.cpp:820,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:820,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:823,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_config.cpp:824,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_config.cpp:825,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_config.cpp:826,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytes
      Src: /src/ndpi/fuzz/fuzz_config.cpp:827,1
    - Dst: ndpi_detection_get_l4
      Src: /src/ndpi/fuzz/fuzz_config.cpp:832,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_config.cpp:832,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_config.cpp:832,1
    - Dst: ndpi_detection_get_l4
      Src: /src/ndpi/fuzz/fuzz_config.cpp:833,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_config.cpp:833,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_config.cpp:833,1
    - Dst: ndpi_detection_process_packet
      Src: /src/ndpi/fuzz/fuzz_config.cpp:835,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_config.cpp:835,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_config.cpp:835,1
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_config.cpp:836,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_config.cpp:838,1
    - Dst: ndpi_get_flow_masterprotocol
      Src: /src/ndpi/fuzz/fuzz_config.cpp:838,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_config.cpp:839,1
    - Dst: ndpi_get_flow_appprotocol
      Src: /src/ndpi/fuzz/fuzz_config.cpp:839,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_config.cpp:840,1
    - Dst: ndpi_get_flow_category
      Src: /src/ndpi/fuzz/fuzz_config.cpp:840,1
    - Dst: ndpi_is_master_only_protocol
      Src: /src/ndpi/fuzz/fuzz_config.cpp:841,1
    - Dst: ndpi_normalize_protocol
      Src: /src/ndpi/fuzz/fuzz_config.cpp:842,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_config.cpp:843,1
    - Dst: ndpi_stack_get_upper_proto
      Src: /src/ndpi/fuzz/fuzz_config.cpp:843,1
    - Dst: ndpi_get_upper_proto
      Src: /src/ndpi/fuzz/fuzz_config.cpp:843,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_config.cpp:844,1
    - Dst: ndpi_stack_get_lower_proto
      Src: /src/ndpi/fuzz/fuzz_config.cpp:844,1
    - Dst: ndpi_get_lower_proto
      Src: /src/ndpi/fuzz/fuzz_config.cpp:844,1
    - Dst: ndpi_get_flow_error_code
      Src: /src/ndpi/fuzz/fuzz_config.cpp:845,1
    - Dst: ndpi_get_flow_risk_info
      Src: /src/ndpi/fuzz/fuzz_config.cpp:846,1
    - Dst: ndpi_get_flow_ndpi_proto
      Src: /src/ndpi/fuzz/fuzz_config.cpp:847,1
    - Dst: ndpi_is_proto
      Src: /src/ndpi/fuzz/fuzz_config.cpp:848,1
    - Dst: ndpi_http_method2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:849,1
    - Dst: ndpi_is_subprotocol_informative
      Src: /src/ndpi/fuzz/fuzz_config.cpp:850,1
    - Dst: ndpi_get_flow_name
      Src: /src/ndpi/fuzz/fuzz_config.cpp:851,1
    - Dst: ndpi_stack2str
      Src: /src/ndpi/fuzz/fuzz_config.cpp:852,1
    - Dst: ndpi_is_protocol_detected
      Src: /src/ndpi/fuzz/fuzz_config.cpp:854,1
    - Dst: ndpi_guess_undetected_protocol
      Src: /src/ndpi/fuzz/fuzz_config.cpp:855,1
    - Dst: ndpi_find_ipv4_category_userdata
      Src: /src/ndpi/fuzz/fuzz_config.cpp:859,1
    - Dst: ndpi_search_tcp_or_udp_raw
      Src: /src/ndpi/fuzz/fuzz_config.cpp:861,1
    - Dst: ntohl
      Src: /src/ndpi/fuzz/fuzz_config.cpp:861,1
    - Dst: ntohl
      Src: /src/ndpi/fuzz/fuzz_config.cpp:861,1
    - Dst: ndpi_guess_undetected_protocol_v4
      Src: /src/ndpi/fuzz/fuzz_config.cpp:863,1
    - Dst: ndpi_find_ipv6_category_userdata
      Src: /src/ndpi/fuzz/fuzz_config.cpp:868,1
    - Dst: ndpi_search_tcp_or_udp
      Src: /src/ndpi/fuzz/fuzz_config.cpp:871,1
    - Dst: ndpi_network_risk_ptree_match
      Src: /src/ndpi/fuzz/fuzz_config.cpp:875,1
    - Dst: ndpi_check_flow_risk_exceptions
      Src: /src/ndpi/fuzz/fuzz_config.cpp:880,1
    - Dst: ndpi_check_flow_risk_exceptions
      Src: /src/ndpi/fuzz/fuzz_config.cpp:883,1
    - Dst: ndpi_get_geoip_asn
      Src: /src/ndpi/fuzz/fuzz_config.cpp:886,1
    - Dst: ndpi_get_geoip_aso
      Src: /src/ndpi/fuzz/fuzz_config.cpp:887,1
    - Dst: ndpi_get_geoip_country_continent
      Src: /src/ndpi/fuzz/fuzz_config.cpp:888,1
    - Dst: ndpi_get_geoip_country_continent_city
      Src: /src/ndpi/fuzz/fuzz_config.cpp:889,1
    - Dst: ndpi_fill_randombytes
      Src: /src/ndpi/fuzz/fuzz_config.cpp:891,1
    - Dst: ndpi_free_flow_data
      Src: /src/ndpi/fuzz/fuzz_config.cpp:893,1
    - Dst: ndpi_get_lru_cache_stats
      Src: /src/ndpi/fuzz/fuzz_config.cpp:897,1
    - Dst: static_cast<lru_cache_type>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:897,1
    - Dst: ndpi_get_patricia_stats
      Src: /src/ndpi/fuzz/fuzz_config.cpp:899,1
    - Dst: static_cast<ptree_type>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:899,1
    - Dst: ndpi_patricia_get_stats
      Src: /src/ndpi/fuzz/fuzz_config.cpp:900,1
    - Dst: ndpi_get_automa_stats
      Src: /src/ndpi/fuzz/fuzz_config.cpp:902,1
    - Dst: static_cast<automa_type>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:902,1
    - Dst: ndpi_get_hash_stats
      Src: /src/ndpi/fuzz/fuzz_config.cpp:904,1
    - Dst: static_cast<str_hash_type>
      Src: /src/ndpi/fuzz/fuzz_config.cpp:904,1
    - Dst: ndpi_revision
      Src: /src/ndpi/fuzz/fuzz_config.cpp:907,1
    - Dst: ndpi_get_api_version
      Src: /src/ndpi/fuzz/fuzz_config.cpp:908,1
    - Dst: ndpi_get_gcrypt_version
      Src: /src/ndpi/fuzz/fuzz_config.cpp:909,1
    - Dst: ndpi_get_ndpi_detection_module_size
      Src: /src/ndpi/fuzz/fuzz_config.cpp:911,1
    - Dst: ndpi_detection_get_sizeof_ndpi_flow_struct
      Src: /src/ndpi/fuzz/fuzz_config.cpp:912,1
    - Dst: ndpi_get_tot_allocated_memory
      Src: /src/ndpi/fuzz/fuzz_config.cpp:914,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/fuzz/fuzz_config.cpp:915,1
    - Dst: ndpi_log_timestamp
      Src: /src/ndpi/fuzz/fuzz_config.cpp:916,1
    - Dst: ndpi_free_geoip
      Src: /src/ndpi/fuzz/fuzz_config.cpp:918,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/fuzz/fuzz_config.cpp:920,1
    - Dst: ndpi_global_deinit
      Src: /src/ndpi/fuzz/fuzz_config.cpp:922,1
    CyclomaticComplexity: 149
    EdgeCount: 149
    ICount: 791
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_stack_get_lower_proto(&p.protocol_stack) == ndpi_get_lower_proto(p.proto))
      pos:
        line_end: 843
        line_start: 843
        source_file: /src/ndpi/fuzz/fuzz_config.cpp
    - condition: (p.proto.master_protocol == ndpi_get_flow_masterprotocol(&flow))
      pos:
        line_end: 837
        line_start: 837
        source_file: /src/ndpi/fuzz/fuzz_config.cpp
    - condition: (p.proto.app_protocol == ndpi_get_flow_appprotocol(&flow))
      pos:
        line_end: 838
        line_start: 838
        source_file: /src/ndpi/fuzz/fuzz_config.cpp
    - condition: (ndpi_stack_get_upper_proto(&p.protocol_stack) == ndpi_get_upper_proto(p.proto))
      pos:
        line_end: 842
        line_start: 842
        source_file: /src/ndpi/fuzz/fuzz_config.cpp
    - condition: (p.category == ndpi_get_flow_category(&flow))
      pos:
        line_end: 839
        line_start: 839
        source_file: /src/ndpi/fuzz/fuzz_config.cpp
    constantsTouched: []
    func_position:
      end: 925
      start: 11
    functionDepth: 8
    functionLinenumber: 11
    functionLinenumberEnd: 925
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_config.cpp
    functionUses: 0
    functionsReached:
    - ndpi_is_proto_unknown
    - static_cast<ndpi_multimedia_flow_type>
    - ndpi_detection_process_packet
    - ndpi_guess_undetected_protocol_v4
    - ndpi_get_flow_error_code
    - ndpi_is_custom_category
    - static_cast<str_hash_type>
    - ndpi_find_ipv6_category_userdata
    - static_cast<ndpi_risk_enum>
    - ndpi_get_proto_breed
    - ndpi_fpc_confidence_get_name
    - ndpi_find_protocol_qoe
    - ndpi_get_protocol_by_name
    - static_cast<ndpi_protocol_category_t>
    - ndpi_fill_randombytes
    - ndpi_get_geoip_country_continent
    - ndpi_get_user_data
    - ndpi_get_proto_breed_name
    - ndpi_get_flow_appprotocol
    - ndpi_detection_giveup
    - snprintf
    - ndpi_free_flow_data
    - ndpi_severity2str
    - ndpi_risk2code
    - ndpi_is_proto
    - ndpi_http_method2str
    - ndpi_get_patricia_stats
    - ndpi_load_categories_file
    - set_ndpi_debug_function
    - static_cast<lru_cache_type>
    - ndpi_get_flow_ndpi_proto
    - ndpi_free_geoip
    - ndpi_risk2str
    - ndpi_network_risk_ptree_match
    - FuzzedDataProvider::ConsumeRemainingBytes
    - static_cast<automa_type>
    - ndpi_add_host_risk_mask
    - ndpi_finalize_initialization
    - ndpi_get_upper_proto
    - ndpi_get_host_domain_suffix
    - ndpi_load_domain_suffixes
    - static_cast<ndpi_http_method>
    - ndpi_global_init
    - ndpi_get_num_protocols
    - ndpi_get_flow_category
    - ndpi_get_ip_proto_name
    - ndpi_get_geoip_aso
    - ndpi_set_user_data
    - ndpi_confidence_get_name
    - ndpi_global_deinit
    - static_cast<ndpi_risk_severity>
    - ndpi_detection_get_sizeof_ndpi_flow_struct
    - ndpi_get_breed_by_name
    - ndpi_revision
    - static_cast<ndpi_risk>
    - static_cast<ndpi_packet_tunnel>
    - FuzzedDataProvider::ConsumeIntegralInRange
    - ndpi_get_config
    - ndpi_is_proto_equals
    - FuzzedDataProvider::ConsumeBool
    - ndpi_code2risk
    - ndpi_get_host_domain
    - ndpi_get_flow_name
    - ndpi_stack2str
    - ndpi_init_detection_module
    - ndpi_load_categories_dir
    - ndpi_get_lower_proto
    - static_cast<int>
    - FuzzedDataProvider::ConsumeBytesAsString
    - ndpi_get_proto_by_name
    - ndpi_set_proto_category
    - ndpi_lru_cache_idx_to_name
    - ndpi_normalize_protocol
    - ndpi_find_ipv4_category_userdata
    - ndpi_log_timestamp
    - ndpi_search_tcp_or_udp
    - ndpi_ssl_version2str
    - ndpi_is_protocol_detected
    - ntohl
    - ndpi_map_ndpi_id_to_user_proto_id
    - ndpi_dump_config
    - std::vector::data
    - ndpi_category_set_name
    - ndpi_dump_risks_score
    - ndpi_is_master_only_protocol
    - ndpi_ips_match
    - ndpi_get_category_id
    - ndpi_load_malicious_ja4_file
    - ndpi_get_flow_masterprotocol
    - ndpi_load_protocols_file
    - ndpi_exit_detection_module
    - ndpi_get_hash_stats
    - static_cast<ptree_type>
    - ndpi_detection_get_l4
    - ndpi_network_ptree6_match
    - ndpi_get_proto_name
    - FuzzedDataProvider::ConsumeIntegral
    - memset
    - ndpi_get_api_version
    - ndpi_load_malicious_sha1_file
    - FuzzedDataProvider::ConsumeFloatingPoint
    - ndpi_get_proto_by_id
    - ndpi_check_flow_risk_exceptions
    - ndpi_guess_undetected_protocol
    - ndpi_rtp_payload_type2str
    - ndpi_map_user_proto_id_to_ndpi_id
    - ndpi_load_risk_domain_file
    - static_cast<ndpi_confidence_t>
    - static_cast<ndpi_protocol_breed_t>
    - ndpi_multimedia_flowtype2str
    - ndpi_entropy2str
    - ndpi_patricia_get_stats
    - ndpi_get_flow_risk_info
    - ndpi_search_tcp_or_udp_raw
    - ndpi_stack_get_upper_proto
    - ndpi_risk2score
    - ndpi_load_geoip
    - ndpi_get_geoip_country_continent_city
    - ndpi_load_ipv4_ptree
    - ndpi_dump_protocols
    - ndpi_get_gcrypt_version
    - ndpi_tunnel2str
    - ndpi_stack_get_lower_proto
    - ndpi_network_port_ptree6_match
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_strdup
    - ndpi_is_subprotocol_informative
    - ndpi_get_ndpi_detection_module_size
    - ndpi_network_port_ptree_match
    - ndpi_generate_options
    - static_cast<ndpi_l4_proto_info>
    - ndpi_get_tot_allocated_memory
    - std::vector::size
    - ndpi_get_l4_proto_name
    - ndpi_get_automa_stats
    - ndpi_get_lru_cache_stats
    - ndpi_set_config
    - assert
    - ndpi_get_geoip_asn
    - ndpi_get_proto_defaults
    - ndpi_category_get_name
    - ndpi_set_proto_breed
    - static_cast<ndpi_fpc_confidence_t>
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_filecfg_categories.c:10,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_categories.c:12,1
    - Dst: ndpi_set_config_u64
      Src: /src/ndpi/fuzz/fuzz_filecfg_categories.c:14,1
    - Dst: ndpi_set_config_u64
      Src: /src/ndpi/fuzz/fuzz_filecfg_categories.c:15,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_filecfg_categories.c:17,1
    - Dst: load_categories_file_fd
      Src: /src/ndpi/fuzz/fuzz_filecfg_categories.c:18,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_filecfg_categories.c:20,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_categories.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 5
    functionDepth: 6
    functionLinenumber: 5
    functionLinenumberEnd: 24
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_filecfg_categories.c
    functionUses: 0
    functionsReached:
    - fclose
    - ndpi_init_detection_module
    - ndpi_exit_detection_module
    - ndpi_set_config_u64
    - load_categories_file_fd
    - buffer_to_file
    - fuzz_set_alloc_callbacks_and_seed
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:20,1
    - Dst: static_cast<ndpi_serialization_format>
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:22,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:22,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:24,1
    - Dst: ndpi_init_serializer
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:25,1
    - Dst: ndpi_init_serializer_ll
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:27,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:27,1
    - Dst: ndpi_serializer_set_csv_separator
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:33,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:35,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:37,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:38,1
    - Dst: ndpi_serialize_uint32_uint32
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:40,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:40,1
    - Dst: ndpi_serialize_uint32_int32
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:41,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:41,1
    - Dst: ndpi_serialize_uint32_uint64
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:42,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:42,1
    - Dst: ndpi_serialize_uint32_int64
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:43,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:43,1
    - Dst: ndpi_serialize_uint32_float
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:44,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:44,1
    - Dst: ndpi_serialize_uint32_double
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:47,1
    - Dst: ndpi_serialize_uint32_binary
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:48,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:48,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:48,1
    - Dst: ndpi_serialize_uint32_string
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:49,1
    - Dst: ndpi_serialize_uint32_boolean
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:50,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:50,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:52,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:52,1
    - Dst: ndpi_serialize_string_uint32_format
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:53,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:53,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:54,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:54,1
    - Dst: ndpi_serialize_string_uint64
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:55,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:55,1
    - Dst: ndpi_serialize_string_int64
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:56,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:56,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:57,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:57,1
    - Dst: ndpi_serialize_string_double
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:59,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:59,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:60,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:61,1
    - Dst: ndpi_serialize_string_binary
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:62,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:62,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:62,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:63,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:63,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:64,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:65,1
    - Dst: ndpi_serialize_string_raw
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:66,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:66,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:66,1
    - Dst: ndpi_serialize_string_boolean
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:67,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:67,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:69,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:70,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:71,1
    - Dst: ndpi_serialize_binary_uint32
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:75,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:75,1
    - Dst: ndpi_serialize_binary_int32
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:76,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:76,1
    - Dst: ndpi_serialize_binary_uint64
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:77,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:77,1
    - Dst: ndpi_serialize_binary_int64
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:78,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:78,1
    - Dst: ndpi_serialize_binary_float
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:79,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:79,1
    - Dst: ndpi_serialize_binary_double
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:81,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:81,1
    - Dst: ndpi_serialize_binary_boolean
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:82,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:82,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:83,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:84,1
    - Dst: ndpi_serialize_binary_binary
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:85,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:85,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:85,1
    - Dst: ndpi_serialize_end_of_record
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:88,1
    - Dst: ndpi_serializer_create_snapshot
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:91,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:93,1
    - Dst: ndpi_serializer_skip_header
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:94,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:96,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:97,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:98,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:99,1
    - Dst: ndpi_serialize_uint32_uint32
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:100,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:100,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:100,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:101,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:101,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:102,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:102,1
    - Dst: ndpi_serialize_binary_boolean
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:103,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:103,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:104,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:107,1
    - Dst: ndpi_serialize_start_of_block_uint32
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:108,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:109,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:110,1
    - Dst: ndpi_serialize_uint32_uint32
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:111,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:111,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:112,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:112,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:113,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:113,1
    - Dst: ndpi_serialize_binary_boolean
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:114,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:114,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:115,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:119,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:120,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:121,1
    - Dst: ndpi_serialize_raw_record
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:122,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:122,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:122,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:126,1
    - Dst: ndpi_serializer_rollback_snapshot
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:127,1
    - Dst: ndpi_serialize_start_of_list
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:129,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:132,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:134,1
    - Dst: snprintf
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:135,1
    - Dst: ndpi_serialize_uint32_uint32
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:136,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:136,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:137,1
    - Dst: FuzzedDataProvider::ConsumeBytesAsString
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:137,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:138,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:138,1
    - Dst: ndpi_serialize_binary_boolean
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:139,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:139,1
    - Dst: ndpi_serialize_end_of_list
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:142,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:143,1
    - Dst: ndpi_serializer_get_header
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:147,1
    - Dst: ndpi_serializer_get_buffer
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:148,1
    - Dst: ndpi_serializer_set_buffer_len
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:149,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:149,1
    - Dst: ndpi_init_deserializer
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:152,1
    - Dst: ndpi_init_serializer_ll
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:154,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:154,1
    - Dst: ndpi_deserialize_clone_all
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:156,1
    - Dst: ndpi_serializer_get_format
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:157,1
    - Dst: ndpi_serializer_get_buffer
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:158,1
    - Dst: ndpi_serializer_get_buffer_len
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:159,1
    - Dst: ndpi_serializer_get_internal_buffer_size
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:160,1
    - Dst: ndpi_term_serializer
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:161,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:162,1
    - Dst: ndpi_deserialize_get_format
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:162,1
    - Dst: ndpi_init_deserializer
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:166,1
    - Dst: ndpi_init_serializer_ll
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:168,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:168,1
    - Dst: ndpi_deserialize_clone_item
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:170,1
    - Dst: ndpi_term_serializer
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:171,1
    - Dst: ndpi_term_serializer
      Src: /src/ndpi/fuzz/fuzz_serialization.cpp:176,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 137
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_deserialize_get_format(&deserializer) == ndpi_serialization_format_tlv)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/ndpi/fuzz/fuzz_serialization.cpp
    constantsTouched: []
    func_position:
      end: 179
      start: 9
    functionDepth: 9
    functionLinenumber: 9
    functionLinenumberEnd: 179
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_serialization.cpp
    functionUses: 0
    functionsReached:
    - ndpi_serialize_start_of_block_uint32
    - ndpi_deserialize_clone_item
    - ndpi_serialize_uint32_int64
    - ndpi_serialize_string_uint32
    - ndpi_serialize_string_float
    - ndpi_serialize_uint32_double
    - ndpi_serialize_binary_double
    - ndpi_serialize_string_uint64
    - std::vector::data
    - ndpi_serializer_get_buffer_len
    - ndpi_serialize_string_raw
    - ndpi_init_deserializer
    - strlen
    - ndpi_serialize_string_int32
    - ndpi_serialize_uint32_string
    - ndpi_serialize_string_boolean
    - ndpi_serialize_uint32_uint64
    - ndpi_serialize_uint32_uint32
    - ndpi_serialize_binary_uint64
    - ndpi_serializer_set_csv_separator
    - ndpi_serialize_start_of_block
    - ndpi_serialize_uint32_boolean
    - ndpi_init_serializer_ll
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_serializer_create_snapshot
    - ndpi_serializer_get_header
    - static_cast<ndpi_serialization_format>
    - ndpi_serialize_uint32_binary
    - FuzzedDataProvider::ConsumeIntegralInRange
    - ndpi_serializer_rollback_snapshot
    - ndpi_serializer_set_buffer_len
    - FuzzedDataProvider::ConsumeBytes
    - ndpi_serialize_raw_record
    - snprintf
    - ndpi_deserialize_get_format
    - FuzzedDataProvider::ConsumeBool
    - ndpi_serialize_binary_float
    - ndpi_serialize_uint32_float
    - std::vector::size
    - ndpi_serialize_string_double
    - memset
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_serialize_binary_boolean
    - ndpi_serialize_binary_int64
    - ndpi_serialize_end_of_record
    - ndpi_serialize_uint32_int32
    - ndpi_serializer_skip_header
    - ndpi_serialize_end_of_block
    - ndpi_serialize_binary_uint32
    - FuzzedDataProvider::ConsumeFloatingPoint
    - ndpi_serialize_string_int64
    - ndpi_serialize_binary_binary
    - ndpi_serialize_end_of_list
    - ndpi_serializer_get_internal_buffer_size
    - ndpi_term_serializer
    - assert
    - ndpi_serializer_get_buffer
    - ndpi_serialize_string_uint32_format
    - ndpi_serialize_string_binary
    - ndpi_serialize_binary_int32
    - ndpi_deserialize_clone_all
    - FuzzedDataProvider::ConsumeBytesAsString
    - ndpi_serializer_get_format
    - ndpi_serialize_start_of_list
    - ndpi_init_serializer
    - ndpi_serialize_string_string
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:15,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:16,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:17,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:21,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:27,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:28,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:28,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:28,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:32,1
    - Dst: ndpi_strlcpy
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:33,1
    - Dst: ndpi_strlcpy
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:35,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:38,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:38,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:39,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_alg_memmem.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 5
    functionDepth: 2
    functionLinenumber: 5
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_alg_memmem.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - FuzzedDataProvider::ConsumeBytes
    - ndpi_memmem
    - FuzzedDataProvider::ConsumeBool
    - ndpi_strlcpy
    - std::vector::size
    - std::vector::data
    - ndpi_memcasecmp
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: MBEDTLS_INTERNAL_VALIDATE_RET
    functionSourceFile: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MBEDTLS_INTERNAL_VALIDATE_RET( cond, ret )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:27,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:36,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:37,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:38,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:39,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:42,1
    - Dst: FuzzedDataProvider::PickValueInArray
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:45,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:46,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:48,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:51,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:52,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:54,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:55,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:57,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:58,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:59,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:60,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:62,1
    - Dst: static_cast<mbedtls_cipher_id_t>
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:64,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:64,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:66,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:66,1
    - Dst: mbedtls_gcm_init
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:68,1
    - Dst: mbedtls_gcm_init
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:69,1
    - Dst: mbedtls_gcm_setkey
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:71,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:71,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:71,1
    - Dst: mbedtls_gcm_setkey
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:72,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:72,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:72,1
    - Dst: mbedtls_gcm_crypt_and_tag
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:75,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:76,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:77,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:77,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:78,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:78,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:79,1
    - Dst: mbedtls_gcm_auth_decrypt
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:89,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:90,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:91,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:91,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:92,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:92,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:97,1
    - Dst: memcmp
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:97,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:97,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:97,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:99,1
    - Dst: mbedtls_gcm_free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:103,1
    - Dst: mbedtls_gcm_free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:104,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:106,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:107,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:108,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:109,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:110,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:111,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp:112,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (fuzzed_data.remaining_bytes() > 0)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp
    - condition: (memcmp(input.data(), decrypted, input.size()) == 0)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp
    - condition: (rc_d == MBEDTLS_ERR_GCM_AUTH_FAILED)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp
    constantsTouched: []
    func_position:
      end: 115
      start: 14
    functionDepth: 5
    functionLinenumber: 14
    functionLinenumberEnd: 115
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - FuzzedDataProvider::ConsumeBytes
    - mbedtls_gcm_init
    - assert
    - mbedtls_gcm_free
    - static_cast<mbedtls_cipher_id_t>
    - FuzzedDataProvider::ConsumeBool
    - malloc
    - mbedtls_gcm_setkey
    - free
    - mbedtls_gcm_auth_decrypt
    - memcmp
    - std::vector::size
    - std::vector::data
    - mbedtls_gcm_crypt_and_tag
    - FuzzedDataProvider::PickValueInArray
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:12,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:13,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:14,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:16,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:16,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:16,1
    - Dst: ndpi_str_endswith
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:18,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:18,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:18,1
    - Dst: ndpi_str_to_utf8
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:20,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:20,1
    - Dst: strlen
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:20,1
    - Dst: std::string::c_str
      Src: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 23
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeRandomLengthString
    - strlen
    - ndpi_str_to_utf8
    - ndpi_strnstr
    - std::string::c_str
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_str_endswith
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:11,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - data
    argTypes:
    - ndpi_prefix_t*
    - void*
    assertStmts:
    - condition: (prefix && data == NULL)
      pos:
        line_end: 10
        line_start: 10
        source_file: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: process_ptree_data
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void process_ptree_data(ndpi_prefix_t *prefix, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - node
    - data
    - user_data
    argTypes:
    - ndpi_patricia_node_t*
    - void*
    - void*
    assertStmts:
    - condition: (node && data == NULL && user_data == NULL)
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: process3_ptree_data
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void process3_ptree_data(ndpi_patricia_node_t *node, void *data, void
      *user_data)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:30,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:36,1
    - Dst: ndpi_patricia_new
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:44,1
    - Dst: ndpi_patricia_get_maxbits
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:46,1
    - Dst: ndpi_patricia_process
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:47,1
    - Dst: ndpi_patricia_walk_tree_inorder
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:48,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:51,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:54,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:55,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:56,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:57,1
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:58,1
    - Dst: ndpi_patricia_lookup
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:59,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:61,1
    - Dst: ndpi_patricia_get_node_prefix
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:65,1
    - Dst: ndpi_patricia_get_node_bits
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:66,1
    - Dst: ndpi_patricia_set_node_data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:67,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:68,1
    - Dst: ndpi_patricia_get_node_data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:68,1
    - Dst: ndpi_patricia_set_node_u64
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:69,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:70,1
    - Dst: ndpi_patricia_get_node_u64
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:70,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:74,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:75,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:76,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:77,1
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:78,1
    - Dst: ndpi_patricia_lookup
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:79,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:81,1
    - Dst: ndpi_patricia_get_node_prefix
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:85,1
    - Dst: ndpi_patricia_get_node_bits
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:86,1
    - Dst: ndpi_patricia_set_node_data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:87,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:88,1
    - Dst: ndpi_patricia_get_node_data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:88,1
    - Dst: ndpi_patricia_set_node_u64
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:89,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:90,1
    - Dst: ndpi_patricia_get_node_u64
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:90,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:94,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:95,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:96,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:97,1
    - Dst: ndpi_fill_prefix_mac
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:98,1
    - Dst: ndpi_patricia_lookup
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:99,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:101,1
    - Dst: ndpi_patricia_get_node_prefix
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:105,1
    - Dst: ndpi_patricia_get_node_bits
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:106,1
    - Dst: ndpi_patricia_set_node_data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:107,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:108,1
    - Dst: ndpi_patricia_get_node_data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:108,1
    - Dst: ndpi_patricia_set_node_u64
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:109,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:110,1
    - Dst: ndpi_patricia_get_node_u64
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:110,1
    - Dst: ndpi_patricia_process
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:116,1
    - Dst: ndpi_patricia_walk_tree_inorder
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:117,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:120,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:123,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:124,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:125,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:126,1
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:127,1
    - Dst: ndpi_patricia_search_exact
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:128,1
    - Dst: ndpi_patricia_remove
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:130,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:133,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:134,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:135,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:136,1
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:137,1
    - Dst: ndpi_patricia_search_exact
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:138,1
    - Dst: ndpi_patricia_remove
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:140,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:143,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:144,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:145,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:146,1
    - Dst: ndpi_fill_prefix_mac
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:147,1
    - Dst: ndpi_patricia_search_exact
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:148,1
    - Dst: ndpi_patricia_remove
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:150,1
    - Dst: ndpi_patricia_search_exact
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:157,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:160,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:163,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:164,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:165,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:166,1
    - Dst: ndpi_fill_prefix_v4
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:167,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:168,1
    - Dst: ndpi_patricia_remove
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:170,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:173,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:174,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:175,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:176,1
    - Dst: ndpi_fill_prefix_v6
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:177,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:178,1
    - Dst: ndpi_patricia_remove
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:180,1
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:183,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:184,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:185,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:186,1
    - Dst: ndpi_fill_prefix_mac
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:187,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:188,1
    - Dst: ndpi_patricia_remove
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:190,1
    - Dst: ndpi_patricia_search_best
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:196,1
    - Dst: ndpi_patricia_clone
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:198,1
    - Dst: ndpi_patricia_process
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:200,1
    - Dst: ndpi_patricia_walk_tree_inorder
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:201,1
    - Dst: ndpi_patricia_destroy
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:204,1
    - Dst: ndpi_patricia_destroy
      Src: /src/ndpi/fuzz/fuzz_ds_patricia.cpp:205,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 146
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_patricia_get_node_data(node) == NULL)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
    - condition: (ndpi_patricia_get_node_u64(node) == 0)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
    - condition: (ndpi_patricia_get_node_data(node) == NULL)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
    - condition: (ndpi_patricia_get_node_u64(node) == 0)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
    - condition: (ndpi_patricia_get_node_u64(node) == 0)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
    - condition: (ndpi_patricia_get_node_data(node) == NULL)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
    constantsTouched: []
    func_position:
      end: 208
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 208
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
    functionUses: 0
    functionsReached:
    - ndpi_patricia_remove
    - ndpi_patricia_new
    - std::vector::data
    - ndpi_patricia_get_node_u64
    - ndpi_patricia_set_node_data
    - ndpi_patricia_get_node_bits
    - ndpi_patricia_walk_tree_inorder
    - ndpi_patricia_destroy
    - ndpi_patricia_search_best
    - ndpi_patricia_get_node_prefix
    - ndpi_patricia_search_exact
    - ndpi_patricia_set_node_u64
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegralInRange
    - FuzzedDataProvider::ConsumeBytes
    - ndpi_patricia_process
    - FuzzedDataProvider::ConsumeBool
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_fill_prefix_mac
    - ndpi_patricia_lookup
    - ndpi_patricia_get_node_data
    - ndpi_fill_prefix_v6
    - assert
    - ndpi_patricia_clone
    - ndpi_patricia_get_maxbits
    - ndpi_fill_prefix_v4
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_mutator
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - Data
    - Size
    - MaxSize
    - Seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    functionUses: 0
    functionsReached:
    - pl7m_mutator
    linkageType: ''
    returnType: size_t
    signature: "size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size,\n                               size_t
      MaxSize, unsigned int Seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirname
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:49,1
    - Dst: strdup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    functionUses: 0
    functionsReached:
    - dirname
    - strdup
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:61,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: node_cleanup_walker
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    functionUses: 0
    functionsReached:
    - process_ndpi_collected_info
    - ndpi_detection_giveup
    linkageType: ''
    returnType: void
    signature: void node_cleanup_walker(const void *node, ndpi_VISIT which, int depth,
      void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - f
    - d
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: fn_flow_callback
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fn_flow_callback(struct ndpi_workflow *w, struct ndpi_flow_info
      *f, void *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:87,1
    - Dst: fuzz_set_alloc_callbacks
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:94,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:97,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:99,1
    - Dst: ndpi_workflow_set_flow_callback
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:101,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:103,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:104,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:106,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:107,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:107,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:108,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:109,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:109,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:110,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:111,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:111,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:112,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:113,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:113,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:114,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:115,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:115,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:116,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:117,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:117,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:118,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:119,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:119,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:120,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:121,1
    - Dst: ndpi_load_tcp_fingerprint_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:121,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:122,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:123,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:123,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:126,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:130,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:131,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:132,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:133,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:134,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:135,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:137,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:138,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:139,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:141,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:142,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:143,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:144,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:145,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:146,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:147,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:148,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:151,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:152,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:153,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:154,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:161,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:178,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:181,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:185,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:187,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:190,1
    - Dst: pcap_datalink
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:190,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:193,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:199,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:201,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:206,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:209,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:215,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:216,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:217,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:220,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:222,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:226,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:227,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:229,1
    - Dst: ndpi_report_payload_stats
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:232,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:235,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:236,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 101
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_set_config(workflow->ndpi_struct, NULL, "filename.config",
        name) == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    - condition: (ndpi_load_malicious_ja4_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    - condition: (ndpi_load_protocols_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    - condition: (ndpi_load_tcp_fingerprint_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    - condition: (ndpi_load_protocols_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    - condition: (ndpi_load_categories_file(workflow->ndpi_struct, name, NULL) >=
        0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    - condition: (ndpi_load_malicious_sha1_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    - condition: (ndpi_load_domain_suffixes(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    - condition: (ndpi_load_risk_domain_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    - condition: (ndpi_load_categories_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    constantsTouched: []
    func_position:
      end: 241
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 241
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
    functionUses: 0
    functionsReached:
    - ndpi_load_domain_suffixes
    - ndpi_global_init
    - ndpi_twalk
    - buffer_to_file
    - ndpi_calloc
    - ndpi_update_params
    - ndpi_workflow_init
    - ndpi_report_payload_stats
    - ndpi_load_malicious_ja4_file
    - ndpi_workflow_process_packet
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_tdestroy
    - ndpi_load_protocols_file
    - fuzz_set_alloc_callbacks
    - fclose
    - ndpi_load_protocols_dir
    - sprintf
    - pcap_next_ex
    - pcap_fopen_offline
    - pcap_close
    - ndpi_is_datalink_supported
    - ndpi_load_malicious_sha1_file
    - pcap_datalink
    - ndpi_load_categories_dir
    - ndpi_set_config
    - ndpi_workflow_set_flow_callback
    - assert
    - ndpi_load_categories_file
    - ndpi_load_risk_domain_file
    - ndpi_load_tcp_fingerprint_file
    - calloc
    - malloc
    - free
    - ndpi_finalize_initialization
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:14,1
    - Dst: ndpi_filter_alloc
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:16,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:18,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:20,1
    - Dst: ndpi_filter_add
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:22,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:24,1
    - Dst: ndpi_filter_add_string
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:29,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:29,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:33,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:35,1
    - Dst: ndpi_filter_contains
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:37,1
    - Dst: ndpi_filter_contains
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:41,1
    - Dst: ndpi_filter_contains_string
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:44,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:44,1
    - Dst: ndpi_filter_size
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:46,1
    - Dst: ndpi_filter_cardinality
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:47,1
    - Dst: ndpi_filter_free
      Src: /src/ndpi/fuzz/fuzz_ds_filter.cpp:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_filter.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeRandomLengthString
    - ndpi_filter_alloc
    - ndpi_filter_cardinality
    - ndpi_filter_contains
    - FuzzedDataProvider::ConsumeBool
    - ndpi_filter_add
    - ndpi_filter_contains_string
    - ndpi_filter_size
    - ndpi_filter_free
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_filter_add_string
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bytestream_to_number64
      Src: /src/ndpi/fuzz/fuzz_alg_bytestream.c:8,1
    - Dst: ndpi_bytestream_dec_or_hex_to_number64
      Src: /src/ndpi/fuzz/fuzz_alg_bytestream.c:9,1
    - Dst: ntohs_ndpi_bytestream_to_number
      Src: /src/ndpi/fuzz/fuzz_alg_bytestream.c:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 3
    functionDepth: 2
    functionLinenumber: 3
    functionLinenumberEnd: 13
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_alg_bytestream.c
    functionUses: 0
    functionsReached:
    - ndpi_bytestream_dec_or_hex_to_number64
    - ndpi_bytestream_to_number64
    - ntohs_ndpi_bytestream_to_number
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_tls_certificate.c:20,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_tls_certificate.c:21,1
    - Dst: memset
      Src: /src/ndpi/fuzz/fuzz_tls_certificate.c:35,1
    - Dst: strcpy
      Src: /src/ndpi/fuzz/fuzz_tls_certificate.c:36,1
    - Dst: processCertificateElements
      Src: /src/ndpi/fuzz/fuzz_tls_certificate.c:39,1
    - Dst: ndpi_free_flow_data
      Src: /src/ndpi/fuzz/fuzz_tls_certificate.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 15
    functionDepth: 9
    functionLinenumber: 15
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_tls_certificate.c
    functionUses: 0
    functionsReached:
    - processCertificateElements
    - strcpy
    - fuzz_init_detection_module
    - ndpi_free_flow_data
    - memset
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_mutator
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - Data
    - Size
    - MaxSize
    - Seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    functionUses: 0
    functionsReached:
    - pl7m_mutator
    linkageType: ''
    returnType: size_t
    signature: "size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size,\n                               size_t
      MaxSize, unsigned int Seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirname
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:49,1
    - Dst: strdup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    functionUses: 0
    functionsReached:
    - dirname
    - strdup
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:61,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: node_cleanup_walker
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    functionUses: 0
    functionsReached:
    - process_ndpi_collected_info
    - ndpi_detection_giveup
    linkageType: ''
    returnType: void
    signature: void node_cleanup_walker(const void *node, ndpi_VISIT which, int depth,
      void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - f
    - d
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: fn_flow_callback
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fn_flow_callback(struct ndpi_workflow *w, struct ndpi_flow_info
      *f, void *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:87,1
    - Dst: fuzz_set_alloc_callbacks
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:94,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:97,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:99,1
    - Dst: ndpi_workflow_set_flow_callback
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:101,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:103,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:104,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:106,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:107,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:107,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:108,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:109,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:109,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:110,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:111,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:111,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:112,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:113,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:113,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:114,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:115,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:115,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:116,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:117,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:117,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:118,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:119,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:119,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:120,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:121,1
    - Dst: ndpi_load_tcp_fingerprint_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:121,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:122,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:123,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:123,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:126,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:130,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:131,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:132,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:133,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:134,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:135,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:137,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:138,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:139,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:141,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:142,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:143,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:144,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:145,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:146,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:147,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:148,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:151,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:152,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:153,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:154,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:161,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:178,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:181,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:185,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:187,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:190,1
    - Dst: pcap_datalink
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:190,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:193,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:199,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:201,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:206,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:209,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:215,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:216,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:217,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:220,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:222,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:226,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:227,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:229,1
    - Dst: ndpi_report_payload_stats
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:232,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:235,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:236,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 101
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_load_tcp_fingerprint_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    - condition: (ndpi_load_protocols_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    - condition: (ndpi_load_categories_file(workflow->ndpi_struct, name, NULL) >=
        0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    - condition: (ndpi_load_malicious_sha1_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    - condition: (ndpi_load_domain_suffixes(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    - condition: (ndpi_load_risk_domain_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    - condition: (ndpi_load_categories_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    - condition: (ndpi_load_malicious_ja4_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    - condition: (ndpi_set_config(workflow->ndpi_struct, NULL, "filename.config",
        name) == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    - condition: (ndpi_load_protocols_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    constantsTouched: []
    func_position:
      end: 241
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 241
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
    functionUses: 0
    functionsReached:
    - ndpi_load_domain_suffixes
    - ndpi_global_init
    - ndpi_twalk
    - buffer_to_file
    - ndpi_calloc
    - ndpi_update_params
    - ndpi_workflow_init
    - ndpi_report_payload_stats
    - ndpi_load_malicious_ja4_file
    - ndpi_workflow_process_packet
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_tdestroy
    - ndpi_load_protocols_file
    - fuzz_set_alloc_callbacks
    - fclose
    - ndpi_load_protocols_dir
    - sprintf
    - pcap_next_ex
    - pcap_fopen_offline
    - pcap_close
    - ndpi_is_datalink_supported
    - ndpi_load_malicious_sha1_file
    - pcap_datalink
    - ndpi_load_categories_dir
    - ndpi_set_config
    - ndpi_workflow_set_flow_callback
    - assert
    - ndpi_load_categories_file
    - ndpi_load_risk_domain_file
    - ndpi_load_tcp_fingerprint_file
    - calloc
    - malloc
    - free
    - ndpi_finalize_initialization
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pl7m_mutator
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - Data
    - Size
    - MaxSize
    - Seed
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerCustomMutator
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    functionUses: 0
    functionsReached:
    - pl7m_mutator
    linkageType: ''
    returnType: size_t
    signature: "size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size,\n                               size_t
      MaxSize, unsigned int Seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dirname
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:49,1
    - Dst: strdup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    functionUses: 0
    functionsReached:
    - dirname
    - strdup
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:61,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: node_cleanup_walker
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    functionUses: 0
    functionsReached:
    - process_ndpi_collected_info
    - ndpi_detection_giveup
    linkageType: ''
    returnType: void
    signature: void node_cleanup_walker(const void *node, ndpi_VISIT which, int depth,
      void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - f
    - d
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: fn_flow_callback
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fn_flow_callback(struct ndpi_workflow *w, struct ndpi_flow_info
      *f, void *d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:87,1
    - Dst: fuzz_set_alloc_callbacks
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:94,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:97,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:99,1
    - Dst: ndpi_workflow_set_flow_callback
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:101,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:103,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:104,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:106,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:107,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:107,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:108,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:109,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:109,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:110,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:111,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:111,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:112,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:113,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:113,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:114,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:115,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:115,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:116,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:117,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:117,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:118,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:119,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:119,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:120,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:121,1
    - Dst: ndpi_load_tcp_fingerprint_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:121,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:122,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:123,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:123,1
    - Dst: sprintf
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:126,1
    - Dst: assert
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:127,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:130,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:131,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:132,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:133,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:134,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:135,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:137,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:138,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:139,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:141,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:142,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:143,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:144,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:145,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:146,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:147,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:148,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:151,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:152,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:153,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:154,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:161,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:178,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:181,1
    - Dst: pcap_fopen_offline
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:185,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:187,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:190,1
    - Dst: pcap_datalink
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:190,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:193,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:199,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:201,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:206,1
    - Dst: malloc
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:209,1
    - Dst: memcpy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:215,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:216,1
    - Dst: free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:217,1
    - Dst: pcap_next_ex
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:220,1
    - Dst: pcap_close
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:222,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:226,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:227,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:229,1
    - Dst: ndpi_report_payload_stats
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:232,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:235,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:236,1
    - Dst: ndpi_update_params
      Src: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c:237,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 101
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (ndpi_load_protocols_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    - condition: (ndpi_load_categories_file(workflow->ndpi_struct, name, NULL) >=
        0)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    - condition: (ndpi_load_malicious_sha1_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    - condition: (ndpi_load_domain_suffixes(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    - condition: (ndpi_load_risk_domain_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    - condition: (ndpi_load_categories_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    - condition: (ndpi_load_malicious_ja4_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    - condition: (ndpi_set_config(workflow->ndpi_struct, NULL, "filename.config",
        name) == 0)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    - condition: (ndpi_load_protocols_dir(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    - condition: (ndpi_load_tcp_fingerprint_file(workflow->ndpi_struct, name) >= 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    constantsTouched: []
    func_position:
      end: 241
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 241
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
    functionUses: 0
    functionsReached:
    - ndpi_load_domain_suffixes
    - ndpi_global_init
    - ndpi_twalk
    - buffer_to_file
    - ndpi_calloc
    - ndpi_update_params
    - ndpi_workflow_init
    - ndpi_report_payload_stats
    - ndpi_load_malicious_ja4_file
    - ndpi_workflow_process_packet
    - ndpi_free
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_tdestroy
    - ndpi_load_protocols_file
    - fuzz_set_alloc_callbacks
    - fclose
    - ndpi_load_protocols_dir
    - sprintf
    - pcap_next_ex
    - pcap_fopen_offline
    - pcap_close
    - ndpi_is_datalink_supported
    - ndpi_load_malicious_sha1_file
    - pcap_datalink
    - ndpi_load_categories_dir
    - ndpi_set_config
    - ndpi_workflow_set_flow_callback
    - assert
    - ndpi_load_categories_file
    - ndpi_load_risk_domain_file
    - ndpi_load_tcp_fingerprint_file
    - calloc
    - malloc
    - free
    - ndpi_finalize_initialization
    - memcpy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_filecfg_category.c:10,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_category.c:12,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_filecfg_category.c:14,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/fuzz/fuzz_filecfg_category.c:15,1
    - Dst: buffer_to_file
      Src: /src/ndpi/fuzz/fuzz_filecfg_category.c:17,1
    - Dst: load_category_file_fd
      Src: /src/ndpi/fuzz/fuzz_filecfg_category.c:18,1
    - Dst: fclose
      Src: /src/ndpi/fuzz/fuzz_filecfg_category.c:20,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/fuzz/fuzz_filecfg_category.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 5
    functionDepth: 6
    functionLinenumber: 5
    functionLinenumberEnd: 24
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_filecfg_category.c
    functionUses: 0
    functionsReached:
    - load_category_file_fd
    - fclose
    - ndpi_init_detection_module
    - ndpi_set_config
    - ndpi_exit_detection_module
    - buffer_to_file
    - fuzz_set_alloc_callbacks_and_seed
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp:13,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp:17,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp:19,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp:20,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp:21,1
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp:23,1
    - Dst: ndpi_cm_sketch_add
      Src: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp:26,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp:26,1
    - Dst: ndpi_cm_sketch_count
      Src: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp:29,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp:29,1
    - Dst: ndpi_cm_sketch_destroy
      Src: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 35
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - ndpi_cm_sketch_count
    - ndpi_cm_sketch_destroy
    - ndpi_cm_sketch_add
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_cm_sketch_init
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:17,1
    - Dst: ndpi_bitmap_alloc
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:19,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:21,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:23,1
    - Dst: ndpi_bitmap_set
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:25,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:27,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:34,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:36,1
    - Dst: ndpi_bitmap_isset
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:38,1
    - Dst: ndpi_bitmap_isset
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:42,1
    - Dst: ndpi_bitmap_copy
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:45,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:48,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:50,1
    - Dst: ndpi_bitmap_unset
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:52,1
    - Dst: ndpi_bitmap_unset
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:56,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:59,1
    - Dst: ndpi_bitmap_optimize
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:60,1
    - Dst: ndpi_bitmap_is_empty
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:62,1
    - Dst: ndpi_bitmap_cardinality
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:63,1
    - Dst: ndpi_bitmap_serialize
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:65,1
    - Dst: ndpi_bitmap_deserialize
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:66,1
    - Dst: ndpi_bitmap_free
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:67,1
    - Dst: ndpi_free
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:68,1
    - Dst: ndpi_bitmap_iterator_alloc
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:70,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:72,1
    - Dst: ndpi_bitmap_iterator_next
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:73,1
    - Dst: ndpi_bitmap_iterator_free
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:75,1
    - Dst: ndpi_bitmap_and_alloc
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:77,1
    - Dst: ndpi_bitmap_free
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:78,1
    - Dst: ndpi_bitmap_or_alloc
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:80,1
    - Dst: ndpi_bitmap_free
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:81,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:83,1
    - Dst: ndpi_bitmap_and
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:84,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:85,1
    - Dst: ndpi_bitmap_andnot
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:86,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:87,1
    - Dst: ndpi_bitmap_or
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:88,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:89,1
    - Dst: ndpi_bitmap_xor
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:90,1
    - Dst: ndpi_bitmap_free
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:92,1
    - Dst: ndpi_bitmap_free
      Src: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp:93,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 96
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp
    functionUses: 0
    functionsReached:
    - ndpi_bitmap_or
    - ndpi_bitmap_iterator_free
    - ndpi_bitmap_xor
    - ndpi_bitmap_andnot
    - ndpi_bitmap_free
    - ndpi_bitmap_and_alloc
    - ndpi_bitmap_isset
    - ndpi_bitmap_alloc
    - ndpi_bitmap_deserialize
    - ndpi_free
    - ndpi_bitmap_set
    - fuzz_set_alloc_callbacks_and_seed
    - ndpi_bitmap_iterator_alloc
    - ndpi_bitmap_optimize
    - ndpi_bitmap_cardinality
    - ndpi_bitmap_or_alloc
    - ndpi_bitmap_serialize
    - ndpi_bitmap_copy
    - ndpi_bitmap_unset
    - FuzzedDataProvider::ConsumeBool
    - ndpi_bitmap_is_empty
    - FuzzedDataProvider::ConsumeIntegral
    - ndpi_bitmap_and
    - ndpi_bitmap_iterator_next
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::remaining_bytes
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:17,1
    - Dst: fuzz_set_alloc_callbacks_and_seed
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:21,1
    - Dst: cache_new
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:23,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:25,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:28,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:29,1
    - Dst: cache_add
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:31,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:31,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:31,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:33,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:40,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:42,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:43,1
    - Dst: cache_contains
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:45,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:45,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:45,1
    - Dst: cache_contains
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:49,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:49,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:49,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:53,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:55,1
    - Dst: FuzzedDataProvider::ConsumeBytes
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:56,1
    - Dst: cache_remove
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:58,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:58,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:58,1
    - Dst: cache_remove
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:62,1
    - Dst: std::vector::data
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:62,1
    - Dst: std::vector::size
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:62,1
    - Dst: cache_free
      Src: /src/ndpi/fuzz/fuzz_ds_libcache.cpp:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 10
    functionDepth: 3
    functionLinenumber: 10
    functionLinenumberEnd: 68
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/ndpi/fuzz/fuzz_ds_libcache.cpp
    functionUses: 0
    functionsReached:
    - FuzzedDataProvider::ConsumeIntegralInRange
    - cache_free
    - FuzzedDataProvider::ConsumeBytes
    - cache_contains
    - std::vector::data
    - cache_new
    - FuzzedDataProvider::ConsumeBool
    - cache_remove
    - std::vector::size
    - fuzz_set_alloc_callbacks_and_seed
    - FuzzedDataProvider::ConsumeIntegral
    - cache_add
    - FuzzedDataProvider::remaining_bytes
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:153,1
    - Dst: access
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:162,1
    - Dst: pcap_open_live
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:163,1
    - Dst: pcap_open_offline
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:166,1
    - Dst: pcap_open_offline_with_tstamp_precision
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:168,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:174,1
    - Dst: free_workflow
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:176,1
    - Dst: pcap_compile
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:180,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:181,1
    - Dst: pcap_geterr
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:181,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:182,1
    - Dst: pcap_setfilter
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:187,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:188,1
    - Dst: pcap_geterr
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:188,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:191,1
    - Dst: free_workflow
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:193,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:199,1
    - Dst: free_workflow
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:201,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:207,1
    - Dst: free_workflow
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:209,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:213,1
    - Dst: free_workflow
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:214,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - file_or_device
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 150
    functionDepth: 6
    functionLinenumber: 150
    functionLinenumberEnd: 219
    functionName: init_workflow
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - exit
    - access
    - ndpi_init_detection_module
    - pcap_open_offline
    - pcap_compile
    - pcap_geterr
    - pcap_open_live
    - pcap_setfilter
    - pcap_open_offline_with_tstamp_precision
    - free_workflow
    - printf
    - fprintf
    - ndpi_finalize_initialization
    - ndpi_calloc
    linkageType: ''
    returnType: struct nDPI_workflow
    signature: struct nDPI_workflow * init_workflow(char const * const file_or_device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_flow_free
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:225,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: ndpi_flow_info_freer
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - ndpi_flow_free
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_flow_info_freer(void * const node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_close
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:239,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:244,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:247,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:249,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:250,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - workflow
    argTypes:
    - struct nDPI_workflow**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 253
    functionName: free_workflow
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 1
    functionsReached:
    - ndpi_exit_detection_module
    - ndpi_tdestroy
    - pcap_close
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void free_workflow(struct nDPI_workflow ** const workflow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:260,1
    - Dst: strdup
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:265,1
    - Dst: pcap_freealldevs
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - errbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: get_default_pcapdev
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - strdup
    - pcap_findalldevs
    - pcap_freealldevs
    linkageType: ''
    returnType: char
    signature: char * get_default_pcapdev(char *errbuf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_default_pcapdev
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:282,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:284,1
    - Dst: strdup
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:288,1
    - Dst: init_workflow
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:295,1
    - Dst: free
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:298,1
    - Dst: free
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - file_or_device
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 271
    functionDepth: 7
    functionLinenumber: 271
    functionLinenumberEnd: 305
    functionName: setup_reader_threads
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - init_workflow
    - free
    - strdup
    - get_default_pcapdev
    - fprintf
    linkageType: ''
    returnType: int
    signature: int setup_reader_threads(char const * const file_or_device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:313,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:315,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:318,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - flow
    - src_addr_str
    - src_addr_len
    - dst_addr_str
    - dst_addr_len
    argTypes:
    - struct nDPI_flow_info*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 325
    functionName: ip_tuple_to_string
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: "int ip_tuple_to_string(struct nDPI_flow_info const * const flow,\n
      \                             char * const src_addr_str, size_t src_addr_len,\n
      \                             char * const dst_addr_str, size_t dst_addr_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:339,1
    - Dst: ip_tuple_to_string
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:346,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:347,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:349,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:357,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:361,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:365,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:368,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:371,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:374,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:381,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - reader_thread
    - header
    - l4_data_len
    - flow
    argTypes:
    - struct nDPI_reader_thread*
    - struct pcap_pkthdr*
    - uint32_t
    - struct nDPI_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 382
    functionName: print_packet_info
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - printf
    - ip_tuple_to_string
    - ndpi_snprintf
    linkageType: ''
    returnType: void
    signature: "void print_packet_info(struct nDPI_reader_thread const * const reader_thread,\n
      \                             struct pcap_pkthdr const * const header,\n                              uint32_t
      l4_data_len,\n                              struct nDPI_flow_info const * const
      flow)"
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - struct nDPI_flow_info*
    - struct nDPI_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 452
    functionName: ip_tuples_compare
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ip_tuples_compare(struct nDPI_flow_info const * const A, struct
      nDPI_flow_info const * const B)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ip_tuple_to_string
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:475,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - A
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 480
    functionName: ndpi_idle_scan_walker
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - ip_tuple_to_string
    linkageType: ''
    returnType: void
    signature: void ndpi_idle_scan_walker(void const * const A, ndpi_VISIT which,
      int depth, void * const user_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ip_tuples_compare
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - A
    - B
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 500
    functionName: ndpi_workflow_node_cmp
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - ip_tuples_compare
    linkageType: ''
    returnType: int
    signature: int ndpi_workflow_node_cmp(void const * const A, void const * const
      B)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_twalk
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:508,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:514,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:516,1
    - Dst: ndpi_tdelete
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:518,1
    - Dst: ndpi_flow_info_freer
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - workflow
    argTypes:
    - struct nDPI_workflow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 502
    functionDepth: 3
    functionLinenumber: 502
    functionLinenumberEnd: 527
    functionName: check_for_idle_flows
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - ndpi_twalk
    - ndpi_tdelete
    - ndpi_flow_info_freer
    - printf
    linkageType: ''
    returnType: void
    signature: void check_for_idle_flows(struct nDPI_workflow * const workflow)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:557,1
    - Dst: check_for_idle_flows
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:572,1
    - Dst: pcap_datalink
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:575,1
    - Dst: ntohl
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:577,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:586,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:592,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:596,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:603,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:611,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:617,1
    - Dst: pcap_datalink
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:618,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:629,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:637,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:645,1
    - Dst: ndpi_detection_get_l4
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:651,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:654,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:666,1
    - Dst: ndpi_detection_get_l4
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:672,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:675,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:696,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:706,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:715,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:716,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:721,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:727,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:728,1
    - Dst: print_packet_info
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:741,1
    - Dst: ndpi_flowv4_flow_hash
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:749,1
    - Dst: ndpi_flowv6_flow_hash
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:758,1
    - Dst: ndpi_tfind
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:773,1
    - Dst: ndpi_tfind
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:796,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:815,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:821,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:823,1
    - Dst: memcpy
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:828,1
    - Dst: __sync_fetch_and_add
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:829,1
    - Dst: ndpi_flow_malloc
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:831,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:833,1
    - Dst: memset
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:837,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:839,1
    - Dst: ndpi_tsearch
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:842,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:866,1
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:880,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:883,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:887,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:888,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:889,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:891,1
    - Dst: ndpi_detection_process_packet
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:897,1
    - Dst: ndpi_is_protocol_detected
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:901,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:910,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:914,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:915,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:916,1
    - Dst: ndpi_get_flow_info
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:937,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:940,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:957,1
    - Dst: ndpi_ssl_version2str
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:961,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:974,1
    - Dst: ndpi_ssl_version2str
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:979,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 258
    argCount: 3
    argNames:
    - args
    - header
    - packet
    argTypes:
    - uint8_t*
    - struct pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 529
    functionDepth: 8
    functionLinenumber: 529
    functionLinenumberEnd: 994
    functionName: ndpi_process_packet
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - ndpi_flow_malloc
    - ndpi_ssl_version2str
    - ndpi_is_protocol_detected
    - ntohl
    - ndpi_detection_process_packet
    - check_for_idle_flows
    - ndpi_flowv6_flow_hash
    - __sync_fetch_and_add
    - ndpi_tsearch
    - ndpi_get_flow_info
    - printf
    - fprintf
    - ndpi_tfind
    - ndpi_detection_giveup
    - ndpi_malloc
    - ndpi_detection_get_l4
    - memset
    - ndpi_get_proto_name
    - pcap_datalink
    - ndpi_flowv4_flow_hash
    - ndpi_category_get_name
    - ntohs
    - print_packet_info
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_process_packet(uint8_t * const args,\n                                struct
      pcap_pkthdr const * const header,\n                                uint8_t const
      * const packet)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcap_loop
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1001,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1004,1
    - Dst: pcap_geterr
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1005,1
    - Dst: __sync_fetch_and_add
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - reader_thread
    argTypes:
    - struct nDPI_reader_thread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1009
    functionName: run_pcap_loop
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - pcap_loop
    - fprintf
    - __sync_fetch_and_add
    - pcap_geterr
    linkageType: ''
    returnType: void
    signature: void run_pcap_loop(struct nDPI_reader_thread const * const reader_thread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_breakloop
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - reader_thread
    argTypes:
    - struct nDPI_reader_thread*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1018
    functionName: break_pcap_loop
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - pcap_breakloop
    linkageType: ''
    returnType: void
    signature: void break_pcap_loop(struct nDPI_reader_thread * const reader_thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1025,1
    - Dst: run_pcap_loop
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1026,1
    - Dst: __sync_fetch_and_add
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ndpi_thread_arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1029
    functionName: processing_thread
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - printf
    - run_pcap_loop
    - __sync_fetch_and_add
    linkageType: ''
    returnType: void
    signature: void * processing_thread(void * const ndpi_thread_arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __sync_fetch_and_add
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1041
    functionName: processing_threads_error_or_eof
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - __sync_fetch_and_add
    linkageType: ''
    returnType: int
    signature: int processing_threads_error_or_eof(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sigfillset
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1050,1
    - Dst: sigdelset
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1051,1
    - Dst: sigdelset
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1052,1
    - Dst: pthread_sigmask
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1053,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1054,1
    - Dst: strerror
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1054,1
    - Dst: pthread_create
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1067,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1070,1
    - Dst: strerror
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1070,1
    - Dst: pthread_sigmask
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1075,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1076,1
    - Dst: strerror
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1076,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1081
    functionName: start_reader_threads
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - pthread_sigmask
    - sigfillset
    - strerror
    - fprintf
    - sigdelset
    - pthread_create
    linkageType: ''
    returnType: int
    signature: int start_reader_threads(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: break_pcap_loop
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1094,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1097,1
    - Dst: pthread_join
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1104,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1105,1
    - Dst: strerror
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1105,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1114,1
    - Dst: free_workflow
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1129,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1132,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1133,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1134,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1135,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1136,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1083
    functionDepth: 4
    functionLinenumber: 1083
    functionLinenumberEnd: 1140
    functionName: stop_reader_threads
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - free_workflow
    - strerror
    - printf
    - fprintf
    - break_pcap_loop
    linkageType: ''
    returnType: int
    signature: int stop_reader_threads(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1144,1
    - Dst: __sync_fetch_and_add
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1146,1
    - Dst: __sync_fetch_and_add
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1147,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1151
    functionName: sighandler
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 0
    functionsReached:
    - fprintf
    - __sync_fetch_and_add
    linkageType: ''
    returnType: void
    signature: void sighandler(int signum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1156,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1160,1
    - Dst: ndpi_revision
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1167,1
    - Dst: ndpi_get_api_version
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1167,1
    - Dst: ndpi_get_gcrypt_version
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1168,1
    - Dst: ndpi_get_gcrypt_version
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1168,1
    - Dst: setup_reader_threads
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1170,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1171,1
    - Dst: start_reader_threads
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1175,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1176,1
    - Dst: signal
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1180,1
    - Dst: signal
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1181,1
    - Dst: __sync_fetch_and_add
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1182,1
    - Dst: processing_threads_error_or_eof
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1182,1
    - Dst: sleep
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1183,1
    - Dst: stop_reader_threads
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1186,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiSimpleIntegration.c:1187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1153
    functionDepth: 8
    functionLinenumber: 1153
    functionLinenumberEnd: 1192
    functionName: main
    functionSourceFile: /src/ndpi/example/ndpiSimpleIntegration.c
    functionUses: 10
    functionsReached:
    - setup_reader_threads
    - signal
    - processing_threads_error_or_eof
    - start_reader_threads
    - __sync_fetch_and_add
    - stop_reader_threads
    - ndpi_get_gcrypt_version
    - ndpi_revision
    - printf
    - ndpi_get_api_version
    - fprintf
    - sleep
    linkageType: ''
    returnType: int
    signature: int main(int argc, char ** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: FCF_TYPE
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCF_TYPE(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: FCF_SUBTYPE
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCF_SUBTYPE(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: FCF_TO_DS
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCF_TO_DS(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: FCF_FROM_DS
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCF_FROM_DS(fc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/example/reader_util.c:131,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/example/reader_util.c:131,1
    - Dst: printf
      Src: /src/ndpi/example/reader_util.c:132,1
    - Dst: HASH_FIND
      Src: /src/ndpi/example/reader_util.c:135,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:137,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/reader_util.c:140,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:141,1
    - Dst: memcpy
      Src: /src/ndpi/example/reader_util.c:145,1
    - Dst: HASH_ADD
      Src: /src/ndpi/example/reader_util.c:149,1
    - Dst: HASH_FIND
      Src: /src/ndpi/example/reader_util.c:151,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:153,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:154,1
    - Dst: printf
      Src: /src/ndpi/example/reader_util.c:159,1
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/reader_util.c:159,1
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/reader_util.c:166,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:168,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/reader_util.c:172,1
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/reader_util.c:174,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:176,1
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/reader_util.c:181,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:183,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/reader_util.c:187,1
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/reader_util.c:189,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 4
    argNames:
    - flow
    - payload
    - payload_len
    - packet_id
    argTypes:
    - struct ndpi_flow_info*
    - u_int8_t*
    - u_int16_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 195
    functionName: ndpi_analyze_payload
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - HASH_FIND_INT
    - HASH_FIND
    - HASH_COUNT
    - ndpi_malloc
    - ndpi_isprint
    - HASH_ADD
    - ndpi_free
    - printf
    - HASH_ADD_INT
    - memcpy
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: "int ndpi_analyze_payload(struct ndpi_flow_info *flow,\n\t\t\t u_int8_t
      *payload,\n\t\t\t u_int16_t payload_len,\n\t\t\t u_int32_t packet_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_min
      Src: /src/ndpi/example/reader_util.c:203,1
    - Dst: printf
      Src: /src/ndpi/example/reader_util.c:207,1
    - Dst: ndpi_analyze_payload
      Src: /src/ndpi/example/reader_util.c:222,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - flow
    - payload
    - payload_len
    - packet_id
    argTypes:
    - struct ndpi_flow_info*
    - u_int8_t*
    - u_int16_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 228
    functionName: ndpi_payload_analyzer
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ndpi_min
    - LOG
    - ndpi_analyze_payload
    - printf
    linkageType: ''
    returnType: void
    signature: "void ndpi_payload_analyzer(struct ndpi_flow_info *flow,\n\t\t\t   u_int8_t
      *payload, u_int16_t payload_len,\n\t\t\t   u_int32_t packet_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: payload_stats_sort_asc
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int payload_stats_sort_asc(void *_a, void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:247,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:250,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/example/reader_util.c:250,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:253,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:254,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:255,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:258,1
    - Dst: ndpi_isprint
      Src: /src/ndpi/example/reader_util.c:258,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:261,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:263,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:264,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:266,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/reader_util.c:270,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:271,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:275,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/reader_util.c:280,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:281,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - struct payload_stats*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 288
    functionName: print_payload_stat
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ndpi_isprint
    - fprintf
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void print_payload_stat(struct payload_stats *p, FILE *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:297,1
    - Dst: HASH_SORT
      Src: /src/ndpi/example/reader_util.c:299,1
    - Dst: print_payload_stat
      Src: /src/ndpi/example/reader_util.c:303,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:305,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/reader_util.c:310,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/reader_util.c:311,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:312,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/reader_util.c:319,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/reader_util.c:320,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:321,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/reader_util.c:325,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - out
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 329
    functionName: ndpi_report_payload_stats
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 10
    functionsReached:
    - HASH_ITER
    - print_payload_stat
    - HASH_DEL
    - ndpi_free
    - fprintf
    - HASH_SORT
    linkageType: ''
    returnType: void
    signature: void ndpi_report_payload_stats(FILE *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_payload_stat
      Src: /src/ndpi/example/reader_util.c:303,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:305,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/reader_util.c:310,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/reader_util.c:311,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:312,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/reader_util.c:319,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/reader_util.c:320,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:321,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/reader_util.c:325,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 328
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 3
    functionsReached:
    - HASH_ITER
    - print_payload_stat
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, pstats, p, tmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_flow_free
      Src: /src/ndpi/example/reader_util.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: ndpi_free_flow_info_half
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ndpi_flow_free
    linkageType: ''
    returnType: void
    signature: void ndpi_free_flow_info_half(struct ndpi_flow_info *flow)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:340,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:341,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:342,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:343,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:344,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - ndpi_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 348
    functionName: ndpi_stats_free
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_stats_free(ndpi_stats_t *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:351,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:354,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:355,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:356,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:357,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:358,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:359,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - s
    - num_protocols
    argTypes:
    - ndpi_stats_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 368
    functionName: ndpi_stats_init
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 1
    functionsReached:
    - memset
    - LOG
    - ndpi_calloc
    linkageType: ''
    returnType: int
    signature: int ndpi_stats_init(ndpi_stats_t *s, uint32_t num_protocols)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:371,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:388,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:389,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:390,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:391,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:392,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:393,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:394,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:395,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:396,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:397,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:398,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:400,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:401,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:402,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:403,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:404,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - s
    argTypes:
    - ndpi_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 406
    functionName: ndpi_stats_reset
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void ndpi_stats_reset(ndpi_stats_t *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/reader_util.c:417,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:420,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:424,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:426,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/reader_util.c:427,1
    - Dst: ndpi_set_user_data
      Src: /src/ndpi/example/reader_util.c:435,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:438,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/reader_util.c:441,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - prefs
    - pcap_handle
    - do_init_flows_root
    - serialization_format
    - g_ctx
    argTypes:
    - struct ndpi_workflow_prefs*
    - pcap_t*
    - int
    - ndpi_serialization_format
    - struct ndpi_global_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 410
    functionDepth: 6
    functionLinenumber: 410
    functionLinenumberEnd: 450
    functionName: ndpi_workflow_init
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 11
    functionsReached:
    - ndpi_init_detection_module
    - ndpi_exit_detection_module
    - ndpi_set_user_data
    - ndpi_free
    - LOG
    - ndpi_calloc
    linkageType: ''
    returnType: struct ndpi_workflow
    signature: "struct ndpi_workflow * ndpi_workflow_init(const struct ndpi_workflow_prefs
      * prefs,\n\t\t\t\t\t pcap_t * pcap_handle, int do_init_flows_root,\n\t\t\t\t\t
      ndpi_serialization_format serialization_format,\n\t\t\t\t\t struct ndpi_global_context
      *g_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_flow_info_free_data
      Src: /src/ndpi/example/reader_util.c:457,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: ndpi_flow_info_freer
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 1
    functionsReached:
    - ndpi_flow_info_free_data
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_flow_info_freer(void *node)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:465,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:470,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:475,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:480,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:485,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:490,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:495,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:500,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:505,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:510,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:515,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:520,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:525,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:530,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:535,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:539,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:543,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:547,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:551,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 554
    functionName: ndpi_free_flow_tls_data
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_free_flow_tls_data(struct ndpi_flow_info *flow)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/example/reader_util.c:559,1
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/example/reader_util.c:560,1
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/example/reader_util.c:562,1
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/example/reader_util.c:563,1
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/example/reader_util.c:565,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:567,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:568,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 569
    functionName: ndpi_free_flow_data_analysis
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ndpi_free_data_analysis
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void ndpi_free_flow_data_analysis(struct ndpi_flow_info *flow)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_free_flow_info_half
      Src: /src/ndpi/example/reader_util.c:575,1
    - Dst: ndpi_term_serializer
      Src: /src/ndpi/example/reader_util.c:576,1
    - Dst: ndpi_free_flow_data_analysis
      Src: /src/ndpi/example/reader_util.c:577,1
    - Dst: ndpi_free_flow_tls_data
      Src: /src/ndpi/example/reader_util.c:578,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/example/reader_util.c:581,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/example/reader_util.c:582,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/example/reader_util.c:584,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:587,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:588,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:589,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:590,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 592
    functionName: ndpi_flow_info_free_data
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 1
    functionsReached:
    - ndpi_free_flow_info_half
    - ndpi_free
    - ndpi_free_bin
    - ndpi_term_serializer
    - ndpi_free_flow_data_analysis
    - ndpi_free_flow_tls_data
    linkageType: ''
    returnType: void
    signature: void ndpi_flow_info_free_data(struct ndpi_flow_info *flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/example/reader_util.c:600,1
    - Dst: ndpi_cache_address_dump
      Src: /src/ndpi/example/reader_util.c:603,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/reader_util.c:605,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:606,1
    - Dst: ndpi_stats_free
      Src: /src/ndpi/example/reader_util.c:608,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - workflow
    argTypes:
    - struct ndpi_workflow*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 611
    functionName: ndpi_workflow_free
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 1
    functionsReached:
    - ndpi_exit_detection_module
    - ndpi_free
    - ndpi_stats_free
    - ndpi_cache_address_dump
    - ndpi_tdestroy
    linkageType: ''
    returnType: void
    signature: void ndpi_workflow_free(struct ndpi_workflow * workflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/ndpi/example/reader_util.c:614,1
    - Dst: ntohl
      Src: /src/ndpi/example/reader_util.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 615
    functionName: cmp_n32
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: int
    signature: int cmp_n32(uint32_t a,uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:617,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: cmp_n16
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: int
    signature: int cmp_n16(uint16_t a,uint16_t b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmp_n32
      Src: /src/ndpi/example/reader_util.c:634,1
    - Dst: cmp_n16
      Src: /src/ndpi/example/reader_util.c:635,1
    - Dst: cmp_n32
      Src: /src/ndpi/example/reader_util.c:636,1
    - Dst: cmp_n16
      Src: /src/ndpi/example/reader_util.c:637,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 640
    functionName: ndpi_workflow_node_cmp
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - cmp_n32
    - cmp_n16
    linkageType: ''
    returnType: int
    signature: int ndpi_workflow_node_cmp(const void *a, const void *b)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - flow
    - x
    - len
    - src_to_dst_direction
    argTypes:
    - struct ndpi_flow_info*
    - void*
    - unsigned int
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 688
    functionName: ndpi_flow_update_byte_count
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ndpi_flow_update_byte_count(struct ndpi_flow_info *flow, const
      void *x,\n                            unsigned int len, u_int8_t src_to_dst_direction)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - flow
    - x
    - len
    - src_to_dst_direction
    argTypes:
    - ndpi_flow_info_t*
    - void*
    - unsigned int
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 723
    functionName: ndpi_flow_update_byte_dist_mean_var
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ndpi_flow_update_byte_dist_mean_var(ndpi_flow_info_t *flow, const
      void *x,\n                                    unsigned int len, u_int8_t src_to_dst_direction)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:758,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:798,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:798,1
    - Dst: ndpi_min
      Src: /src/ndpi/example/reader_util.c:799,1
    - Dst: ndpi_max
      Src: /src/ndpi/example/reader_util.c:801,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:807,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:807,1
    - Dst: htons
      Src: /src/ndpi/example/reader_util.c:829,1
    - Dst: htons
      Src: /src/ndpi/example/reader_util.c:829,1
    - Dst: ntohl
      Src: /src/ndpi/example/reader_util.c:830,1
    - Dst: ntohl
      Src: /src/ndpi/example/reader_util.c:830,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:831,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:831,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/reader_util.c:836,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/reader_util.c:837,1
    - Dst: printf
      Src: /src/ndpi/example/reader_util.c:838,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:839,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:839,1
    - Dst: ndpi_tfind
      Src: /src/ndpi/example/reader_util.c:844,1
    - Dst: ndpi_tfind
      Src: /src/ndpi/example/reader_util.c:861,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:866,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/reader_util.c:871,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:874,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:879,1
    - Dst: htons
      Src: /src/ndpi/example/reader_util.c:885,1
    - Dst: htons
      Src: /src/ndpi/example/reader_util.c:885,1
    - Dst: ndpi_alloc_data_analysis
      Src: /src/ndpi/example/reader_util.c:887,1
    - Dst: ndpi_alloc_data_analysis
      Src: /src/ndpi/example/reader_util.c:888,1
    - Dst: ndpi_alloc_data_analysis
      Src: /src/ndpi/example/reader_util.c:889,1
    - Dst: ndpi_alloc_data_analysis
      Src: /src/ndpi/example/reader_util.c:890,1
    - Dst: ndpi_alloc_data_analysis
      Src: /src/ndpi/example/reader_util.c:891,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/example/reader_util.c:894,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/example/reader_util.c:895,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/example/reader_util.c:897,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/reader_util.c:902,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/reader_util.c:903,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/reader_util.c:907,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/reader_util.c:909,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/reader_util.c:915,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/reader_util.c:917,1
    - Dst: ndpi_patchIPv6Address
      Src: /src/ndpi/example/reader_util.c:920,1
    - Dst: ndpi_patchIPv6Address
      Src: /src/ndpi/example/reader_util.c:921,1
    - Dst: ndpi_flow_malloc
      Src: /src/ndpi/example/reader_util.c:925,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:926,1
    - Dst: ndpi_flow_info_free_data
      Src: /src/ndpi/example/reader_util.c:927,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:928,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:931,1
    - Dst: ndpi_init_serializer
      Src: /src/ndpi/example/reader_util.c:935,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:938,1
    - Dst: ndpi_flow_info_free_data
      Src: /src/ndpi/example/reader_util.c:939,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:940,1
    - Dst: ndpi_tsearch
      Src: /src/ndpi/example/reader_util.c:945,1
    - Dst: ndpi_flow_info_free_data
      Src: /src/ndpi/example/reader_util.c:946,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:947,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:959,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/reader_util.c:960,1
    - Dst: ndpi_tdelete
      Src: /src/ndpi/example/reader_util.c:962,1
    - Dst: ndpi_flow_info_free_data
      Src: /src/ndpi/example/reader_util.c:963,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/reader_util.c:964,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 207
    argCount: 18
    argNames:
    - workflow
    - version
    - vlan_id
    - tunnel_type
    - iph
    - iph6
    - ipsize
    - l4_packet_len
    - l4_offset
    - tcph
    - udph
    - sport
    - dport
    - proto
    - payload
    - payload_len
    - src_to_dst_direction
    - when
    argTypes:
    - struct ndpi_workflow*
    - u_int8_t
    - u_int16_t
    - ndpi_packet_tunnel
    - struct ndpi_iphdr*
    - struct ndpi_ipv6hdr*
    - u_int16_t
    - u_int16_t
    - u_int16_t
    - struct ndpi_tcphdr**
    - struct ndpi_udphdr**
    - u_int16_t*
    - u_int16_t*
    - u_int8_t*
    - u_int8_t**
    - u_int16_t*
    - u_int8_t*
    - pkt_timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 727
    functionDepth: 5
    functionLinenumber: 727
    functionLinenumberEnd: 1021
    functionName: get_ndpi_flow_info
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ndpi_tdelete
    - ndpi_flow_malloc
    - ndpi_alloc_data_analysis
    - ntohl
    - ndpi_flow_info_free_data
    - ndpi_max
    - ndpi_calloc
    - ndpi_tsearch
    - inet_ntop
    - ndpi_free
    - printf
    - ndpi_tfind
    - ndpi_init_bin
    - ndpi_malloc
    - htons
    - ndpi_min
    - memset
    - LOG
    - ndpi_patchIPv6Address
    - ndpi_init_serializer
    - ntohs
    linkageType: ''
    returnType: struct ndpi_flow_info
    signature: "struct ndpi_flow_info *get_ndpi_flow_info(struct ndpi_workflow * workflow,\n\t\t\t\t\t\t
      const u_int8_t version,\n\t\t\t\t\t\t u_int16_t vlan_id,\n\t\t\t\t\t\t ndpi_packet_tunnel
      tunnel_type,\n\t\t\t\t\t\t const struct ndpi_iphdr *iph,\n\t\t\t\t\t\t const
      struct ndpi_ipv6hdr *iph6,\n\t\t\t\t\t\t u_int16_t ipsize,\n\t\t\t\t\t\t u_int16_t
      l4_packet_len,\n\t\t\t\t\t\t u_int16_t l4_offset,\n\t\t\t\t\t\t struct ndpi_tcphdr
      **tcph,\n\t\t\t\t\t\t struct ndpi_udphdr **udph,\n\t\t\t\t\t\t u_int16_t *sport,
      u_int16_t *dport,\n\t\t\t\t\t\t u_int8_t *proto,\n\t\t\t\t\t\t u_int8_t **payload,\n\t\t\t\t\t\t
      u_int16_t *payload_len,\n\t\t\t\t\t\t u_int8_t *src_to_dst_direction,\n                                                 pkt_timeval
      when)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:1042,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:1047,1
    - Dst: ndpi_handle_ipv6_extension_headers
      Src: /src/ndpi/example/reader_util.c:1051,1
    - Dst: get_ndpi_flow_info
      Src: /src/ndpi/example/reader_util.c:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 14
    argNames:
    - workflow
    - vlan_id
    - tunnel_type
    - iph6
    - ipsize
    - tcph
    - udph
    - sport
    - dport
    - proto
    - payload
    - payload_len
    - src_to_dst_direction
    - when
    argTypes:
    - struct ndpi_workflow*
    - u_int16_t
    - ndpi_packet_tunnel
    - struct ndpi_ipv6hdr*
    - u_int16_t
    - struct ndpi_tcphdr**
    - struct ndpi_udphdr**
    - u_int16_t*
    - u_int16_t*
    - u_int8_t*
    - u_int8_t**
    - u_int16_t*
    - u_int8_t*
    - pkt_timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1025
    functionDepth: 6
    functionLinenumber: 1025
    functionLinenumberEnd: 1062
    functionName: get_ndpi_flow_info6
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - get_ndpi_flow_info
    - memset
    - ntohs
    - ndpi_handle_ipv6_extension_headers
    linkageType: ''
    returnType: struct ndpi_flow_info
    signature: "struct ndpi_flow_info *get_ndpi_flow_info6(struct ndpi_workflow *
      workflow,\n\t\t\t\t\t\t  u_int16_t vlan_id,\n\t\t\t\t\t\t  ndpi_packet_tunnel
      tunnel_type,\n\t\t\t\t\t\t  const struct ndpi_ipv6hdr *iph6,\n\t\t\t\t\t\t  u_int16_t
      ipsize,\n\t\t\t\t\t\t  struct ndpi_tcphdr **tcph,\n\t\t\t\t\t\t  struct ndpi_udphdr
      **udph,\n\t\t\t\t\t\t  u_int16_t *sport, u_int16_t *dport,\n\t\t\t\t\t\t  u_int8_t
      *proto,\n\t\t\t\t\t\t  u_int8_t **payload,\n\t\t\t\t\t\t  u_int16_t *payload_len,\n\t\t\t\t\t\t
      \ u_int8_t *src_to_dst_direction,\n                                                  pkt_timeval
      when)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - flow
    - id
    argTypes:
    - struct ndpi_flow_info*
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1072
    functionName: is_ndpi_proto
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t is_ndpi_proto(struct ndpi_flow_info *flow, u_int16_t id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1080
    functionName: correct_csv_data_field
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void correct_csv_data_field(char* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - plen
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1094
    functionName: plen2slot
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int8_t
    signature: u_int8_t plen2slot(u_int16_t plen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_serializer
      Src: /src/ndpi/example/reader_util.c:1103,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/example/reader_util.c:1106,1
    - Dst: ndpi_serialize_flow_fingerprint
      Src: /src/ndpi/example/reader_util.c:1107,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/example/reader_util.c:1108,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/reader_util.c:1114,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/example/reader_util.c:1115,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/reader_util.c:1116,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:1116,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/example/reader_util.c:1117,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/reader_util.c:1118,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:1118,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/example/reader_util.c:1119,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/reader_util.c:1120,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/example/reader_util.c:1125,1
    - Dst: ndpi_serializer_get_buffer
      Src: /src/ndpi/example/reader_util.c:1127,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:1128,1
    - Dst: ndpi_term_serializer
      Src: /src/ndpi/example/reader_util.c:1131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - workflow
    - flow
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1098
    functionDepth: 8
    functionLinenumber: 1098
    functionLinenumberEnd: 1132
    functionName: dump_flow_fingerprint
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_string_uint32
    - ndpi_serialize_flow_fingerprint
    - ndpi_serializer_get_buffer
    - ndpi_serialize_start_of_block
    - ndpi_protocol2name
    - ndpi_serialize_end_of_block
    - fprintf
    - ndpi_init_serializer
    - ntohs
    - ndpi_serialize_string_string
    - ndpi_term_serializer
    linkageType: ''
    returnType: void
    signature: "void dump_flow_fingerprint(struct ndpi_workflow * workflow,\n\t\t\t\t
      \ struct ndpi_flow_info *flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/ndpi/example/reader_util.c:1146,1
    - Dst: ndpi_realloc
      Src: /src/ndpi/example/reader_util.c:1151,1
    - Dst: memcpy
      Src: /src/ndpi/example/reader_util.c:1158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - list
    - ap
    argTypes:
    - ndpi_address_port_list*
    - ndpi_address_port*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1159
    functionName: add_to_address_port_list
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ndpi_realloc
    - memcmp
    - memcpy
    linkageType: ''
    returnType: void
    signature: void add_to_address_port_list(ndpi_address_port_list *list, ndpi_address_port
      *ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_to_address_port_list
      Src: /src/ndpi/example/reader_util.c:1187,1
    - Dst: add_to_address_port_list
      Src: /src/ndpi/example/reader_util.c:1188,1
    - Dst: add_to_address_port_list
      Src: /src/ndpi/example/reader_util.c:1189,1
    - Dst: add_to_address_port_list
      Src: /src/ndpi/example/reader_util.c:1190,1
    - Dst: add_to_address_port_list
      Src: /src/ndpi/example/reader_util.c:1191,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1163
    functionDepth: 2
    functionLinenumber: 1163
    functionLinenumberEnd: 1197
    functionName: process_ndpi_monitoring_info
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - add_to_address_port_list
    linkageType: ''
    returnType: void
    signature: void process_ndpi_monitoring_info(struct ndpi_flow_info *flow)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/example/reader_util.c:1209,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/example/reader_util.c:1215,1
    - Dst: ndpi_serialize_start_of_list
      Src: /src/ndpi/example/reader_util.c:1218,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/example/reader_util.c:1221,1
    - Dst: print_ndpi_address_port
      Src: /src/ndpi/example/reader_util.c:1222,1
    - Dst: ndpi_serialize_end_of_list
      Src: /src/ndpi/example/reader_util.c:1225,1
    - Dst: ndpi_serialize_start_of_list
      Src: /src/ndpi/example/reader_util.c:1229,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/example/reader_util.c:1232,1
    - Dst: print_ndpi_address_port
      Src: /src/ndpi/example/reader_util.c:1233,1
    - Dst: ndpi_serialize_end_of_list
      Src: /src/ndpi/example/reader_util.c:1236,1
    - Dst: ndpi_serialize_start_of_list
      Src: /src/ndpi/example/reader_util.c:1240,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/example/reader_util.c:1243,1
    - Dst: print_ndpi_address_port
      Src: /src/ndpi/example/reader_util.c:1244,1
    - Dst: ndpi_serialize_end_of_list
      Src: /src/ndpi/example/reader_util.c:1247,1
    - Dst: ndpi_serialize_start_of_list
      Src: /src/ndpi/example/reader_util.c:1251,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/example/reader_util.c:1254,1
    - Dst: print_ndpi_address_port
      Src: /src/ndpi/example/reader_util.c:1255,1
    - Dst: ndpi_serialize_end_of_list
      Src: /src/ndpi/example/reader_util.c:1258,1
    - Dst: ndpi_serialize_start_of_list
      Src: /src/ndpi/example/reader_util.c:1262,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/example/reader_util.c:1265,1
    - Dst: print_ndpi_address_port
      Src: /src/ndpi/example/reader_util.c:1266,1
    - Dst: ndpi_serialize_end_of_list
      Src: /src/ndpi/example/reader_util.c:1269,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/example/reader_util.c:1272,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/example/reader_util.c:1277,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1201
    functionDepth: 8
    functionLinenumber: 1201
    functionLinenumberEnd: 1278
    functionName: serialize_monitoring_metadata
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ndpi_serialize_end_of_list
    - print_ndpi_address_port
    - ndpi_serialize_start_of_block
    - ndpi_serialize_start_of_list
    - ndpi_serialize_end_of_block
    - ndpi_serialize_string_string
    linkageType: ''
    returnType: void
    signature: void serialize_monitoring_metadata(struct ndpi_flow_info *flow)
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_flow_risk_info
      Src: /src/ndpi/example/reader_util.c:1290,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1293,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1299,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1302,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1303,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1309,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1311,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1314,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1315,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1316,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1317,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/reader_util.c:1322,1
    - Dst: snprintf
      Src: /src/ndpi/example/reader_util.c:1326,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1337,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1339,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1341,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1343,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1345,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1349,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1350,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1352,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1354,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1356,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1358,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1362,1
    - Dst: strncat
      Src: /src/ndpi/example/reader_util.c:1368,1
    - Dst: strlen
      Src: /src/ndpi/example/reader_util.c:1371,1
    - Dst: strncat
      Src: /src/ndpi/example/reader_util.c:1373,1
    - Dst: strlen
      Src: /src/ndpi/example/reader_util.c:1375,1
    - Dst: strncat
      Src: /src/ndpi/example/reader_util.c:1378,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1382,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/reader_util.c:1387,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1390,1
    - Dst: ndpi_stack_is_tls_like
      Src: /src/ndpi/example/reader_util.c:1391,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1394,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1398,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/reader_util.c:1402,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/reader_util.c:1405,1
    - Dst: ndpi_patchIPv6Address
      Src: /src/ndpi/example/reader_util.c:1408,1
    - Dst: strcpy
      Src: /src/ndpi/example/reader_util.c:1412,1
    - Dst: strcpy
      Src: /src/ndpi/example/reader_util.c:1415,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/reader_util.c:1427,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/reader_util.c:1429,1
    - Dst: printf
      Src: /src/ndpi/example/reader_util.c:1432,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1438,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1440,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1443,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1445,1
    - Dst: ndpi_stack_is_tls_like
      Src: /src/ndpi/example/reader_util.c:1448,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1449,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1450,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1451,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1452,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1454,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1457,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1464,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1467,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1471,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1473,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1476,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1479,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1483,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1486,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1490,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1493,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1495,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1497,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1499,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1502,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1508,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1510,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1512,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1513,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1514,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1517,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1519,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1521,1
    - Dst: ndpi_stack_is_tls_like
      Src: /src/ndpi/example/reader_util.c:1525,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1529,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1533,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1537,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1541,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1544,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1546,1
    - Dst: memcpy
      Src: /src/ndpi/example/reader_util.c:1552,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1560,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1563,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1568,1
    - Dst: correct_csv_data_field
      Src: /src/ndpi/example/reader_util.c:1569,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1573,1
    - Dst: correct_csv_data_field
      Src: /src/ndpi/example/reader_util.c:1574,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1578,1
    - Dst: correct_csv_data_field
      Src: /src/ndpi/example/reader_util.c:1579,1
    - Dst: ndpi_reset_bin
      Src: /src/ndpi/example/reader_util.c:1585,1
    - Dst: abs
      Src: /src/ndpi/example/reader_util.c:1588,1
    - Dst: ndpi_inc_bin
      Src: /src/ndpi/example/reader_util.c:1591,1
    - Dst: plen2slot
      Src: /src/ndpi/example/reader_util.c:1591,1
    - Dst: memcpy
      Src: /src/ndpi/example/reader_util.c:1596,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1600,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1603,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1604,1
    - Dst: add_to_address_port_list
      Src: /src/ndpi/example/reader_util.c:1608,1
    - Dst: add_to_address_port_list
      Src: /src/ndpi/example/reader_util.c:1609,1
    - Dst: add_to_address_port_list
      Src: /src/ndpi/example/reader_util.c:1610,1
    - Dst: add_to_address_port_list
      Src: /src/ndpi/example/reader_util.c:1611,1
    - Dst: add_to_address_port_list
      Src: /src/ndpi/example/reader_util.c:1612,1
    - Dst: snprintf
      Src: /src/ndpi/example/reader_util.c:1620,1
    - Dst: ndpi_print_os_hint
      Src: /src/ndpi/example/reader_util.c:1621,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1622,1
    - Dst: ndpi_stack_is_http_like
      Src: /src/ndpi/example/reader_util.c:1627,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1629,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1633,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1634,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1635,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1636,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1637,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1638,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1639,1
    - Dst: ndpi_stack_contains
      Src: /src/ndpi/example/reader_util.c:1642,1
    - Dst: memcpy
      Src: /src/ndpi/example/reader_util.c:1643,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/reader_util.c:1645,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:1653,1
    - Dst: memcpy
      Src: /src/ndpi/example/reader_util.c:1658,1
    - Dst: ndpi_cache_address_find
      Src: /src/ndpi/example/reader_util.c:1660,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/reader_util.c:1663,1
    - Dst: ndpi_flow2json
      Src: /src/ndpi/example/reader_util.c:1668,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:1676,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/reader_util.c:1680,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/reader_util.c:1681,1
    - Dst: serialize_monitoring_metadata
      Src: /src/ndpi/example/reader_util.c:1684,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/example/reader_util.c:1688,1
    - Dst: struct ndpi_workflow*::flow_callback
      Src: /src/ndpi/example/reader_util.c:1696,1
    - Dst: dump_flow_fingerprint
      Src: /src/ndpi/example/reader_util.c:1699,1
    - Dst: ndpi_free_flow_info_half
      Src: /src/ndpi/example/reader_util.c:1701,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 267
    argCount: 2
    argNames:
    - workflow
    - flow
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1282
    functionDepth: 9
    functionLinenumber: 1282
    functionLinenumberEnd: 1703
    functionName: process_ndpi_collected_info
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 10
    functionsReached:
    - abs
    - ndpi_get_flow_risk_info
    - plen2slot
    - ndpi_serialize_string_uint32
    - strncat
    - ndpi_serialize_string_string
    - ndpi_print_os_hint
    - ndpi_cache_address_find
    - strlen
    - ndpi_free_flow_info_half
    - serialize_monitoring_metadata
    - dump_flow_fingerprint
    - inet_ntop
    - printf
    - ndpi_stack_is_tls_like
    - struct ndpi_workflow*::flow_callback
    - ndpi_strdup
    - snprintf
    - ndpi_malloc
    - correct_csv_data_field
    - ndpi_stack_is_http_like
    - memset
    - LOG
    - ndpi_patchIPv6Address
    - ndpi_stack_contains
    - add_to_address_port_list
    - ndpi_snprintf
    - strcpy
    - ndpi_inc_bin
    - ndpi_reset_bin
    - ndpi_flow2json
    - memcpy
    linkageType: ''
    returnType: void
    signature: void process_ndpi_collected_info(struct ndpi_workflow * workflow, struct
      ndpi_flow_info *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/ndpi/example/reader_util.c:1714,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:1715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1718
    functionName: ndpi_clear_entropy_stats
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ndpi_clear_entropy_stats(struct ndpi_flow_info *flow)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - flow
    - tcp
    - src_to_dst_direction
    argTypes:
    - struct ndpi_flow_info*
    - struct ndpi_tcphdr*
    - u_int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1753
    functionName: update_tcp_flags_count
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_tcp_flags_count(struct ndpi_flow_info* flow, struct ndpi_tcphdr*
      tcp, u_int8_t src_to_dst_direction)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:1787,1
    - Dst: get_ndpi_flow_info
      Src: /src/ndpi/example/reader_util.c:1793,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:1796,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:1796,1
    - Dst: get_ndpi_flow_info6
      Src: /src/ndpi/example/reader_util.c:1802,1
    - Dst: update_tcp_flags_count
      Src: /src/ndpi/example/reader_util.c:1817,1
    - Dst: ndpi_timer_sub
      Src: /src/ndpi/example/reader_util.c:1829,1
    - Dst: ndpi_timeval_to_milliseconds
      Src: /src/ndpi/example/reader_util.c:1834,1
    - Dst: ndpi_data_add_value
      Src: /src/ndpi/example/reader_util.c:1837,1
    - Dst: memcpy
      Src: /src/ndpi/example/reader_util.c:1841,1
    - Dst: ndpi_timer_sub
      Src: /src/ndpi/example/reader_util.c:1845,1
    - Dst: ndpi_timeval_to_milliseconds
      Src: /src/ndpi/example/reader_util.c:1850,1
    - Dst: ndpi_data_add_value
      Src: /src/ndpi/example/reader_util.c:1852,1
    - Dst: ndpi_data_add_value
      Src: /src/ndpi/example/reader_util.c:1856,1
    - Dst: memcpy
      Src: /src/ndpi/example/reader_util.c:1858,1
    - Dst: ndpi_inc_bin
      Src: /src/ndpi/example/reader_util.c:1862,1
    - Dst: plen2slot
      Src: /src/ndpi/example/reader_util.c:1862,1
    - Dst: ndpi_timer_sub
      Src: /src/ndpi/example/reader_util.c:1866,1
    - Dst: ndpi_timeval_to_milliseconds
      Src: /src/ndpi/example/reader_util.c:1869,1
    - Dst: ndpi_data_add_value
      Src: /src/ndpi/example/reader_util.c:1871,1
    - Dst: ndpi_data_add_value
      Src: /src/ndpi/example/reader_util.c:1874,1
    - Dst: memcpy
      Src: /src/ndpi/example/reader_util.c:1877,1
    - Dst: ndpi_inc_bin
      Src: /src/ndpi/example/reader_util.c:1881,1
    - Dst: plen2slot
      Src: /src/ndpi/example/reader_util.c:1881,1
    - Dst: ndpi_inc_bin
      Src: /src/ndpi/example/reader_util.c:1891,1
    - Dst: plen2slot
      Src: /src/ndpi/example/reader_util.c:1891,1
    - Dst: ndpi_payload_analyzer
      Src: /src/ndpi/example/reader_util.c:1896,1
    - Dst: ndpi_flow_update_byte_count
      Src: /src/ndpi/example/reader_util.c:1902,1
    - Dst: ndpi_flow_update_byte_dist_mean_var
      Src: /src/ndpi/example/reader_util.c:1903,1
    - Dst: ndpi_classify
      Src: /src/ndpi/example/reader_util.c:1907,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:1910,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:1910,1
    - Dst: ndpi_classify
      Src: /src/ndpi/example/reader_util.c:1916,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:1918,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:1918,1
    - Dst: ndpi_clear_entropy_stats
      Src: /src/ndpi/example/reader_util.c:1932,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:1935,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:1936,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:1937,1
    - Dst: is_ndpi_proto
      Src: /src/ndpi/example/reader_util.c:1944,1
    - Dst: is_ndpi_proto
      Src: /src/ndpi/example/reader_util.c:1945,1
    - Dst: ndpi_has_human_readable_string
      Src: /src/ndpi/example/reader_util.c:1951,1
    - Dst: is_ndpi_proto
      Src: /src/ndpi/example/reader_util.c:1959,1
    - Dst: is_ndpi_proto
      Src: /src/ndpi/example/reader_util.c:1960,1
    - Dst: printf
      Src: /src/ndpi/example/reader_util.c:1976,1
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:1987,1
    - Dst: ndpi_detection_process_packet
      Src: /src/ndpi/example/reader_util.c:1992,1
    - Dst: process_ndpi_monitoring_info
      Src: /src/ndpi/example/reader_util.c:1996,1
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/example/reader_util.c:2003,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/example/reader_util.c:2007,1
    - Dst: fopen
      Src: /src/ndpi/example/reader_util.c:2020,1
    - Dst: fprintf
      Src: /src/ndpi/example/reader_util.c:2023,1
    - Dst: fclose
      Src: /src/ndpi/example/reader_util.c:2024,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 136
    argCount: 13
    argNames:
    - workflow
    - time_ms
    - vlan_id
    - tunnel_type
    - iph
    - iph6
    - ipsize
    - rawsize
    - header
    - packet
    - when
    - flow_risk
    - flow_ext
    argTypes:
    - struct ndpi_workflow*
    - u_int64_t
    - u_int16_t
    - ndpi_packet_tunnel
    - struct ndpi_iphdr*
    - struct ndpi_ipv6hdr*
    - u_int16_t
    - u_int16_t
    - struct pcap_pkthdr*
    - u_char*
    - pkt_timeval
    - ndpi_risk*
    - struct ndpi_flow_info**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 1764
    functionDepth: 10
    functionLinenumber: 1764
    functionLinenumberEnd: 2033
    functionName: packet_processing
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - plen2slot
    - ndpi_clear_entropy_stats
    - ndpi_has_human_readable_string
    - ndpi_timeval_to_milliseconds
    - is_ndpi_proto
    - ndpi_detection_process_packet
    - ndpi_data_add_value
    - process_ndpi_collected_info
    - fopen
    - get_ndpi_flow_info6
    - ndpi_flow_update_byte_count
    - ndpi_flow_update_byte_dist_mean_var
    - ndpi_timer_sub
    - update_tcp_flags_count
    - printf
    - fprintf
    - ndpi_classify
    - fclose
    - ndpi_payload_analyzer
    - ndpi_detection_giveup
    - process_ndpi_monitoring_info
    - memset
    - get_ndpi_flow_info
    - ndpi_inc_bin
    - ntohs
    - memcpy
    linkageType: ''
    returnType: struct ndpi_proto
    signature: "struct ndpi_proto packet_processing(struct ndpi_workflow * workflow,\n\t\t\t\t\t
      \  const u_int64_t time_ms,\n\t\t\t\t\t   u_int16_t vlan_id,\n\t\t\t\t\t   ndpi_packet_tunnel
      tunnel_type,\n\t\t\t\t\t   const struct ndpi_iphdr *iph,\n\t\t\t\t\t   struct
      ndpi_ipv6hdr *iph6,\n\t\t\t\t\t   u_int16_t ipsize, u_int16_t rawsize,\n\t\t\t\t\t
      \  const struct pcap_pkthdr *header,\n\t\t\t\t\t   const u_char *packet,\n\t\t\t\t\t
      \  pkt_timeval when,\n\t\t\t\t\t   ndpi_risk *flow_risk,\n\t\t\t\t\t   struct
      ndpi_flow_info **flow_ext)"
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - datalink_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2060
    functionName: ndpi_is_datalink_supported
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ndpi_is_datalink_supported(int datalink_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2066,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - header
    - packet
    - ip_offset
    - ip_len
    argTypes:
    - struct pcap_pkthdr*
    - u_char*
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2102
    functionName: ndpi_is_valid_vxlan
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: bool
    signature: bool ndpi_is_valid_vxlan(const struct pcap_pkthdr *header, const u_char
      *packet, u_int16_t ip_offset, u_int16_t ip_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ip_offset
    - ip_len
    argTypes:
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2106
    functionName: ndpi_skip_vxlan
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int
    signature: u_int ndpi_skip_vxlan(u_int16_t ip_offset, u_int16_t ip_len)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_GRE_IS_FLAGS
      Src: /src/ndpi/example/reader_util.c:2120,1
    - Dst: NDPI_GRE_IS_REC
      Src: /src/ndpi/example/reader_util.c:2122,1
    - Dst: NDPI_GRE_IS_VERSION_0
      Src: /src/ndpi/example/reader_util.c:2125,1
    - Dst: NDPI_GRE_IS_CSUM
      Src: /src/ndpi/example/reader_util.c:2126,1
    - Dst: NDPI_GRE_IS_KEY
      Src: /src/ndpi/example/reader_util.c:2132,1
    - Dst: NDPI_GRE_IS_SEQ
      Src: /src/ndpi/example/reader_util.c:2137,1
    - Dst: NDPI_GRE_IS_VERSION_1
      Src: /src/ndpi/example/reader_util.c:2142,1
    - Dst: NDPI_GRE_IS_CSUM
      Src: /src/ndpi/example/reader_util.c:2143,1
    - Dst: NDPI_GRE_IS_ROUTING
      Src: /src/ndpi/example/reader_util.c:2145,1
    - Dst: NDPI_GRE_IS_KEY
      Src: /src/ndpi/example/reader_util.c:2147,1
    - Dst: NDPI_GRE_IS_STRICT
      Src: /src/ndpi/example/reader_util.c:2149,1
    - Dst: NDPI_GRE_IS_SEQ
      Src: /src/ndpi/example/reader_util.c:2157,1
    - Dst: NDPI_GRE_IS_ACK
      Src: /src/ndpi/example/reader_util.c:2162,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 4
    argNames:
    - header
    - packet
    - ip_offset
    - ip_len
    argTypes:
    - struct pcap_pkthdr*
    - u_char*
    - u_int16_t
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2108
    functionDepth: 1
    functionLinenumber: 2108
    functionLinenumberEnd: 2171
    functionName: ndpi_is_valid_gre_tunnel
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - NDPI_GRE_IS_REC
    - NDPI_GRE_IS_CSUM
    - NDPI_GRE_IS_VERSION_0
    - NDPI_GRE_IS_STRICT
    - NDPI_GRE_IS_KEY
    - NDPI_GRE_IS_ACK
    - NDPI_GRE_IS_ROUTING
    - NDPI_GRE_IS_SEQ
    - NDPI_GRE_IS_VERSION_1
    - NDPI_GRE_IS_FLAGS
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t ndpi_is_valid_gre_tunnel(const struct pcap_pkthdr *header,\n
      \               const u_char *packet, const u_int16_t ip_offset,\n                const
      u_int16_t ip_len)"
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/example/reader_util.c:2231,1
    - Dst: ndpi_cache_address_flush_expired
      Src: /src/ndpi/example/reader_util.c:2235,1
    - Dst: pcap_datalink
      Src: /src/ndpi/example/reader_util.c:2258,1
    - Dst: ntohl
      Src: /src/ndpi/example/reader_util.c:2269,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2281,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2290,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2293,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2321,1
    - Dst: FCF_TYPE
      Src: /src/ndpi/example/reader_util.c:2373,1
    - Dst: FCF_TO_DS
      Src: /src/ndpi/example/reader_util.c:2374,1
    - Dst: FCF_FROM_DS
      Src: /src/ndpi/example/reader_util.c:2374,1
    - Dst: FCF_TO_DS
      Src: /src/ndpi/example/reader_util.c:2375,1
    - Dst: FCF_FROM_DS
      Src: /src/ndpi/example/reader_util.c:2375,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2385,1
    - Dst: le16toh
      Src: /src/ndpi/example/reader_util.c:2405,1
    - Dst: le32toh
      Src: /src/ndpi/example/reader_util.c:2406,1
    - Dst: printf
      Src: /src/ndpi/example/reader_util.c:2418,1
    - Dst: ntohl
      Src: /src/ndpi/example/reader_util.c:2449,1
    - Dst: ntohl
      Src: /src/ndpi/example/reader_util.c:2455,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2491,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:2499,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:2524,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2537,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2539,1
    - Dst: ndpi_handle_ipv6_extension_headers
      Src: /src/ndpi/example/reader_util.c:2545,1
    - Dst: LOG
      Src: /src/ndpi/example/reader_util.c:2565,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2579,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2579,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2638,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2692,1
    - Dst: ndpi_is_valid_vxlan
      Src: /src/ndpi/example/reader_util.c:2701,1
    - Dst: ndpi_skip_vxlan
      Src: /src/ndpi/example/reader_util.c:2703,1
    - Dst: ndpi_is_valid_gre_tunnel
      Src: /src/ndpi/example/reader_util.c:2711,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2714,1
    - Dst: ntohs
      Src: /src/ndpi/example/reader_util.c:2714,1
    - Dst: packet_processing
      Src: /src/ndpi/example/reader_util.c:2730,1
    CyclomaticComplexity: 135
    EdgeCount: 135
    ICount: 360
    argCount: 5
    argNames:
    - workflow
    - header
    - packet
    - flow_risk
    - flow
    argTypes:
    - struct ndpi_workflow*
    - struct pcap_pkthdr*
    - u_char*
    - ndpi_risk*
    - struct ndpi_flow_info**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2175
    functionDepth: 11
    functionLinenumber: 2175
    functionLinenumberEnd: 2734
    functionName: ndpi_workflow_process_packet
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 11
    functionsReached:
    - pcap_datalink
    - FCF_TYPE
    - ndpi_skip_vxlan
    - ntohl
    - ndpi_is_valid_vxlan
    - le32toh
    - ndpi_handle_ipv6_extension_headers
    - le16toh
    - packet_processing
    - FCF_TO_DS
    - printf
    - memset
    - LOG
    - ndpi_is_valid_gre_tunnel
    - ntohs
    - ndpi_cache_address_flush_expired
    - FCF_FROM_DS
    linkageType: ''
    returnType: struct ndpi_proto
    signature: "struct ndpi_proto ndpi_workflow_process_packet(struct ndpi_workflow
      * workflow,\n\t\t\t\t\t       const struct pcap_pkthdr *header,\n\t\t\t\t\t
      \      const u_char *packet,\n\t\t\t\t\t       ndpi_risk *flow_risk,\n\t\t\t\t\t
      \      struct ndpi_flow_info **flow)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_dev_configure
      Src: /src/ndpi/example/reader_util.c:2760,1
    - Dst: rte_eth_rx_queue_setup
      Src: /src/ndpi/example/reader_util.c:2766,1
    - Dst: rte_eth_dev_socket_id
      Src: /src/ndpi/example/reader_util.c:2766,1
    - Dst: rte_eth_tx_queue_setup
      Src: /src/ndpi/example/reader_util.c:2772,1
    - Dst: rte_eth_dev_socket_id
      Src: /src/ndpi/example/reader_util.c:2772,1
    - Dst: rte_eth_dev_start
      Src: /src/ndpi/example/reader_util.c:2777,1
    - Dst: rte_eth_promiscuous_enable
      Src: /src/ndpi/example/reader_util.c:2782,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - port
    - mbuf_pool
    argTypes:
    - int
    - struct rte_mempool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2785
    functionName: dpdk_port_init
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - rte_eth_dev_socket_id
    - rte_eth_promiscuous_enable
    - rte_eth_dev_start
    - rte_eth_rx_queue_setup
    - rte_eth_tx_queue_setup
    - rte_eth_dev_configure
    linkageType: ''
    returnType: int
    signature: int dpdk_port_init(int port, struct rte_mempool *mbuf_pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_dev_stop
      Src: /src/ndpi/example/reader_util.c:2788,1
    - Dst: rte_eth_dev_close
      Src: /src/ndpi/example/reader_util.c:2789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2791
    functionName: dpdk_port_deinit
    functionSourceFile: /src/ndpi/example/reader_util.c
    functionUses: 0
    functionsReached:
    - rte_eth_dev_stop
    - rte_eth_dev_close
    linkageType: ''
    returnType: int
    signature: int dpdk_port_deinit(int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - workflow
    - callback
    - userdata
    argTypes:
    - struct ndpi_workflow*
    - ndpi_workflow_callback_ptr
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 476
    functionName: ndpi_workflow_set_flow_callback
    functionSourceFile: /src/ndpi/example/reader_util.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndpi_workflow_set_flow_callback(struct ndpi_workflow * workflow,
      ndpi_workflow_callback_ptr callback, void * userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 6
    argNames:
    - (
    - log_level
    - ','
    - args
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: LOG
    functionSourceFile: /src/ndpi/example/reader_util.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG(log_level, args...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: LOG
    functionSourceFile: /src/ndpi/example/reader_util.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: ntohl64
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ntohl64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: htonl64
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htonl64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: ndpi_packet_trailer
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PACK_ON
    signature: PACK_ON ndpi_packet_trailer
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: reader_slot_malloc_bins
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: u_int32_t reader_slot_malloc_bins(u_int64_t v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_inc_bin
      Src: /src/ndpi/example/ndpiReader.c:339,1
    - Dst: reader_slot_malloc_bins
      Src: /src/ndpi/example/ndpiReader.c:339,1
    - Dst: malloc
      Src: /src/ndpi/example/ndpiReader.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: ndpi_malloc_wrapper
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - malloc
    - ndpi_inc_bin
    - reader_slot_malloc_bins
    linkageType: ''
    returnType: void
    signature: void *ndpi_malloc_wrapper(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/ndpi/example/ndpiReader.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - freeable
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: free_wrapper
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_wrapper(void *freeable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_bin
      Src: /src/ndpi/example/ndpiReader.c:371,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/example/ndpiReader.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: init_doh_bins
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_free_bin
    - ndpi_init_bin
    linkageType: ''
    returnType: void
    signature: void init_doh_bins()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bin_similarity
      Src: /src/ndpi/example/ndpiReader.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bin
    - similarity
    argTypes:
    - struct ndpi_bin*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 398
    functionName: check_bin_doh_similarity
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_bin_similarity
    linkageType: ''
    returnType: u_int
    signature: u_int check_bin_doh_similarity(struct ndpi_bin *bin, float *similarity)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtok
      Src: /src/ndpi/example/ndpiReader.c:413,1
    - Dst: strtok
      Src: /src/ndpi/example/ndpiReader.c:413,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/example/ndpiReader.c:422,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/example/ndpiReader.c:424,1
    - Dst: LOG
      Src: /src/ndpi/example/ndpiReader.c:426,1
    - Dst: ndpi_cfg_error2string
      Src: /src/ndpi/example/ndpiReader.c:427,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - ndpi_str
    - str
    - inverted_logic
    argTypes:
    - struct ndpi_detection_module_struct*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 432
    functionName: enable_disable_protocols_list
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - strtok
    - ndpi_set_config
    - ndpi_cfg_error2string
    - LOG
    linkageType: ''
    returnType: int
    signature: int enable_disable_protocols_list(struct ndpi_detection_module_struct
      *ndpi_str, char *str, int inverted_logic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/ndpi/example/ndpiReader.c:440,1
    - Dst: stat
      Src: /src/ndpi/example/ndpiReader.c:443,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/example/ndpiReader.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ndpi_str
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 449
    functionName: load_public_lists
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_load_domain_suffixes
    - stat
    linkageType: ''
    returnType: bool
    signature: bool load_public_lists(struct ndpi_detection_module_struct *ndpi_str)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: enable_disable_protocols_list
      Src: /src/ndpi/example/ndpiReader.c:459,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/example/ndpiReader.c:463,1
    - Dst: load_public_lists
      Src: /src/ndpi/example/ndpiReader.c:466,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/example/ndpiReader.c:469,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/example/ndpiReader.c:472,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:474,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:475,1
    - Dst: ndpi_load_risk_domain_file
      Src: /src/ndpi/example/ndpiReader.c:480,1
    - Dst: ndpi_load_malicious_ja4_file
      Src: /src/ndpi/example/ndpiReader.c:483,1
    - Dst: ndpi_load_malicious_sha1_file
      Src: /src/ndpi/example/ndpiReader.c:486,1
    - Dst: strrchr
      Src: /src/ndpi/example/ndpiReader.c:489,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/example/ndpiReader.c:496,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:498,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:499,1
    - Dst: ndpi_load_protocols_file
      Src: /src/ndpi/example/ndpiReader.c:504,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/example/ndpiReader.c:506,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/example/ndpiReader.c:509,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:512,1
    - Dst: ndpi_cfg_error2string
      Src: /src/ndpi/example/ndpiReader.c:514,1
    - Dst: ndpi_set_config
      Src: /src/ndpi/example/ndpiReader.c:519,1
    - Dst: ndpi_cache_address_restore
      Src: /src/ndpi/example/ndpiReader.c:522,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 1
    argNames:
    - ndpi_struct
    argTypes:
    - struct ndpi_detection_module_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 453
    functionDepth: 6
    functionLinenumber: 453
    functionLinenumberEnd: 523
    functionName: configure_ndpi
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - exit
    - ndpi_load_domain_suffixes
    - ndpi_load_protocols_dir
    - ndpi_load_categories_dir
    - ndpi_load_categories_file
    - ndpi_set_config
    - strrchr
    - ndpi_load_risk_domain_file
    - ndpi_cache_address_restore
    - load_public_lists
    - enable_disable_protocols_list
    - ndpi_load_malicious_ja4_file
    - fprintf
    - ndpi_cfg_error2string
    - ndpi_load_protocols_file
    - ndpi_load_malicious_sha1_file
    linkageType: ''
    returnType: void
    signature: void configure_ndpi(struct ndpi_detection_module_struct *ndpi_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:538,1
    - Dst: configure_ndpi
      Src: /src/ndpi/example/ndpiReader.c:539,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiReader.c:540,1
    - Dst: memset
      Src: /src/ndpi/example/ndpiReader.c:542,1
    - Dst: ndpi_match_string_subprotocol
      Src: /src/ndpi/example/ndpiReader.c:544,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:545,1
    - Dst: ndpi_match_custom_category
      Src: /src/ndpi/example/ndpiReader.c:554,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:554,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:561,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:566,1
    - Dst: ndpi_get_proto_breed_name
      Src: /src/ndpi/example/ndpiReader.c:568,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/example/ndpiReader.c:569,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:571,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - testChar
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 527
    functionDepth: 7
    functionLinenumber: 527
    functionLinenumberEnd: 575
    functionName: ndpiCheckHostStringMatch
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_match_custom_category
    - ndpi_init_detection_module
    - strlen
    - ndpi_exit_detection_module
    - ndpi_match_string_subprotocol
    - ndpi_category_get_name
    - configure_ndpi
    - ndpi_protocol2name
    - printf
    - memset
    - ndpi_finalize_initialization
    - ndpi_get_proto_breed_name
    linkageType: ''
    returnType: void
    signature: void ndpiCheckHostStringMatch(char *testChar)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:589,1
    - Dst: fopen
      Src: /src/ndpi/example/ndpiReader.c:592,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:594,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:599,1
    - Dst: configure_ndpi
      Src: /src/ndpi/example/ndpiReader.c:600,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiReader.c:601,1
    - Dst: fgets
      Src: /src/ndpi/example/ndpiReader.c:610,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:615,1
    - Dst: memset
      Src: /src/ndpi/example/ndpiReader.c:623,1
    - Dst: ndpi_match_string_subprotocol
      Src: /src/ndpi/example/ndpiReader.c:625,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:626,1
    - Dst: ndpi_match_custom_category
      Src: /src/ndpi/example/ndpiReader.c:634,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:634,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:641,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:643,1
    - Dst: ndpi_get_proto_breed_name
      Src: /src/ndpi/example/ndpiReader.c:645,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/example/ndpiReader.c:646,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:648,1
    - Dst: ndpi_realloc
      Src: /src/ndpi/example/ndpiReader.c:651,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:653,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:660,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:662,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:667,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:668,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:669,1
    - Dst: fclose
      Src: /src/ndpi/example/ndpiReader.c:670,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:671,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 1
    argNames:
    - domains_file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 579
    functionDepth: 7
    functionLinenumber: 579
    functionLinenumberEnd: 672
    functionName: ndpiCheckHostsFileStringMatch
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_match_custom_category
    - ndpi_match_string_subprotocol
    - fopen
    - strcmp
    - strlen
    - ndpi_free
    - printf
    - fgets
    - ndpi_get_proto_breed_name
    - fclose
    - ndpi_exit_detection_module
    - ndpi_strdup
    - configure_ndpi
    - ndpi_protocol2name
    - memset
    - ndpi_init_detection_module
    - ndpi_category_get_name
    - ndpi_realloc
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: void
    signature: void ndpiCheckHostsFileStringMatch(const char *domains_file)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - err
    argTypes:
    - ndpi_cfg_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 696
    functionName: ndpi_cfg_error2string
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ndpi_cfg_error2string(ndpi_cfg_error const err)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:710,1
    - Dst: configure_ndpi
      Src: /src/ndpi/example/ndpiReader.c:711,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiReader.c:712,1
    - Dst: strtok_r
      Src: /src/ndpi/example/ndpiReader.c:714,1
    - Dst: inet_addr
      Src: /src/ndpi/example/ndpiReader.c:718,1
    - Dst: strtok_r
      Src: /src/ndpi/example/ndpiReader.c:719,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:721,1
    - Dst: ndpi_network_port_ptree_match
      Src: /src/ndpi/example/ndpiReader.c:722,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:722,1
    - Dst: memset
      Src: /src/ndpi/example/ndpiReader.c:725,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/example/ndpiReader.c:726,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:728,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:731,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:734,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - testChar
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 698
    functionDepth: 7
    functionLinenumber: 698
    functionLinenumberEnd: 738
    functionName: ndpiCheckIPMatch
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_init_detection_module
    - printf
    - ndpi_exit_detection_module
    - ndpi_map_ndpi_id_to_user_proto_id
    - ndpi_network_port_ptree_match
    - atoi
    - configure_ndpi
    - inet_addr
    - htons
    - ndpi_protocol2name
    - memset
    - strtok_r
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: void
    signature: void ndpiCheckIPMatch(char *testChar)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logf
      Src: /src/ndpi/example/ndpiReader.c:752,1
    - Dst: log
      Src: /src/ndpi/example/ndpiReader.c:755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - byte_count
    - num_bytes
    argTypes:
    - uint32_t[]
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 756
    functionName: ndpi_flow_get_byte_count_entropy
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - log
    - logf
    linkageType: ''
    returnType: double
    signature: "double ndpi_flow_get_byte_count_entropy(const uint32_t byte_count[256],\n\t\t\t\t\t
      \      unsigned int num_bytes)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/ndpi/example/ndpiReader.c:776,1
    - Dst: sqrt
      Src: /src/ndpi/example/ndpiReader.c:797,1
    - Dst: sqrt
      Src: /src/ndpi/example/ndpiReader.c:818,1
    - Dst: ndpi_flow_get_byte_count_entropy
      Src: /src/ndpi/example/ndpiReader.c:828,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:831,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:833,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:834,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:835,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:836,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:840,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 843
    functionName: flowGetBDMeanandVariance
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_flow_get_byte_count_entropy
    - fprintf
    - sqrt
    - fflush
    linkageType: ''
    returnType: void
    signature: void flowGetBDMeanandVariance(struct ndpi_flow_info* flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:849,1
    - Dst: ndpi_revision
      Src: /src/ndpi/example/ndpiReader.c:849,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:851,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:941,1
    - Dst: configure_ndpi
      Src: /src/ndpi/example/ndpiReader.c:942,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiReader.c:943,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:945,1
    - Dst: ndpi_dump_config
      Src: /src/ndpi/example/ndpiReader.c:946,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:949,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:963,1
    - Dst: ndpi_detection_get_sizeof_ndpi_flow_struct
      Src: /src/ndpi/example/ndpiReader.c:966,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:969,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:970,1
    - Dst: ndpi_dump_protocols
      Src: /src/ndpi/example/ndpiReader.c:974,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:976,1
    - Dst: ndpi_dump_risks_score
      Src: /src/ndpi/example/ndpiReader.c:977,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:980,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - long_help
    argTypes:
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 848
    functionDepth: 7
    functionLinenumber: 848
    functionLinenumberEnd: 983
    functionName: help
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 4
    functionsReached:
    - exit
    - ndpi_init_detection_module
    - ndpi_detection_get_sizeof_ndpi_flow_struct
    - ndpi_exit_detection_module
    - ndpi_dump_config
    - configure_ndpi
    - ndpi_revision
    - ndpi_dump_protocols
    - printf
    - ndpi_dump_risks_score
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: void
    signature: void help(u_int long_help)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1053,1
    - Dst: ndpi_revision
      Src: /src/ndpi/example/ndpiReader.c:1053,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1057
    functionName: extcap_interfaces
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_revision
    linkageType: ''
    returnType: void
    signature: void extcap_interfaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1066
    functionName: extcap_dlts
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void extcap_dlts()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1082
    functionName: cmpProto
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmpProto(const void *_a, const void *_b)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/ndpi/example/ndpiReader.c:1098,1
    - Dst: htonl
      Src: /src/ndpi/example/ndpiReader.c:1098,1
    - Dst: htonl
      Src: /src/ndpi/example/ndpiReader.c:1098,1
    - Dst: htonl
      Src: /src/ndpi/example/ndpiReader.c:1098,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:1099,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:1099,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:1099,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:1099,1
    - Dst: htonl
      Src: /src/ndpi/example/ndpiReader.c:1100,1
    - Dst: htonl
      Src: /src/ndpi/example/ndpiReader.c:1100,1
    - Dst: htonl
      Src: /src/ndpi/example/ndpiReader.c:1100,1
    - Dst: htonl
      Src: /src/ndpi/example/ndpiReader.c:1100,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:1101,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:1101,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:1101,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:1101,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1104
    functionName: cmpFlows
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - htons
    - htonl
    linkageType: ''
    returnType: int
    signature: int cmpFlows(const void *_a, const void *_b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:1115,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1117,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiReader.c:1119,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1119,1
    - Dst: ndpi_get_num_protocols
      Src: /src/ndpi/example/ndpiReader.c:1121,1
    - Dst: ndpi_get_proto_defaults
      Src: /src/ndpi/example/ndpiReader.c:1122,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1125,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1128,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:1132,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1133,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1135,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1138,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:1142,1
    - Dst: qsort
      Src: /src/ndpi/example/ndpiReader.c:1145,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1148,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:1151,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1154,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1156,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:1159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1108
    functionDepth: 6
    functionLinenumber: 1108
    functionLinenumberEnd: 1162
    functionName: extcap_config
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - exit
    - ndpi_init_detection_module
    - ndpi_get_num_protocols
    - ndpi_exit_detection_module
    - ndpi_snprintf
    - ndpi_malloc
    - ndpi_get_proto_defaults
    - ndpi_free
    - printf
    - ndpi_finalize_initialization
    - qsort
    linkageType: ''
    returnType: void
    signature: void extcap_config()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1168,1
    - Dst: pcap_open_dead
      Src: /src/ndpi/example/ndpiReader.c:1171,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1172,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1175,1
    - Dst: pcap_dump_open
      Src: /src/ndpi/example/ndpiReader.c:1180,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1182,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1185,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - datalink_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1194
    functionName: extcap_capture
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pcap_open_dead
    - pcap_dump_open
    linkageType: ''
    returnType: void
    signature: void extcap_capture(int datalink_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1201,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1202,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1203,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1206,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1207,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1208,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1211,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1212,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1215,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1217,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1219,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1222,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1225,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1226,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1227,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1228,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1230,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1232,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1235,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1239
    functionName: printCSVHeader
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void printCSVHeader()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1247,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:1252,1
    - Dst: strtok_r
      Src: /src/ndpi/example/ndpiReader.c:1259,1
    - Dst: strtok_r
      Src: /src/ndpi/example/ndpiReader.c:1261,1
    - Dst: strtok_r
      Src: /src/ndpi/example/ndpiReader.c:1263,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:1266,1
    - Dst: strtok_r
      Src: /src/ndpi/example/ndpiReader.c:1271,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1273,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1274,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1275,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:1276,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:1278,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:1279,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:1280,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:1287,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - param
    - s1
    - s2
    - s3
    argTypes:
    - char*
    - char**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1289
    functionName: parse_three_strings
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - ndpi_strdup
    - strlen
    - strtok_r
    linkageType: ''
    returnType: int
    signature: int parse_three_strings(char *param, char **s1, char **s2, char **s3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1294,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1297,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1298,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - proto
    - param
    - value
    - dup
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1302
    functionName: reader_add_cfg
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_strdup
    linkageType: ''
    returnType: int
    signature: int reader_add_cfg(char *proto, char *param, char *value, int dup)
  - BBCount: 98
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/ndpi/example/ndpiReader.c:1313,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1315,1
    - Dst: ndpi_generate_options
      Src: /src/ndpi/example/ndpiReader.c:1320,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:1320,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1321,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:1328,1
    - Dst: reader_add_cfg
      Src: /src/ndpi/example/ndpiReader.c:1333,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1334,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1335,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:1344,1
    - Dst: fopen
      Src: /src/ndpi/example/ndpiReader.c:1349,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1350,1
    - Dst: strerror
      Src: /src/ndpi/example/ndpiReader.c:1350,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1351,1
    - Dst: reader_add_cfg
      Src: /src/ndpi/example/ndpiReader.c:1354,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1355,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1356,1
    - Dst: atol
      Src: /src/ndpi/example/ndpiReader.c:1380,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:1401,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:1409,1
    - Dst: fopen
      Src: /src/ndpi/example/ndpiReader.c:1426,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1428,1
    - Dst: strerror
      Src: /src/ndpi/example/ndpiReader.c:1428,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1429,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:1442,1
    - Dst: time
      Src: /src/ndpi/example/ndpiReader.c:1443,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:1451,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/example/ndpiReader.c:1462,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1464,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1465,1
    - Dst: reader_add_cfg
      Src: /src/ndpi/example/ndpiReader.c:1469,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1470,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1471,1
    - Dst: snprintf
      Src: /src/ndpi/example/ndpiReader.c:1474,1
    - Dst: reader_add_cfg
      Src: /src/ndpi/example/ndpiReader.c:1475,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1476,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1477,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1486,1
    - Dst: reader_add_cfg
      Src: /src/ndpi/example/ndpiReader.c:1490,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1491,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1492,1
    - Dst: strtok
      Src: /src/ndpi/example/ndpiReader.c:1495,1
    - Dst: strtok
      Src: /src/ndpi/example/ndpiReader.c:1495,1
    - Dst: reader_add_cfg
      Src: /src/ndpi/example/ndpiReader.c:1501,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1502,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1503,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:1506,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:1511,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1512,1
    - Dst: help
      Src: /src/ndpi/example/ndpiReader.c:1516,1
    - Dst: help
      Src: /src/ndpi/example/ndpiReader.c:1520,1
    - Dst: sscanf
      Src: /src/ndpi/example/ndpiReader.c:1534,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1548,1
    - Dst: help
      Src: /src/ndpi/example/ndpiReader.c:1549,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/example/ndpiReader.c:1556,1
    - Dst: fopen
      Src: /src/ndpi/example/ndpiReader.c:1561,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1563,1
    - Dst: strerror
      Src: /src/ndpi/example/ndpiReader.c:1563,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1564,1
    - Dst: strcasecmp
      Src: /src/ndpi/example/ndpiReader.c:1569,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:1569,1
    - Dst: strcasecmp
      Src: /src/ndpi/example/ndpiReader.c:1572,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:1572,1
    - Dst: strcasecmp
      Src: /src/ndpi/example/ndpiReader.c:1575,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:1575,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1579,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1580,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1585,1
    - Dst: fopen
      Src: /src/ndpi/example/ndpiReader.c:1586,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1587,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1588,1
    - Dst: reader_add_cfg
      Src: /src/ndpi/example/ndpiReader.c:1594,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1595,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1596,1
    - Dst: reader_add_cfg
      Src: /src/ndpi/example/ndpiReader.c:1602,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1603,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1604,1
    - Dst: reader_add_cfg
      Src: /src/ndpi/example/ndpiReader.c:1609,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1610,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1611,1
    - Dst: fopen
      Src: /src/ndpi/example/ndpiReader.c:1625,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1627,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1628,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1632,1
    - Dst: fgets
      Src: /src/ndpi/example/ndpiReader.c:1638,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:1643,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1650,1
    - Dst: strtok_r
      Src: /src/ndpi/example/ndpiReader.c:1650,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1653,1
    - Dst: strtok_r
      Src: /src/ndpi/example/ndpiReader.c:1653,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1656,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1657,1
    - Dst: parse_parameters
      Src: /src/ndpi/example/ndpiReader.c:1664,1
    - Dst: fclose
      Src: /src/ndpi/example/ndpiReader.c:1667,1
    - Dst: extcap_interfaces
      Src: /src/ndpi/example/ndpiReader.c:1673,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1677,1
    - Dst: ndpi_revision
      Src: /src/ndpi/example/ndpiReader.c:1677,1
    - Dst: extcap_dlts
      Src: /src/ndpi/example/ndpiReader.c:1681,1
    - Dst: extcap_config
      Src: /src/ndpi/example/ndpiReader.c:1685,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:1695,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:1700,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiReader.c:1702,1
    - Dst: ndpi_get_proto_by_name
      Src: /src/ndpi/example/ndpiReader.c:1704,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:1705,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:1707,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:1712,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:1730,1
    - Dst: parse_three_strings
      Src: /src/ndpi/example/ndpiReader.c:1734,1
    - Dst: reader_add_cfg
      Src: /src/ndpi/example/ndpiReader.c:1735,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1736,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1737,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1747,1
    - Dst: help
      Src: /src/ndpi/example/ndpiReader.c:1750,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 333
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1307
    functionDepth: 7
    functionLinenumber: 1307
    functionLinenumberEnd: 1754
    functionName: parse_parameters
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 1
    functionsReached:
    - extcap_dlts
    - time
    - extcap_config
    - reader_add_cfg
    - fopen
    - strcasecmp
    - strlen
    - atol
    - parse_three_strings
    - ndpi_revision
    - ndpi_free
    - printf
    - sscanf
    - fprintf
    - parse_parameters
    - fgets
    - fclose
    - ndpi_exit_detection_module
    - ndpi_init_bin
    - snprintf
    - ndpi_strdup
    - ndpi_generate_options
    - getopt_long
    - strerror
    - strtok_r
    - exit
    - extcap_interfaces
    - ndpi_init_detection_module
    - help
    - strtok
    - ndpi_strtonum
    - atoi
    - ndpi_get_proto_by_name
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: void
    signature: void parse_parameters(int argc, char **argv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/ndpi/example/ndpiReader.c:1764,1
    - Dst: rte_eal_init
      Src: /src/ndpi/example/ndpiReader.c:1770,1
    - Dst: rte_exit
      Src: /src/ndpi/example/ndpiReader.c:1773,1
    - Dst: parse_parameters
      Src: /src/ndpi/example/ndpiReader.c:1779,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1783,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1784,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1792,1
    - Dst: printCSVHeader
      Src: /src/ndpi/example/ndpiReader.c:1794,1
    - Dst: help
      Src: /src/ndpi/example/ndpiReader.c:1803,1
    - Dst: strchr
      Src: /src/ndpi/example/ndpiReader.c:1805,1
    - Dst: strtok
      Src: /src/ndpi/example/ndpiReader.c:1807,1
    - Dst: strtok
      Src: /src/ndpi/example/ndpiReader.c:1810,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:1820,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:1821,1
    - Dst: strtok
      Src: /src/ndpi/example/ndpiReader.c:1831,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:1835,1
    - Dst: strtok
      Src: /src/ndpi/example/ndpiReader.c:1836,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1759
    functionDepth: 8
    functionLinenumber: 1759
    functionLinenumberEnd: 1842
    functionName: parseOptions
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - exit
    - sysconf
    - printf
    - strchr
    - help
    - rte_exit
    - printCSVHeader
    - strtok
    - atoi
    - rte_eal_init
    - parse_parameters
    linkageType: ''
    returnType: void
    signature: void parseOptions(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - ndpi_cipher_weakness
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1859
    functionName: print_cipher
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * print_cipher(ndpi_cipher_weakness c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_normalize_bin
      Src: /src/ndpi/example/ndpiReader.c:1867,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1869,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1874,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1877,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1880,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1883,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - fout
    - label
    - b
    argTypes:
    - FILE*
    - char*
    - struct ndpi_bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1889
    functionName: print_bin
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 2
    functionsReached:
    - fprintf
    - ndpi_normalize_bin
    linkageType: ''
    returnType: void
    signature: void print_bin(FILE *fout, const char *label, struct ndpi_bin *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1899,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiReader.c:1906,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1907,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiReader.c:1909,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1910,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1913,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - out
    - label
    - list
    argTypes:
    - FILE*
    - char*
    - ndpi_address_port_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1893
    functionDepth: 1
    functionLinenumber: 1893
    functionLinenumberEnd: 1917
    functionName: print_ndpi_address_port_list_file
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - fprintf
    - inet_ntop
    linkageType: ''
    returnType: void
    signature: void print_ndpi_address_port_list_file(FILE *out, const char *label,
      ndpi_address_port_list *list)
  - BBCount: 108
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_data_ratio
      Src: /src/ndpi/example/ndpiReader.c:1935,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1938,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:1944,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:1946,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1949,1
    - Dst: ndpi_protocol2id
      Src: /src/ndpi/example/ndpiReader.c:1950,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1952,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:1953,1
    - Dst: ndpi_stack2str
      Src: /src/ndpi/example/ndpiReader.c:1955,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiReader.c:1957,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1961,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1963,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1965,1
    - Dst: ndpi_data_ratio2str
      Src: /src/ndpi/example/ndpiReader.c:1965,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1966,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1970,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:1971,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:1971,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:1972,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:1972,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1974,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:1975,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:1975,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:1976,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:1976,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:1977,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:1977,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:1978,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:1978,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1981,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:1982,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:1982,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:1983,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:1983,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:1984,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:1984,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:1985,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:1985,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1988,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1990,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1993,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1997,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:1999,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2002,1
    - Dst: ndpi_ssl_version2str
      Src: /src/ndpi/example/ndpiReader.c:2003,1
    - Dst: ndpi_quic_version2str
      Src: /src/ndpi/example/ndpiReader.c:2004,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2007,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2014,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2020,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2025,1
    - Dst: print_bin
      Src: /src/ndpi/example/ndpiReader.c:2028,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2031,1
    - Dst: flowGetBDMeanandVariance
      Src: /src/ndpi/example/ndpiReader.c:2035,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2039,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2046,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2048,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2051,1
    - Dst: ndpi_get_ip_proto_name
      Src: /src/ndpi/example/ndpiReader.c:2051,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2053,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:2056,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:2060,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2063,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2064,1
    - Dst: flowGetBDMeanandVariance
      Src: /src/ndpi/example/ndpiReader.c:2068,1
    - Dst: fflush
      Src: /src/ndpi/example/ndpiReader.c:2069,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2070,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2075,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2077,1
    - Dst: ndpi_tunnel2str
      Src: /src/ndpi/example/ndpiReader.c:2077,1
    - Dst: ndpi_is_master_only_protocol
      Src: /src/ndpi/example/ndpiReader.c:2084,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:2086,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiReader.c:2088,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:2092,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:2108,1
    - Dst: ndpi_stack2str
      Src: /src/ndpi/example/ndpiReader.c:2109,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:2111,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:2116,1
    - Dst: ndpi_stack2str
      Src: /src/ndpi/example/ndpiReader.c:2117,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:2119,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:2124,1
    - Dst: ndpi_stack2str
      Src: /src/ndpi/example/ndpiReader.c:2125,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:2127,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:2135,1
    - Dst: ndpi_stack_get_upper_proto
      Src: /src/ndpi/example/ndpiReader.c:2135,1
    - Dst: ndpi_get_upper_proto
      Src: /src/ndpi/example/ndpiReader.c:2135,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:2136,1
    - Dst: ndpi_stack_get_lower_proto
      Src: /src/ndpi/example/ndpiReader.c:2136,1
    - Dst: ndpi_get_lower_proto
      Src: /src/ndpi/example/ndpiReader.c:2136,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2139,1
    - Dst: ndpi_protocol2id
      Src: /src/ndpi/example/ndpiReader.c:2140,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:2141,1
    - Dst: ndpi_stack2str
      Src: /src/ndpi/example/ndpiReader.c:2143,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiReader.c:2146,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2152,1
    - Dst: ndpi_multimedia_flowtype2str
      Src: /src/ndpi/example/ndpiReader.c:2152,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2158,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2161,1
    - Dst: ndpi_rtp_payload_type2str
      Src: /src/ndpi/example/ndpiReader.c:2162,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2165,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2167,1
    - Dst: ndpi_rtp_payload_type2str
      Src: /src/ndpi/example/ndpiReader.c:2168,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2170,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2174,1
    - Dst: ndpi_is_encrypted_proto
      Src: /src/ndpi/example/ndpiReader.c:2175,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2178,1
    - Dst: ndpi_confidence_get_name
      Src: /src/ndpi/example/ndpiReader.c:2178,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2181,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiReader.c:2183,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2186,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiReader.c:2189,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiReader.c:2191,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2194,1
    - Dst: ndpi_fpc_confidence_get_name
      Src: /src/ndpi/example/ndpiReader.c:2195,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2201,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2203,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2206,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2209,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/example/ndpiReader.c:2210,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2215,1
    - Dst: ndpi_get_proto_breed_name
      Src: /src/ndpi/example/ndpiReader.c:2215,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2217,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2218,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2222,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2227,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2229,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2231,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2232,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2234,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2235,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2237,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2247,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2256,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2268,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2272,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2276,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2280,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2287,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2291,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2295,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2299,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2306,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2310,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2314,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2318,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2325,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2334,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2339,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2347,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2351,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2356,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2357,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2362,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2365,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2368,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2370,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2372,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2373,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2374,1
    - Dst: ndpi_data_ratio
      Src: /src/ndpi/example/ndpiReader.c:2378,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2380,1
    - Dst: ndpi_data_ratio2str
      Src: /src/ndpi/example/ndpiReader.c:2380,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2383,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:2384,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:2385,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:2386,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:2386,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:2387,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:2388,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:2389,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:2389,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2392,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:2393,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:2394,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:2395,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:2395,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:2396,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:2397,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:2398,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:2398,1
    - Dst: print_ndpi_address_port_list_file
      Src: /src/ndpi/example/ndpiReader.c:2402,1
    - Dst: print_ndpi_address_port_list_file
      Src: /src/ndpi/example/ndpiReader.c:2403,1
    - Dst: print_ndpi_address_port_list_file
      Src: /src/ndpi/example/ndpiReader.c:2404,1
    - Dst: print_ndpi_address_port_list_file
      Src: /src/ndpi/example/ndpiReader.c:2405,1
    - Dst: print_ndpi_address_port_list_file
      Src: /src/ndpi/example/ndpiReader.c:2406,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2410,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2413,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2416,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2419,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2422,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2425,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2428,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2431,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2434,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2439,1
    - Dst: NDPI_ISSET_BIT
      Src: /src/ndpi/example/ndpiReader.c:2442,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2443,1
    - Dst: ndpi_risk2str
      Src: /src/ndpi/example/ndpiReader.c:2443,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2445,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2447,1
    - Dst: ndpi_risk2score
      Src: /src/ndpi/example/ndpiReader.c:2447,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2450,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2454,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2457,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2459,1
    - Dst: ndpi_ssl_version2str
      Src: /src/ndpi/example/ndpiReader.c:2459,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2462,1
    - Dst: ndpi_quic_version2str
      Src: /src/ndpi/example/ndpiReader.c:2462,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2465,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2467,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:2468,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2470,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2472,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2474,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2475,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2477,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2479,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2480,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2483,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2487,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2489,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2491,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2494,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2497,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2498,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2499,1
    - Dst: ndpi_gmtime_r
      Src: /src/ndpi/example/ndpiReader.c:2505,1
    - Dst: ndpi_gmtime_r
      Src: /src/ndpi/example/ndpiReader.c:2506,1
    - Dst: strftime
      Src: /src/ndpi/example/ndpiReader.c:2508,1
    - Dst: strftime
      Src: /src/ndpi/example/ndpiReader.c:2509,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2511,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2516,1
    - Dst: ndpi_cipher2str
      Src: /src/ndpi/example/ndpiReader.c:2516,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2518,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2519,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2520,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2523,1
    - Dst: print_bin
      Src: /src/ndpi/example/ndpiReader.c:2527,1
    - Dst: print_bin
      Src: /src/ndpi/example/ndpiReader.c:2528,1
    - Dst: print_bin
      Src: /src/ndpi/example/ndpiReader.c:2530,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2536,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2539,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2541,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2547,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2550,1
    - Dst: ndpi_isspace
      Src: /src/ndpi/example/ndpiReader.c:2550,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2552,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2555,1
    CyclomaticComplexity: 132
    EdgeCount: 132
    ICount: 327
    argCount: 3
    argNames:
    - id
    - flow
    - thread_id
    argTypes:
    - u_int32_t
    - struct ndpi_flow_info*
    - u_int16_t
    assertStmts:
    - condition: (ndpi_stack_get_lower_proto(&flow->detected_protocol.protocol_stack)
        == ndpi_get_lower_proto(flow->detected_protocol.proto))
      pos:
        line_end: 2135
        line_start: 2135
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_stack_get_upper_proto(&flow->detected_protocol.protocol_stack)
        == ndpi_get_upper_proto(flow->detected_protocol.proto))
      pos:
        line_end: 2134
        line_start: 2134
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 2557
      start: 1924
    functionDepth: 4
    functionLinenumber: 1924
    functionLinenumberEnd: 2557
    functionName: printFlow
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - print_cipher
    - ndpi_ssl_version2str
    - fflush
    - ndpi_stack_get_upper_proto
    - ndpi_isspace
    - ndpi_data_average
    - flowGetBDMeanandVariance
    - ndpi_risk2score
    - ndpi_get_ip_proto_name
    - ndpi_data_ratio
    - ndpi_confidence_get_name
    - ndpi_tunnel2str
    - ndpi_is_master_only_protocol
    - ndpi_stack_get_lower_proto
    - ndpi_fpc_confidence_get_name
    - ndpi_data_stddev
    - print_ndpi_address_port_list_file
    - ndpi_data_max
    - print_bin
    - ndpi_quic_version2str
    - printf
    - fprintf
    - ndpi_get_proto_breed_name
    - ndpi_protocol2id
    - strftime
    - ndpi_is_encrypted_proto
    - ndpi_data_ratio2str
    - ndpi_cipher2str
    - ndpi_protocol2name
    - ndpi_gmtime_r
    - ndpi_get_proto_name
    - NDPI_ISSET_BIT
    - ndpi_stack2str
    - ndpi_rtp_payload_type2str
    - assert
    - ndpi_get_lower_proto
    - ndpi_data_min
    - ndpi_category_get_name
    - ndpi_multimedia_flowtype2str
    - ndpi_risk2str
    - ntohs
    - ndpi_get_upper_proto
    linkageType: ''
    returnType: void
    signature: void printFlow(u_int32_t id, struct ndpi_flow_info *flow, u_int16_t
      thread_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_data_ratio
      Src: /src/ndpi/example/ndpiReader.c:2566,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2568,1
    - Dst: ndpi_serialize_string_double
      Src: /src/ndpi/example/ndpiReader.c:2569,1
    - Dst: ndpi_serialize_string_double
      Src: /src/ndpi/example/ndpiReader.c:2570,1
    - Dst: ndpi_serialize_string_double
      Src: /src/ndpi/example/ndpiReader.c:2571,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2572,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2573,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/example/ndpiReader.c:2576,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/example/ndpiReader.c:2577,1
    - Dst: ndpi_serialize_string_string
      Src: /src/ndpi/example/ndpiReader.c:2578,1
    - Dst: ndpi_data_ratio2str
      Src: /src/ndpi/example/ndpiReader.c:2578,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2579,1
    - Dst: ndpi_serialize_string_uint64
      Src: /src/ndpi/example/ndpiReader.c:2580,1
    - Dst: ndpi_serialize_string_uint64
      Src: /src/ndpi/example/ndpiReader.c:2582,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2584,1
    - Dst: ndpi_serialize_string_uint64
      Src: /src/ndpi/example/ndpiReader.c:2585,1
    - Dst: ndpi_serialize_string_uint64
      Src: /src/ndpi/example/ndpiReader.c:2587,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/example/ndpiReader.c:2589,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/example/ndpiReader.c:2592,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2593,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:2593,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/example/ndpiReader.c:2594,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:2595,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2596,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:2596,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/example/ndpiReader.c:2597,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:2598,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2600,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:2601,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/example/ndpiReader.c:2602,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:2603,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2604,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:2605,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/example/ndpiReader.c:2606,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:2607,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2609,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:2610,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/example/ndpiReader.c:2611,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:2612,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2613,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:2614,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/example/ndpiReader.c:2615,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:2616,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/example/ndpiReader.c:2617,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/example/ndpiReader.c:2620,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2621,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:2622,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/example/ndpiReader.c:2623,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:2624,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2625,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:2626,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/example/ndpiReader.c:2627,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:2628,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2630,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:2631,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/example/ndpiReader.c:2632,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:2633,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2634,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:2635,1
    - Dst: ndpi_serialize_string_float
      Src: /src/ndpi/example/ndpiReader.c:2636,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:2637,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/example/ndpiReader.c:2638,1
    - Dst: ndpi_serialize_start_of_block
      Src: /src/ndpi/example/ndpiReader.c:2641,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2642,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2643,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2644,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2645,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2646,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2647,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2648,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2649,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2651,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2652,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2653,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2654,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2655,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2656,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2657,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2658,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2660,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2661,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2662,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2663,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2664,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2665,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2666,1
    - Dst: ndpi_serialize_string_int32
      Src: /src/ndpi/example/ndpiReader.c:2667,1
    - Dst: ndpi_serialize_end_of_block
      Src: /src/ndpi/example/ndpiReader.c:2668,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2671,1
    - Dst: ndpi_serialize_string_uint32
      Src: /src/ndpi/example/ndpiReader.c:2672,1
    - Dst: ndpi_serializer_get_buffer
      Src: /src/ndpi/example/ndpiReader.c:2674,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:2677,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:2678,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:2681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 75
    argCount: 1
    argNames:
    - flow
    argTypes:
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2559
    functionDepth: 9
    functionLinenumber: 2559
    functionLinenumberEnd: 2686
    functionName: printFlowSerialized
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - exit
    - ndpi_serialize_string_uint32
    - ndpi_data_stddev
    - ndpi_serialize_string_float
    - ndpi_data_ratio2str
    - ndpi_data_average
    - ndpi_serialize_string_int32
    - ndpi_data_max
    - ndpi_serializer_get_buffer
    - printf
    - ndpi_data_min
    - ndpi_serialize_start_of_block
    - ndpi_data_ratio
    - ndpi_serialize_string_uint64
    - ndpi_serialize_string_double
    - ndpi_serialize_end_of_block
    - fprintf
    - ndpi_serialize_string_string
    linkageType: ''
    returnType: void
    signature: void printFlowSerialized(struct ndpi_flow_info *flow)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2693
    functionDepth: 0
    functionLinenumber: 2693
    functionLinenumberEnd: 2709
    functionName: node_print_unknown_proto_walker
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void node_print_unknown_proto_walker(const void *node,\n                                            ndpi_VISIT
      which, int depth, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2732
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2732
    functionName: node_print_known_proto_walker
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void node_print_known_proto_walker(const void *node,\n                                          ndpi_VISIT
      which, int depth, void *user_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_detection_giveup
      Src: /src/ndpi/example/ndpiReader.c:2753,1
    - Dst: process_ndpi_collected_info
      Src: /src/ndpi/example/ndpiReader.c:2760,1
    - Dst: ndpi_map_user_proto_id_to_ndpi_id
      Src: /src/ndpi/example/ndpiReader.c:2763,1
    - Dst: ndpi_map_user_proto_id_to_ndpi_id
      Src: /src/ndpi/example/ndpiReader.c:2766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2787
      start: 2739
    functionDepth: 10
    functionLinenumber: 2739
    functionLinenumberEnd: 2787
    functionName: node_proto_guess_walker
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - process_ndpi_collected_info
    - ndpi_map_user_proto_id_to_ndpi_id
    - ndpi_detection_giveup
    linkageType: ''
    returnType: void
    signature: void node_proto_guess_walker(const void *node, ndpi_VISIT which, int
      depth, void *user_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/ndpiReader.c:2796,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:2799,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:2806,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:2809,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:2814,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:2815,1
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/ndpiReader.c:2820,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:2823,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:2827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - scanners
    - saddr
    - version
    - dport
    argTypes:
    - struct single_flow_info**
    - u_int32_t
    - u_int8_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2791
    functionDepth: 1
    functionLinenumber: 2791
    functionLinenumberEnd: 2831
    functionName: updateScanners
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_free
    - ndpi_malloc
    - HASH_ADD_INT
    - HASH_FIND_INT
    linkageType: ''
    returnType: void
    signature: "void updateScanners(struct single_flow_info **scanners, u_int32_t
      saddr,\n                    u_int8_t version, u_int32_t dport)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:2855,1
    - Dst: strncpy
      Src: /src/ndpi/example/ndpiReader.c:2861,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - key
    - version
    - vrootp
    - proto
    argTypes:
    - u_int32_t
    - u_int8_t
    - addr_node**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2870
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2870
    functionName: updateIpTree
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - strncpy
    - ndpi_malloc
    linkageType: ''
    returnType: int
    signature: "int updateIpTree(u_int32_t key, u_int8_t version,\n                 addr_node
      **vrootp, const char *proto)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeIpTree
      Src: /src/ndpi/example/ndpiReader.c:2877,1
    - Dst: freeIpTree
      Src: /src/ndpi/example/ndpiReader.c:2878,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:2879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - root
    argTypes:
    - addr_node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2873
    functionDepth: 1
    functionLinenumber: 2873
    functionLinenumberEnd: 2880
    functionName: freeIpTree
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 1
    functionsReached:
    - freeIpTree
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void freeIpTree(addr_node *root)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/ndpi/example/ndpiReader.c:2897,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - addr
    - version
    - proto
    - count
    - top
    - size
    argTypes:
    - u_int32_t
    - u_int8_t
    - char*
    - int
    - struct info_pair[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2884
    functionDepth: 0
    functionLinenumber: 2884
    functionLinenumberEnd: 2926
    functionName: updateTopIpAddress
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: "void updateTopIpAddress(u_int32_t addr, u_int8_t version, const char
      *proto,\n                        int count, struct info_pair top[], int size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/ndpiReader.c:2938,1
    - Dst: ndpi_calloc
      Src: /src/ndpi/example/ndpiReader.c:2940,1
    - Dst: updateTopIpAddress
      Src: /src/ndpi/example/ndpiReader.c:2946,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:2948,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:2950,1
    - Dst: strncpy
      Src: /src/ndpi/example/ndpiReader.c:2956,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:2962,1
    - Dst: updateIpTree
      Src: /src/ndpi/example/ndpiReader.c:2965,1
    - Dst: updateTopIpAddress
      Src: /src/ndpi/example/ndpiReader.c:2971,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 7
    argNames:
    - stats
    - port
    - addr
    - version
    - num_pkts
    - num_bytes
    - proto
    argTypes:
    - struct port_stats**
    - u_int32_t
    - u_int32_t
    - u_int8_t
    - u_int32_t
    - u_int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2930
    functionDepth: 1
    functionLinenumber: 2930
    functionLinenumberEnd: 2976
    functionName: updatePortStats
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - updateTopIpAddress
    - HASH_FIND_INT
    - ndpi_malloc
    - updateIpTree
    - strncpy
    - ndpi_free
    - HASH_ADD_INT
    - ndpi_calloc
    linkageType: ''
    returnType: void
    signature: "void updatePortStats(struct port_stats **stats, u_int32_t port,\n
      \                           u_int32_t addr, u_int8_t version,\n                            u_int32_t
      num_pkts, u_int32_t num_bytes,\n                            const char *proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_pkts
    argTypes:
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 2983
    functionName: acceptable
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int acceptable(u_int32_t num_pkts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 2992
    functionName: receivers_sort_asc
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int receivers_sort_asc(void *_a, void *_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3008,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3011,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - rcvrs
    - size
    - max
    argTypes:
    - struct receiver**
    - u_int32_t
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3017
      start: 2998
    functionDepth: 1
    functionLinenumber: 2998
    functionLinenumberEnd: 3017
    functionName: cutBackTo
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - HASH_ITER
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: struct receiver
    signature: struct receiver *cutBackTo(struct receiver **rcvrs, u_int32_t size,
      u_int32_t max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3028,1
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/ndpiReader.c:3029,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3031,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:3038,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3043,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - primary
    - secondary
    argTypes:
    - struct receiver**
    - struct receiver**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3046
      start: 3025
    functionDepth: 1
    functionLinenumber: 3025
    functionLinenumberEnd: 3046
    functionName: mergeTables
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - HASH_FIND_INT
    - ndpi_malloc
    - HASH_ITER
    - HASH_DEL
    - ndpi_free
    - HASH_ADD_INT
    linkageType: ''
    returnType: void
    signature: void mergeTables(struct receiver **primary, struct receiver **secondary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3053,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rcvrs
    argTypes:
    - struct receiver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 3049
    functionDepth: 1
    functionLinenumber: 3049
    functionLinenumberEnd: 3056
    functionName: deleteReceivers
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void deleteReceivers(struct receiver *rcvrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3053,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3055
      start: 3052
    functionDepth: 1
    functionLinenumber: 3052
    functionLinenumberEnd: 3055
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 5
    functionsReached:
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, rcvrs, current, tmp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/ndpiReader.c:3080,1
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/ndpiReader.c:3082,1
    - Dst: acceptable
      Src: /src/ndpi/example/ndpiReader.c:3083,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3084,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:3091,1
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/ndpiReader.c:3093,1
    - Dst: HASH_SORT
      Src: /src/ndpi/example/ndpiReader.c:3095,1
    - Dst: cutBackTo
      Src: /src/ndpi/example/ndpiReader.c:3096,1
    - Dst: mergeTables
      Src: /src/ndpi/example/ndpiReader.c:3097,1
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/ndpiReader.c:3099,1
    - Dst: HASH_SORT
      Src: /src/ndpi/example/ndpiReader.c:3100,1
    - Dst: cutBackTo
      Src: /src/ndpi/example/ndpiReader.c:3101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - rcvrs
    - dst_addr
    - version
    - num_pkts
    - topRcvrs
    argTypes:
    - struct receiver**
    - u_int32_t
    - u_int8_t
    - u_int32_t
    - struct receiver**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3110
      start: 3073
    functionDepth: 2
    functionLinenumber: 3073
    functionLinenumberEnd: 3110
    functionName: updateReceivers
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - HASH_FIND_INT
    - HASH_COUNT
    - cutBackTo
    - ndpi_malloc
    - acceptable
    - HASH_ADD_INT
    - mergeTables
    - HASH_SORT
    linkageType: ''
    returnType: void
    signature: "void updateReceivers(struct receiver **rcvrs, u_int32_t dst_addr,\n
      \                           u_int8_t version, u_int32_t num_pkts,\n                            struct
      receiver **topRcvrs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3119,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3120,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3121,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3123,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - scanners
    argTypes:
    - struct single_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3114
    functionDepth: 1
    functionLinenumber: 3114
    functionLinenumberEnd: 3126
    functionName: deleteScanners
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - HASH_ITER
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void deleteScanners(struct single_flow_info *scanners)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3119,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3120,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3121,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3123,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3118
    functionDepth: 1
    functionLinenumber: 3118
    functionLinenumberEnd: 3125
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 7
    functionsReached:
    - HASH_ITER
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, scanners, s, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3134,1
    - Dst: freeIpTree
      Src: /src/ndpi/example/ndpiReader.c:3135,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stats
    argTypes:
    - struct port_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3138
      start: 3130
    functionDepth: 2
    functionLinenumber: 3130
    functionLinenumberEnd: 3138
    functionName: deletePortsStats
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - HASH_DEL
    - freeIpTree
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void deletePortsStats(struct port_stats *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3134,1
    - Dst: freeIpTree
      Src: /src/ndpi/example/ndpiReader.c:3135,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3137
      start: 3133
    functionDepth: 2
    functionLinenumber: 3133
    functionLinenumberEnd: 3137
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 7
    functionsReached:
    - HASH_DEL
    - freeIpTree
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, stats, current_port, tmp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:3154,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:3154,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:3158,1
    - Dst: strncpy
      Src: /src/ndpi/example/ndpiReader.c:3161,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiReader.c:3161,1
    - Dst: updateScanners
      Src: /src/ndpi/example/ndpiReader.c:3168,1
    - Dst: updateReceivers
      Src: /src/ndpi/example/ndpiReader.c:3171,1
    - Dst: updatePortStats
      Src: /src/ndpi/example/ndpiReader.c:3174,1
    - Dst: updatePortStats
      Src: /src/ndpi/example/ndpiReader.c:3177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3180
      start: 3145
    functionDepth: 3
    functionLinenumber: 3145
    functionLinenumberEnd: 3180
    functionName: port_stats_walker
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - updateScanners
    - updateReceivers
    - updatePortStats
    - ndpi_protocol2name
    - strncpy
    - ndpi_get_proto_name
    - ntohs
    linkageType: ''
    returnType: void
    signature: void port_stats_walker(const void *node, ndpi_VISIT which, int depth,
      void *user_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: node_proto_guess_walker
      Src: /src/ndpi/example/ndpiReader.c:3198,1
    - Dst: port_stats_walker
      Src: /src/ndpi/example/ndpiReader.c:3200,1
    - Dst: ndpi_flow_info_free_data
      Src: /src/ndpi/example/ndpiReader.c:3205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3187
    functionDepth: 11
    functionLinenumber: 3187
    functionLinenumberEnd: 3211
    functionName: node_idle_scan_walker
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - node_proto_guess_walker
    - ndpi_flow_info_free_data
    - port_stats_walker
    linkageType: ''
    returnType: void
    signature: void node_idle_scan_walker(const void *node, ndpi_VISIT which, int
      depth, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/example/ndpiReader.c:3231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - proto
    argTypes:
    - ndpi_protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3215
    functionDepth: 1
    functionLinenumber: 3215
    functionLinenumberEnd: 3240
    functionName: is_realtime_protocol
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - NDPI_ARRAY_LENGTH
    linkageType: ''
    returnType: int
    signature: int is_realtime_protocol(ndpi_protocol proto)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_realtime_protocol
      Src: /src/ndpi/example/ndpiReader.c:3248,1
    - Dst: ndpi_gmtime_r
      Src: /src/ndpi/example/ndpiReader.c:3252,1
    - Dst: strftime
      Src: /src/ndpi/example/ndpiReader.c:3254,1
    - Dst: snprintf
      Src: /src/ndpi/example/ndpiReader.c:3256,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiReader.c:3260,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiReader.c:3261,1
    - Dst: snprintf
      Src: /src/ndpi/example/ndpiReader.c:3263,1
    - Dst: snprintf
      Src: /src/ndpi/example/ndpiReader.c:3264,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:3267,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3270,1
    - Dst: ndpi_get_ip_proto_name
      Src: /src/ndpi/example/ndpiReader.c:3271,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:3272,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:3272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - workflow
    - flow
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3242
    functionDepth: 2
    functionLinenumber: 3242
    functionLinenumberEnd: 3275
    functionName: dump_realtime_protocol
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - strftime
    - is_realtime_protocol
    - snprintf
    - ndpi_get_ip_proto_name
    - ndpi_gmtime_r
    - inet_ntop
    - ndpi_protocol2name
    - fprintf
    - ntohs
    linkageType: ''
    returnType: void
    signature: void dump_realtime_protocol(struct ndpi_workflow * workflow, struct
      ndpi_flow_info *flow)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dump_realtime_protocol
      Src: /src/ndpi/example/ndpiReader.c:3283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - workflow
    - flow
    - userdata
    argTypes:
    - struct ndpi_workflow*
    - struct ndpi_flow_info*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3284
      start: 3277
    functionDepth: 3
    functionLinenumber: 3277
    functionLinenumberEnd: 3284
    functionName: on_protocol_discovered
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - dump_realtime_protocol
    linkageType: ''
    returnType: void
    signature: "void on_protocol_discovered(struct ndpi_workflow * workflow,\n                                   struct
      ndpi_flow_info * flow,\n                                   void * userdata)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/ndpi/example/ndpiReader.c:3296,1
    - Dst: memset
      Src: /src/ndpi/example/ndpiReader.c:3303,1
    - Dst: ndpi_workflow_init
      Src: /src/ndpi/example/ndpiReader.c:3304,1
    - Dst: configure_ndpi
      Src: /src/ndpi/example/ndpiReader.c:3307,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:3310,1
    - Dst: ndpi_workflow_set_flow_callback
      Src: /src/ndpi/example/ndpiReader.c:3314,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiReader.c:3317,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3319,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:3320,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/example/ndpiReader.c:3324,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:3325,1
    - Dst: ndpi_get_num_protocols
      Src: /src/ndpi/example/ndpiReader.c:3329,1
    - Dst: ndpi_stats_init
      Src: /src/ndpi/example/ndpiReader.c:3330,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:3331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - thread_id
    - pcap_handle
    - g_ctx
    argTypes:
    - u_int16_t
    - pcap_t*
    - struct ndpi_global_context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3334
      start: 3291
    functionDepth: 7
    functionLinenumber: 3291
    functionLinenumberEnd: 3334
    functionName: setupDetection
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - exit
    - ndpi_get_num_protocols
    - ndpi_workflow_init
    - ndpi_workflow_set_flow_callback
    - ndpi_get_config
    - atoi
    - configure_ndpi
    - memset
    - fprintf
    - ndpi_stats_init
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: void
    signature: "void setupDetection(u_int16_t thread_id, pcap_t * pcap_handle,\n                           struct
      ndpi_global_context *g_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_workflow_free
      Src: /src/ndpi/example/ndpiReader.c:3342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - thread_id
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3341
    functionDepth: 4
    functionLinenumber: 3341
    functionLinenumberEnd: 3344
    functionName: terminateDetection
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_workflow_free
    linkageType: ''
    returnType: void
    signature: void terminateDetection(u_int16_t thread_id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3360,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3362,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3367,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3372,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - numBits
    - bits
    - buf
    argTypes:
    - float
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3351
    functionDepth: 2
    functionLinenumber: 3351
    functionLinenumberEnd: 3380
    functionName: formatTraffic
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    linkageType: ''
    returnType: char
    signature: char * formatTraffic(float numBits, int bits, char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3390,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3392,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - numPkts
    - buf
    argTypes:
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3387
    functionDepth: 2
    functionLinenumber: 3387
    functionLinenumberEnd: 3399
    functionName: formatPackets
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    linkageType: ''
    returnType: char
    signature: char * formatPackets(float numPkts, char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3410,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3412,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3417,1
    - Dst: ndpi_snprintf
      Src: /src/ndpi/example/ndpiReader.c:3421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - howMuch
    - buf
    - buf_len
    argTypes:
    - u_int32_t
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3426
      start: 3406
    functionDepth: 2
    functionLinenumber: 3406
    functionLinenumberEnd: 3426
    functionName: formatBytes
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_snprintf
    linkageType: ''
    returnType: char
    signature: char * formatBytes(u_int32_t howMuch, char *buf, u_int buf_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3430
    functionDepth: 0
    functionLinenumber: 3430
    functionLinenumberEnd: 3438
    functionName: port_stats_sort
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int port_stats_sort(void *_a, void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3448
      start: 3442
    functionDepth: 0
    functionLinenumber: 3442
    functionLinenumberEnd: 3448
    functionName: info_pair_cmp
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int info_pair_cmp (const void *_a, const void *_b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3459,1
    - Dst: qsort
      Src: /src/ndpi/example/ndpiReader.c:3462,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiReader.c:3467,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiReader.c:3469,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3472,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - stats
    argTypes:
    - struct port_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3480
      start: 3452
    functionDepth: 1
    functionLinenumber: 3452
    functionLinenumberEnd: 3480
    functionName: printPortStats
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - printf
    - inet_ntop
    - qsort
    linkageType: ''
    returnType: void
    signature: void printPortStats(struct port_stats *stats)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3459,1
    - Dst: qsort
      Src: /src/ndpi/example/ndpiReader.c:3462,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiReader.c:3467,1
    - Dst: inet_ntop
      Src: /src/ndpi/example/ndpiReader.c:3469,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3472,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3479
      start: 3457
    functionDepth: 1
    functionLinenumber: 3457
    functionLinenumberEnd: 3479
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 7
    functionsReached:
    - printf
    - inet_ntop
    - qsort
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, stats, s, tmp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_ISSET_BIT
      Src: /src/ndpi/example/ndpiReader.c:3499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - node
    - which
    - depth
    - user_data
    argTypes:
    - void*
    - ndpi_VISIT
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3504
      start: 3484
    functionDepth: 1
    functionLinenumber: 3484
    functionLinenumberEnd: 3504
    functionName: node_flow_risk_walker
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - NDPI_ISSET_BIT
    linkageType: ''
    returnType: void
    signature: void node_flow_risk_walker(const void *node, ndpi_VISIT which, int
      depth, void *user_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_twalk
      Src: /src/ndpi/example/ndpiReader.c:3514,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3519,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3527,1
    - Dst: ndpi_risk2str
      Src: /src/ndpi/example/ndpiReader.c:3527,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3531,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3536
      start: 3508
    functionDepth: 3
    functionLinenumber: 3508
    functionLinenumberEnd: 3536
    functionName: printRiskStats
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_twalk
    - ndpi_risk2str
    - printf
    linkageType: ''
    returnType: void
    signature: void printRiskStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3546
      start: 3541
    functionDepth: 0
    functionLinenumber: 3541
    functionLinenumberEnd: 3546
    functionName: hash_stats_sort_to_order
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hash_stats_sort_to_order(void *_a, void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3556
      start: 3551
    functionDepth: 0
    functionLinenumber: 3551
    functionLinenumberEnd: 3556
    functionName: hash_stats_sort_to_print
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hash_stats_sort_to_print(void *_a, void *_b)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_report_payload_stats
      Src: /src/ndpi/example/ndpiReader.c:3566,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3571,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3572,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:3573,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3588,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/example/ndpiReader.c:3593,1
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/ndpiReader.c:3608,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3613,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3620,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/ndpi/example/ndpiReader.c:3624,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:3625,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:3627,1
    - Dst: HASH_FIND_STR
      Src: /src/ndpi/example/ndpiReader.c:3632,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3636,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/ndpi/example/ndpiReader.c:3639,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:3640,1
    - Dst: HASH_FIND_STR
      Src: /src/ndpi/example/ndpiReader.c:3645,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3647,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3653,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:3658,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/ndpi/example/ndpiReader.c:3659,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:3659,1
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/ndpiReader.c:3663,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3665,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:3669,1
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/ndpiReader.c:3676,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3679,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3686,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/ndpi/example/ndpiReader.c:3690,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:3691,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:3693,1
    - Dst: HASH_FIND_STR
      Src: /src/ndpi/example/ndpiReader.c:3697,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3700,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/ndpi/example/ndpiReader.c:3703,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:3704,1
    - Dst: HASH_FIND_STR
      Src: /src/ndpi/example/ndpiReader.c:3708,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3710,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3716,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:3721,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/ndpi/example/ndpiReader.c:3722,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:3722,1
    - Dst: HASH_FIND_INT
      Src: /src/ndpi/example/ndpiReader.c:3727,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3729,1
    - Dst: HASH_ADD_INT
      Src: /src/ndpi/example/ndpiReader.c:3733,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3749,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3750,1
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/ndpiReader.c:3754,1
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/ndpiReader.c:3755,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3758,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3778,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3779,1
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/ndpiReader.c:3786,1
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/ndpiReader.c:3787,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3790,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3791,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3795,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3803,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3804,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3809,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3821,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3822,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3825,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3827,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3831,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3833,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3838,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3839,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3841,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3848,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3850,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3854,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3856,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3864,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3865,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3867,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3876,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3880,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3882,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3883,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3885,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3887,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3888,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3890,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3891,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3895,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3897,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3898,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3900,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3901,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3906,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3908,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3909,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3911,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3912,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:3931,1
    - Dst: ndpi_max
      Src: /src/ndpi/example/ndpiReader.c:3932,1
    - Dst: HASH_FIND_STR
      Src: /src/ndpi/example/ndpiReader.c:3935,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3938,1
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/ndpiReader.c:3941,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3946,1
    - Dst: free
      Src: /src/ndpi/example/ndpiReader.c:3947,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/ndpi/example/ndpiReader.c:3953,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:3953,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:3959,1
    - Dst: ndpi_max
      Src: /src/ndpi/example/ndpiReader.c:3960,1
    - Dst: HASH_FIND_STR
      Src: /src/ndpi/example/ndpiReader.c:3963,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:3966,1
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/ndpiReader.c:3971,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3976,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3977,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/ndpi/example/ndpiReader.c:3982,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:3982,1
    - Dst: HASH_SORT
      Src: /src/ndpi/example/ndpiReader.c:3988,1
    - Dst: HASH_SORT
      Src: /src/ndpi/example/ndpiReader.c:3992,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3998,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:4000,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4002,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4003,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4005,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:4009,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:4010,1
    - Dst: qsort
      Src: /src/ndpi/example/ndpiReader.c:4017,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:4021,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:4022,1
    - Dst: ndpi_normalize_protocol
      Src: /src/ndpi/example/ndpiReader.c:4028,1
    - Dst: memcpy
      Src: /src/ndpi/example/ndpiReader.c:4070,1
    - Dst: ndpi_normalize_bin
      Src: /src/ndpi/example/ndpiReader.c:4071,1
    - Dst: printFlow
      Src: /src/ndpi/example/ndpiReader.c:4078,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:4087,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/example/ndpiReader.c:4089,1
    - Dst: ndpi_cluster_bins
      Src: /src/ndpi/example/ndpiReader.c:4092,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4094,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4108,1
    - Dst: print_bin
      Src: /src/ndpi/example/ndpiReader.c:4109,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4110,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4113,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:4115,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:4118,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:4120,1
    - Dst: print_bin
      Src: /src/ndpi/example/ndpiReader.c:4122,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4123,1
    - Dst: ndpi_bin_similarity
      Src: /src/ndpi/example/ndpiReader.c:4124,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4127,1
    - Dst: check_bin_doh_similarity
      Src: /src/ndpi/example/ndpiReader.c:4136,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4137,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4139,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4142,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4146,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4152,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4153,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/example/ndpiReader.c:4158,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:4160,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:4164,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:4166,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4172,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/example/ndpiReader.c:4183,1
    - Dst: qsort
      Src: /src/ndpi/example/ndpiReader.c:4188,1
    - Dst: printFlow
      Src: /src/ndpi/example/ndpiReader.c:4191,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/example/ndpiReader.c:4198,1
    - Dst: printFlow
      Src: /src/ndpi/example/ndpiReader.c:4203,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/example/ndpiReader.c:4214,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/example/ndpiReader.c:4216,1
    - Dst: printFlowSerialized
      Src: /src/ndpi/example/ndpiReader.c:4222,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:4225,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 375
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4226
      start: 3560
    functionDepth: 10
    functionLinenumber: 3560
    functionLinenumberEnd: 4226
    functionName: printFlowsStats
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - print_cipher
    - ndpi_twalk
    - HASH_FIND_STR
    - ndpi_bin_similarity
    - HASH_ADD_KEYPTR
    - HASH_ADD_INT
    - ndpi_max
    - ndpi_cluster_bins
    - strlen
    - ndpi_report_payload_stats
    - print_bin
    - ndpi_free
    - printf
    - ndpi_free_bin
    - fprintf
    - ndpi_normalize_bin
    - ndpi_init_bin
    - ndpi_malloc
    - HASH_ITER
    - ndpi_protocol2name
    - printFlowSerialized
    - qsort
    - exit
    - check_bin_doh_similarity
    - HASH_FIND_INT
    - printFlow
    - HASH_COUNT
    - HASH_DEL
    - free
    - ndpi_normalize_protocol
    - ntohs
    - HASH_SORT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void printFlowsStats()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/ndpiReader.c:3786,1
    - Dst: HASH_COUNT
      Src: /src/ndpi/example/ndpiReader.c:3787,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3790,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3791,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3795,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3803,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3804,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3817
      start: 3785
    functionDepth: 1
    functionLinenumber: 3785
    functionLinenumberEnd: 3817
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 9
    functionsReached:
    - print_cipher
    - HASH_ITER
    - HASH_COUNT
    - fprintf
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, jaByHostsHashT, jaByHost_element, tmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3825,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3827,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3831,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3833,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3838,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3839,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3823
    functionDepth: 1
    functionLinenumber: 3823
    functionLinenumberEnd: 3845
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 10
    functionsReached:
    - HASH_ITER
    - print_cipher
    - fprintf
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, hostByJA4C_ht, hostByJAElement, tmp3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3848,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3850,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3854,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3856,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3864,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:3865,1
    - Dst: print_cipher
      Src: /src/ndpi/example/ndpiReader.c:3867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3874
      start: 3846
    functionDepth: 1
    functionLinenumber: 3846
    functionLinenumberEnd: 3874
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 11
    functionsReached:
    - HASH_ITER
    - print_cipher
    - fprintf
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, hostByJA3S_ht, hostByJAElement, tmp3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3880,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3882,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3883,1
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3885,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3887,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3888,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3890,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3892
      start: 3879
    functionDepth: 1
    functionLinenumber: 3879
    functionLinenumberEnd: 3892
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 12
    functionsReached:
    - HASH_ITER
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, jaByHostsHashT, jaByHost_element, tmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3895,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3897,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3898,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3900,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3902
      start: 3894
    functionDepth: 1
    functionLinenumber: 3894
    functionLinenumberEnd: 3902
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 13
    functionsReached:
    - HASH_ITER
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, hostByJA4C_ht, hostByJAElement, tmp3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/ndpi/example/ndpiReader.c:3906,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3908,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3909,1
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3911,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3913
      start: 3905
    functionDepth: 1
    functionLinenumber: 3905
    functionLinenumberEnd: 3913
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 14
    functionsReached:
    - HASH_ITER
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, hostByJA3S_ht, hostByJAElement, tmp3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3946,1
    - Dst: free
      Src: /src/ndpi/example/ndpiReader.c:3947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3949
      start: 3945
    functionDepth: 1
    functionLinenumber: 3945
    functionLinenumberEnd: 3949
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 14
    functionsReached:
    - free
    - HASH_DEL
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, hostsHashT, host_iter, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:3976,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:3977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3979
      start: 3975
    functionDepth: 1
    functionLinenumber: 3975
    functionLinenumberEnd: 3979
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 14
    functionsReached:
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, hostsHashT, host_iter, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:3998,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:4000,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4002,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 3996
    functionDepth: 1
    functionLinenumber: 3996
    functionLinenumberEnd: 4004
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 14
    functionsReached:
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, hostsHashT, host_iter, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DEL
      Src: /src/ndpi/example/ndpiReader.c:4009,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:4010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4011
      start: 4008
    functionDepth: 1
    functionLinenumber: 4008
    functionLinenumberEnd: 4011
    functionName: HASH_ITER
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 14
    functionsReached:
    - HASH_DEL
    - ndpi_free
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, hostsHashT, host_iter, tmp)
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_get_num_protocols
      Src: /src/ndpi/example/ndpiReader.c:4241,1
    - Dst: ndpi_stats_init
      Src: /src/ndpi/example/ndpiReader.c:4242,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/example/ndpiReader.c:4254,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/example/ndpiReader.c:4256,1
    - Dst: snprintf
      Src: /src/ndpi/example/ndpiReader.c:4322,1
    - Dst: ndpi_lru_cache_idx_to_name
      Src: /src/ndpi/example/ndpiReader.c:4322,1
    - Dst: ndpi_get_config
      Src: /src/ndpi/example/ndpiReader.c:4323,1
    - Dst: atoi
      Src: /src/ndpi/example/ndpiReader.c:4324,1
    - Dst: ndpi_get_lru_cache_stats
      Src: /src/ndpi/example/ndpiReader.c:4327,1
    - Dst: ndpi_get_automa_stats
      Src: /src/ndpi/example/ndpiReader.c:4339,1
    - Dst: ndpi_get_patricia_stats
      Src: /src/ndpi/example/ndpiReader.c:4347,1
    - Dst: ndpi_get_hash_stats
      Src: /src/ndpi/example/ndpiReader.c:4355,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4365,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4366,1
    - Dst: formatBytes
      Src: /src/ndpi/example/ndpiReader.c:4366,1
    - Dst: ndpi_get_ndpi_detection_module_size
      Src: /src/ndpi/example/ndpiReader.c:4366,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4367,1
    - Dst: formatBytes
      Src: /src/ndpi/example/ndpiReader.c:4367,1
    - Dst: ndpi_detection_get_sizeof_ndpi_flow_struct
      Src: /src/ndpi/example/ndpiReader.c:4367,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4368,1
    - Dst: formatBytes
      Src: /src/ndpi/example/ndpiReader.c:4368,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4369,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4370,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4372,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4373,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4375,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4377,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4385,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4387,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4388,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4389,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4390,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4391,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4392,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4393,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4394,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4395,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4396,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4397,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4398,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4399,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4400,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4412,1
    - Dst: formatPackets
      Src: /src/ndpi/example/ndpiReader.c:4412,1
    - Dst: formatTraffic
      Src: /src/ndpi/example/ndpiReader.c:4412,1
    - Dst: localtime
      Src: /src/ndpi/example/ndpiReader.c:4423,1
    - Dst: localtime_r
      Src: /src/ndpi/example/ndpiReader.c:4426,1
    - Dst: strftime
      Src: /src/ndpi/example/ndpiReader.c:4428,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4429,1
    - Dst: localtime
      Src: /src/ndpi/example/ndpiReader.c:4433,1
    - Dst: localtime_r
      Src: /src/ndpi/example/ndpiReader.c:4436,1
    - Dst: strftime
      Src: /src/ndpi/example/ndpiReader.c:4438,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4439,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4440,1
    - Dst: formatPackets
      Src: /src/ndpi/example/ndpiReader.c:4440,1
    - Dst: formatTraffic
      Src: /src/ndpi/example/ndpiReader.c:4440,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4441,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4445,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4448,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4452,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4456,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4462,1
    - Dst: ndpi_confidence_get_name
      Src: /src/ndpi/example/ndpiReader.c:4462,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4469,1
    - Dst: ndpi_fpc_confidence_get_name
      Src: /src/ndpi/example/ndpiReader.c:4469,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4478,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4482,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4486,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4490,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4494,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4498,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4502,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4506,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4511,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4514,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4517,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4520,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4523,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4527,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4530,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4533,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4536,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4539,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4542,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4546,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4549,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4552,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4555,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4558,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4561,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4564,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4569,1
    - Dst: ndpi_print_bin
      Src: /src/ndpi/example/ndpiReader.c:4569,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4575,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4578,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4582,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4586,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4592,1
    - Dst: ndpi_confidence_get_name
      Src: /src/ndpi/example/ndpiReader.c:4593,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4600,1
    - Dst: ndpi_fpc_confidence_get_name
      Src: /src/ndpi/example/ndpiReader.c:4601,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4610,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4614,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4618,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4622,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4626,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4630,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4634,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4638,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4643,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4646,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4649,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4652,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4655,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4659,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4662,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4665,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4668,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4671,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4674,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4678,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4681,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4684,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4687,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4690,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4693,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4696,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4701,1
    - Dst: ndpi_print_bin
      Src: /src/ndpi/example/ndpiReader.c:4701,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4704,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4707,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4714,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiReader.c:4715,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/example/ndpiReader.c:4716,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4721,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4728,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4730,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4734,1
    - Dst: ndpi_get_proto_name
      Src: /src/ndpi/example/ndpiReader.c:4736,1
    - Dst: ndpi_map_ndpi_id_to_user_proto_id
      Src: /src/ndpi/example/ndpiReader.c:4737,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4742,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4750,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4752,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4757,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4761,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4765,1
    - Dst: ndpi_get_proto_breed_name
      Src: /src/ndpi/example/ndpiReader.c:4767,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4775,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4778,1
    - Dst: ndpi_get_proto_breed_name
      Src: /src/ndpi/example/ndpiReader.c:4779,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4788,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4792,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/example/ndpiReader.c:4794,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4802,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:4805,1
    - Dst: ndpi_category_get_name
      Src: /src/ndpi/example/ndpiReader.c:4806,1
    - Dst: printRiskStats
      Src: /src/ndpi/example/ndpiReader.c:4814,1
    - Dst: printFlowsStats
      Src: /src/ndpi/example/ndpiReader.c:4815,1
    - Dst: HASH_SORT
      Src: /src/ndpi/example/ndpiReader.c:4818,1
    - Dst: HASH_SORT
      Src: /src/ndpi/example/ndpiReader.c:4819,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4823,1
    - Dst: printPortStats
      Src: /src/ndpi/example/ndpiReader.c:4824,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4826,1
    - Dst: printPortStats
      Src: /src/ndpi/example/ndpiReader.c:4827,1
    - Dst: deleteScanners
      Src: /src/ndpi/example/ndpiReader.c:4832,1
    - Dst: deleteReceivers
      Src: /src/ndpi/example/ndpiReader.c:4837,1
    - Dst: deleteReceivers
      Src: /src/ndpi/example/ndpiReader.c:4842,1
    - Dst: deletePortsStats
      Src: /src/ndpi/example/ndpiReader.c:4847,1
    - Dst: deletePortsStats
      Src: /src/ndpi/example/ndpiReader.c:4852,1
    - Dst: ndpi_stats_reset
      Src: /src/ndpi/example/ndpiReader.c:4856,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 341
    argCount: 2
    argNames:
    - processing_time_usec
    - setup_time_usec
    argTypes:
    - u_int64_t
    - u_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4857
      start: 4233
    functionDepth: 11
    functionLinenumber: 4233
    functionLinenumberEnd: 4857
    functionName: printResults
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_get_num_protocols
    - ndpi_twalk
    - ndpi_map_ndpi_id_to_user_proto_id
    - printRiskStats
    - printFlowsStats
    - ndpi_confidence_get_name
    - ndpi_stats_init
    - ndpi_fpc_confidence_get_name
    - ndpi_detection_get_sizeof_ndpi_flow_struct
    - printPortStats
    - deleteScanners
    - formatTraffic
    - deleteReceivers
    - printf
    - fprintf
    - ndpi_get_proto_breed_name
    - strftime
    - ndpi_get_config
    - ndpi_get_hash_stats
    - formatBytes
    - snprintf
    - ndpi_get_ndpi_detection_module_size
    - localtime_r
    - deletePortsStats
    - localtime
    - ndpi_get_patricia_stats
    - ndpi_get_proto_name
    - ndpi_get_automa_stats
    - ndpi_stats_reset
    - formatPackets
    - ndpi_get_lru_cache_stats
    - ndpi_category_get_name
    - atoi
    - ndpi_print_bin
    - ndpi_lru_cache_idx_to_name
    - HASH_SORT
    linkageType: ''
    returnType: void
    signature: void printResults(u_int64_t processing_time_usec, u_int64_t setup_time_usec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_breakloop
      Src: /src/ndpi/example/ndpiReader.c:4867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - thread_id
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4870
      start: 4862
    functionDepth: 0
    functionLinenumber: 4862
    functionLinenumberEnd: 4870
    functionName: breakPcapLoop
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - pcap_breakloop
    linkageType: ''
    returnType: void
    signature: void breakPcapLoop(u_int16_t thread_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: breakPcapLoop
      Src: /src/ndpi/example/ndpiReader.c:4886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4887
      start: 4875
    functionDepth: 1
    functionLinenumber: 4875
    functionLinenumberEnd: 4887
    functionName: sigproc
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - breakPcapLoop
    linkageType: ''
    returnType: void
    signature: void sigproc(int sig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/example/ndpiReader.c:4898,1
    - Dst: fgets
      Src: /src/ndpi/example/ndpiReader.c:4903,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:4904,1
    - Dst: fclose
      Src: /src/ndpi/example/ndpiReader.c:4909,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - thread_id
    - filename
    - filename_len
    argTypes:
    - u_int16_t
    - char[]
    - u_int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4913
      start: 4895
    functionDepth: 0
    functionLinenumber: 4895
    functionLinenumberEnd: 4913
    functionName: getNextPcapFileFromPlaylist
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - fopen
    - strlen
    - fclose
    - fgets
    linkageType: ''
    returnType: int
    signature: int getNextPcapFileFromPlaylist(u_int16_t thread_id, char filename[],
      u_int32_t filename_len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcap_compile
      Src: /src/ndpi/example/ndpiReader.c:4924,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4925,1
    - Dst: pcap_geterr
      Src: /src/ndpi/example/ndpiReader.c:4925,1
    - Dst: pcap_setfilter
      Src: /src/ndpi/example/ndpiReader.c:4931,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4932,1
    - Dst: pcap_geterr
      Src: /src/ndpi/example/ndpiReader.c:4932,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4934,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pcap_handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4937
      start: 4918
    functionDepth: 1
    functionLinenumber: 4918
    functionLinenumberEnd: 4937
    functionName: configurePcapHandle
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - printf
    - pcap_compile
    - pcap_geterr
    - pcap_setfilter
    linkageType: ''
    returnType: void
    signature: void configurePcapHandle(pcap_t * pcap_handle)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rte_pktmbuf_pool_create
      Src: /src/ndpi/example/ndpiReader.c:4954,1
    - Dst: rte_socket_id
      Src: /src/ndpi/example/ndpiReader.c:4957,1
    - Dst: rte_exit
      Src: /src/ndpi/example/ndpiReader.c:4960,1
    - Dst: dpdk_port_init
      Src: /src/ndpi/example/ndpiReader.c:4962,1
    - Dst: rte_exit
      Src: /src/ndpi/example/ndpiReader.c:4963,1
    - Dst: pcap_open_live
      Src: /src/ndpi/example/ndpiReader.c:4966,1
    - Dst: pcap_open_offline
      Src: /src/ndpi/example/ndpiReader.c:4974,1
    - Dst: strstr
      Src: /src/ndpi/example/ndpiReader.c:4977,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4978,1
    - Dst: getNextPcapFileFromPlaylist
      Src: /src/ndpi/example/ndpiReader.c:4981,1
    - Dst: pcap_open_offline
      Src: /src/ndpi/example/ndpiReader.c:4982,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4984,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:4985,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4988,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4992,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:4999,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5001,1
    - Dst: configurePcapHandle
      Src: /src/ndpi/example/ndpiReader.c:5006,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5011,1
    - Dst: alarm
      Src: /src/ndpi/example/ndpiReader.c:5014,1
    - Dst: signal
      Src: /src/ndpi/example/ndpiReader.c:5015,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - thread_id
    - pcap_file
    argTypes:
    - u_int16_t
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5020
      start: 4944
    functionDepth: 2
    functionLinenumber: 4944
    functionLinenumberEnd: 5020
    functionName: openPcapFileOrDevice
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - getNextPcapFileFromPlaylist
    - rte_socket_id
    - exit
    - dpdk_port_init
    - configurePcapHandle
    - signal
    - pcap_open_offline
    - pcap_open_live
    - alarm
    - rte_exit
    - strstr
    - printf
    - rte_pktmbuf_pool_create
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t * openPcapFileOrDevice(u_int16_t thread_id, const u_char * pcap_file)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:5034,1
    - Dst: memcpy
      Src: /src/ndpi/example/ndpiReader.c:5040,1
    - Dst: ndpi_workflow_process_packet
      Src: /src/ndpi/example/ndpiReader.c:5041,1
    - Dst: ndpi_twalk
      Src: /src/ndpi/example/ndpiReader.c:5050,1
    - Dst: ndpi_tdelete
      Src: /src/ndpi/example/ndpiReader.c:5056,1
    - Dst: ndpi_free_flow_info_half
      Src: /src/ndpi/example/ndpiReader.c:5061,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:5062,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5073,1
    - Dst: memcpy
      Src: /src/ndpi/example/ndpiReader.c:5087,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5093,1
    - Dst: memcpy
      Src: /src/ndpi/example/ndpiReader.c:5098,1
    - Dst: memset
      Src: /src/ndpi/example/ndpiReader.c:5099,1
    - Dst: htonl
      Src: /src/ndpi/example/ndpiReader.c:5100,1
    - Dst: htonl64
      Src: /src/ndpi/example/ndpiReader.c:5107,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:5108,1
    - Dst: ndpi_risk2score
      Src: /src/ndpi/example/ndpiReader.c:5108,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:5109,1
    - Dst: strncpy
      Src: /src/ndpi/example/ndpiReader.c:5111,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:5114,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:5114,1
    - Dst: ndpi_protocol2name
      Src: /src/ndpi/example/ndpiReader.c:5115,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:5122,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:5127,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:5128,1
    - Dst: memcpy
      Src: /src/ndpi/example/ndpiReader.c:5129,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:5131,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:5135,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:5136,1
    - Dst: memcpy
      Src: /src/ndpi/example/ndpiReader.c:5137,1
    - Dst: htons
      Src: /src/ndpi/example/ndpiReader.c:5139,1
    - Dst: ntohs
      Src: /src/ndpi/example/ndpiReader.c:5149,1
    - Dst: ndpi_crc32
      Src: /src/ndpi/example/ndpiReader.c:5154,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5159,1
    - Dst: pcap_dump
      Src: /src/ndpi/example/ndpiReader.c:5162,1
    - Dst: pcap_dump_flush
      Src: /src/ndpi/example/ndpiReader.c:5163,1
    - Dst: memcmp
      Src: /src/ndpi/example/ndpiReader.c:5167,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5168,1
    - Dst: gettimeofday
      Src: /src/ndpi/example/ndpiReader.c:5175,1
    - Dst: printResults
      Src: /src/ndpi/example/ndpiReader.c:5179,1
    - Dst: ndpi_tdestroy
      Src: /src/ndpi/example/ndpiReader.c:5182,1
    - Dst: ndpi_stats_reset
      Src: /src/ndpi/example/ndpiReader.c:5185,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5188,1
    - Dst: memcpy
      Src: /src/ndpi/example/ndpiReader.c:5190,1
    - Dst: memcpy
      Src: /src/ndpi/example/ndpiReader.c:5191,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:5199,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 102
    argCount: 3
    argNames:
    - args
    - header
    - packet
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5202
      start: 5025
    functionDepth: 12
    functionLinenumber: 5025
    functionLinenumberEnd: 5202
    functionName: ndpi_process_packet
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_tdelete
    - ndpi_twalk
    - ndpi_risk2score
    - printResults
    - htonl
    - gettimeofday
    - ndpi_free_flow_info_half
    - strncpy
    - ndpi_free
    - ndpi_workflow_process_packet
    - printf
    - fprintf
    - ndpi_tdestroy
    - pcap_dump
    - htonl64
    - ndpi_malloc
    - htons
    - ndpi_protocol2name
    - memset
    - pcap_dump_flush
    - ndpi_stats_reset
    - ndpi_crc32
    - memcmp
    - ntohs
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void ndpi_process_packet(u_char *args,\n\t\t\t\tconst struct pcap_pkthdr
      *header,\n\t\t\t\tconst u_char *packet)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcap_datalink
      Src: /src/ndpi/example/ndpiReader.c:5210,1
    - Dst: extcap_capture
      Src: /src/ndpi/example/ndpiReader.c:5217,1
    - Dst: ndpi_is_datalink_supported
      Src: /src/ndpi/example/ndpiReader.c:5222,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5223,1
    - Dst: pcap_loop
      Src: /src/ndpi/example/ndpiReader.c:5226,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5228,1
    - Dst: pcap_geterr
      Src: /src/ndpi/example/ndpiReader.c:5228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - thread_id
    argTypes:
    - u_int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5230
      start: 5208
    functionDepth: 2
    functionLinenumber: 5208
    functionLinenumberEnd: 5230
    functionName: runPcapLoop
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - pcap_loop
    - pcap_datalink
    - pcap_geterr
    - printf
    - extcap_capture
    - ndpi_is_datalink_supported
    linkageType: ''
    returnType: void
    signature: void runPcapLoop(u_int16_t thread_id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO
      Src: /src/ndpi/example/ndpiReader.c:5250,1
    - Dst: CPU_SET
      Src: /src/ndpi/example/ndpiReader.c:5251,1
    - Dst: pthread_setaffinity_np
      Src: /src/ndpi/example/ndpiReader.c:5253,1
    - Dst: pthread_self
      Src: /src/ndpi/example/ndpiReader.c:5253,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5254,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5256,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5262,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5264,1
    - Dst: rte_eth_rx_burst
      Src: /src/ndpi/example/ndpiReader.c:5271,1
    - Dst: usleep
      Src: /src/ndpi/example/ndpiReader.c:5275,1
    - Dst: rte_prefetch0
      Src: /src/ndpi/example/ndpiReader.c:5280,1
    - Dst: rte_pktmbuf_mtod
      Src: /src/ndpi/example/ndpiReader.c:5280,1
    - Dst: rte_pktmbuf_mtod
      Src: /src/ndpi/example/ndpiReader.c:5283,1
    - Dst: rte_pktmbuf_pkt_len
      Src: /src/ndpi/example/ndpiReader.c:5284,1
    - Dst: gettimeofday
      Src: /src/ndpi/example/ndpiReader.c:5288,1
    - Dst: ndpi_process_packet
      Src: /src/ndpi/example/ndpiReader.c:5290,1
    - Dst: rte_pktmbuf_free
      Src: /src/ndpi/example/ndpiReader.c:5291,1
    - Dst: runPcapLoop
      Src: /src/ndpi/example/ndpiReader.c:5296,1
    - Dst: pcap_close
      Src: /src/ndpi/example/ndpiReader.c:5299,1
    - Dst: getNextPcapFileFromPlaylist
      Src: /src/ndpi/example/ndpiReader.c:5306,1
    - Dst: pcap_open_offline
      Src: /src/ndpi/example/ndpiReader.c:5307,1
    - Dst: configurePcapHandle
      Src: /src/ndpi/example/ndpiReader.c:5308,1
    - Dst: pcap_freecode
      Src: /src/ndpi/example/ndpiReader.c:5314,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 1
    argNames:
    - _thread_id
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5319
      start: 5236
    functionDepth: 3
    functionLinenumber: 5236
    functionLinenumberEnd: 5319
    functionName: processing_thread
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - CPU_ZERO
    - pthread_setaffinity_np
    - rte_pktmbuf_mtod
    - pcap_open_offline
    - pcap_freecode
    - CPU_SET
    - ndpi_process_packet
    - pthread_self
    - rte_pktmbuf_free
    - printf
    - fprintf
    - rte_prefetch0
    - usleep
    - getNextPcapFileFromPlaylist
    - configurePcapHandle
    - runPcapLoop
    - pcap_close
    - rte_pktmbuf_pkt_len
    - rte_eth_rx_burst
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void * processing_thread(void *_thread_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: set_ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:5335,1
    - Dst: set_ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:5335,1
    - Dst: set_ndpi_flow_malloc
      Src: /src/ndpi/example/ndpiReader.c:5336,1
    - Dst: set_ndpi_flow_free
      Src: /src/ndpi/example/ndpiReader.c:5336,1
    - Dst: ndpi_global_init
      Src: /src/ndpi/example/ndpiReader.c:5343,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5345,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:5346,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5351,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5358,1
    - Dst: openPcapFileOrDevice
      Src: /src/ndpi/example/ndpiReader.c:5361,1
    - Dst: setupDetection
      Src: /src/ndpi/example/ndpiReader.c:5362,1
    - Dst: gettimeofday
      Src: /src/ndpi/example/ndpiReader.c:5365,1
    - Dst: pthread_create
      Src: /src/ndpi/example/ndpiReader.c:5372,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5376,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5378,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:5380,1
    - Dst: pthread_join
      Src: /src/ndpi/example/ndpiReader.c:5385,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5389,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5391,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:5393,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5397,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5399,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:5401,1
    - Dst: dpdk_port_deinit
      Src: /src/ndpi/example/ndpiReader.c:5406,1
    - Dst: gettimeofday
      Src: /src/ndpi/example/ndpiReader.c:5409,1
    - Dst: printResults
      Src: /src/ndpi/example/ndpiReader.c:5414,1
    - Dst: pcap_close
      Src: /src/ndpi/example/ndpiReader.c:5418,1
    - Dst: terminateDetection
      Src: /src/ndpi/example/ndpiReader.c:5420,1
    - Dst: ndpi_global_deinit
      Src: /src/ndpi/example/ndpiReader.c:5423,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5424
      start: 5326
    functionDepth: 12
    functionLinenumber: 5326
    functionLinenumberEnd: 5424
    functionName: test_lib
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - exit
    - terminateDetection
    - set_ndpi_free
    - ndpi_global_deinit
    - ndpi_global_init
    - set_ndpi_flow_free
    - set_ndpi_flow_malloc
    - setupDetection
    - printResults
    - pthread_join
    - pcap_close
    - fprintf
    - dpdk_port_deinit
    - gettimeofday
    - openPcapFileOrDevice
    - set_ndpi_malloc
    - pthread_create
    linkageType: ''
    returnType: void
    signature: void test_lib()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/ndpi/example/ndpiReader.c:5438,1
    - Dst: time
      Src: /src/ndpi/example/ndpiReader.c:5438,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5440,1
    - Dst: ndpi_malloc
      Src: /src/ndpi/example/ndpiReader.c:5440,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/example/ndpiReader.c:5443,1
    - Dst: ndpi_set_bin
      Src: /src/ndpi/example/ndpiReader.c:5446,1
    - Dst: rand
      Src: /src/ndpi/example/ndpiReader.c:5446,1
    - Dst: ndpi_normalize_bin
      Src: /src/ndpi/example/ndpiReader.c:5448,1
    - Dst: ndpi_cluster_bins
      Src: /src/ndpi/example/ndpiReader.c:5451,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5454,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5459,1
    - Dst: ndpi_print_bin
      Src: /src/ndpi/example/ndpiReader.c:5460,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/example/ndpiReader.c:5467,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:5469,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/example/ndpiReader.c:5473,1
    - Dst: ndpi_init_bin
      Src: /src/ndpi/example/ndpiReader.c:5474,1
    - Dst: ndpi_set_bin
      Src: /src/ndpi/example/ndpiReader.c:5476,1
    - Dst: ndpi_set_bin
      Src: /src/ndpi/example/ndpiReader.c:5477,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5479,1
    - Dst: ndpi_bin_similarity
      Src: /src/ndpi/example/ndpiReader.c:5479,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/example/ndpiReader.c:5481,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/example/ndpiReader.c:5481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: ((bins = (struct ndpi_bin*)ndpi_malloc(sizeof(struct ndpi_bin)*num_bins))
        != NULL)
      pos:
        line_end: 5439
        line_start: 5439
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 5484
      start: 5429
    functionDepth: 3
    functionLinenumber: 5429
    functionLinenumberEnd: 5484
    functionName: binUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_cluster_bins
    - ndpi_normalize_bin
    - ndpi_free_bin
    - time
    - assert
    - ndpi_init_bin
    - ndpi_malloc
    - ndpi_set_bin
    - ndpi_print_bin
    - ndpi_free
    - printf
    - ndpi_bin_similarity
    - srand
    - rand
    linkageType: ''
    returnType: void
    signature: void binUnitTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:5540,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5542,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5544,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiReader.c:5544,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5547,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5548,1
    - Dst: ndpi_check_dga_name
      Src: /src/ndpi/example/ndpiReader.c:5548,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5552,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5553,1
    - Dst: ndpi_check_dga_name
      Src: /src/ndpi/example/ndpiReader.c:5553,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:5556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_finalize_initialization(ndpi_str) ==0)
      pos:
        line_end: 5543
        line_start: 5543
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_str != NULL)
      pos:
        line_end: 5541
        line_start: 5541
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_check_dga_name(ndpi_str, NULL, (char*)non_dga[i], 1, 1, 0)
        == 0)
      pos:
        line_end: 5547
        line_start: 5547
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_check_dga_name(ndpi_str, NULL, (char*)dga[i], 1, 1, 0) == 1)
      pos:
        line_end: 5552
        line_start: 5552
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 5557
      start: 5491
    functionDepth: 6
    functionLinenumber: 5491
    functionLinenumberEnd: 5557
    functionName: dgaUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_init_detection_module
    - assert
    - ndpi_exit_detection_module
    - ndpi_check_dga_name
    - printf
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: void
    signature: void dgaUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5566,1
    - Dst: ndpi_hll_init
      Src: /src/ndpi/example/ndpiReader.c:5566,1
    - Dst: ndpi_hll_add_number
      Src: /src/ndpi/example/ndpiReader.c:5569,1
    - Dst: ndpi_hll_destroy
      Src: /src/ndpi/example/ndpiReader.c:5573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_hll_init(&h, bits) == 0)
      pos:
        line_end: 5565
        line_start: 5565
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 5574
      start: 5561
    functionDepth: 2
    functionLinenumber: 5561
    functionLinenumberEnd: 5574
    functionName: hllUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_hll_init
    - ndpi_hll_add_number
    - ndpi_hll_destroy
    linkageType: ''
    returnType: void
    signature: void hllUnitTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_ZERO_BIT
      Src: /src/ndpi/example/ndpiReader.c:5584,1
    - Dst: NDPI_SET_BIT
      Src: /src/ndpi/example/ndpiReader.c:5585,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5587,1
    - Dst: NDPI_ISSET_BIT
      Src: /src/ndpi/example/ndpiReader.c:5587,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5591,1
    - Dst: NDPI_ISSET_BIT
      Src: /src/ndpi/example/ndpiReader.c:5591,1
    - Dst: NDPI_ZERO_BIT
      Src: /src/ndpi/example/ndpiReader.c:5598,1
    - Dst: NDPI_SET_BIT
      Src: /src/ndpi/example/ndpiReader.c:5599,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5601,1
    - Dst: NDPI_ISSET_BIT
      Src: /src/ndpi/example/ndpiReader.c:5601,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5605,1
    - Dst: NDPI_ISSET_BIT
      Src: /src/ndpi/example/ndpiReader.c:5605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!NDPI_ISSET_BIT(val, j))
      pos:
        line_end: 5590
        line_start: 5590
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (NDPI_ISSET_BIT(val, i))
      pos:
        line_end: 5586
        line_start: 5586
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (NDPI_ISSET_BIT(val64, i))
      pos:
        line_end: 5600
        line_start: 5600
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (!NDPI_ISSET_BIT(val64, j))
      pos:
        line_end: 5604
        line_start: 5604
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 5609
      start: 5578
    functionDepth: 1
    functionLinenumber: 5578
    functionLinenumberEnd: 5609
    functionName: bitmapUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - NDPI_ISSET_BIT
    - assert
    - NDPI_SET_BIT
    - NDPI_ZERO_BIT
    linkageType: ''
    returnType: void
    signature: void bitmapUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_automa
      Src: /src/ndpi/example/ndpiReader.c:5614,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5616,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5617,1
    - Dst: ndpi_add_string_to_automa
      Src: /src/ndpi/example/ndpiReader.c:5617,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:5617,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5618,1
    - Dst: ndpi_add_string_to_automa
      Src: /src/ndpi/example/ndpiReader.c:5618,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:5618,1
    - Dst: ndpi_finalize_automa
      Src: /src/ndpi/example/ndpiReader.c:5619,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5620,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5620,1
    - Dst: ndpi_free_automa
      Src: /src/ndpi/example/ndpiReader.c:5621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_add_string_to_automa(automa, ndpi_strdup("hello")) == 0)
      pos:
        line_end: 5616
        line_start: 5616
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (automa)
      pos:
        line_end: 5615
        line_start: 5615
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_add_string_to_automa(automa, ndpi_strdup("world")) == 0)
      pos:
        line_end: 5617
        line_start: 5617
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "This is the wonderful world of nDPI")
        == 1)
      pos:
        line_end: 5619
        line_start: 5619
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 5622
      start: 5613
    functionDepth: 3
    functionLinenumber: 5613
    functionLinenumberEnd: 5622
    functionName: automataUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_free_automa
    - ndpi_add_string_to_automa
    - assert
    - ndpi_strdup
    - ndpi_init_automa
    - ndpi_finalize_automa
    - ndpi_match_string
    linkageType: ''
    returnType: void
    signature: void automataUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_automa_domain
      Src: /src/ndpi/example/ndpiReader.c:5627,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5629,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5630,1
    - Dst: ndpi_add_string_to_automa
      Src: /src/ndpi/example/ndpiReader.c:5630,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:5630,1
    - Dst: ndpi_finalize_automa
      Src: /src/ndpi/example/ndpiReader.c:5631,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5632,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5632,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5633,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5633,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5634,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5634,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5635,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5635,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5636,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5636,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5637,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5637,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5638,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5638,1
    - Dst: ndpi_free_automa
      Src: /src/ndpi/example/ndpiReader.c:5639,1
    - Dst: ndpi_init_automa_domain
      Src: /src/ndpi/example/ndpiReader.c:5641,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5642,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5643,1
    - Dst: ndpi_add_string_to_automa
      Src: /src/ndpi/example/ndpiReader.c:5643,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:5643,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5644,1
    - Dst: ndpi_add_string_to_automa
      Src: /src/ndpi/example/ndpiReader.c:5644,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:5644,1
    - Dst: ndpi_finalize_automa
      Src: /src/ndpi/example/ndpiReader.c:5645,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5646,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5646,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5647,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5647,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5648,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5648,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5649,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5649,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5650,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5650,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5651,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5651,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5652,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5652,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5653,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5653,1
    - Dst: ndpi_free_automa
      Src: /src/ndpi/example/ndpiReader.c:5654,1
    - Dst: ndpi_init_automa_domain
      Src: /src/ndpi/example/ndpiReader.c:5656,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5657,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5658,1
    - Dst: ndpi_add_string_to_automa
      Src: /src/ndpi/example/ndpiReader.c:5658,1
    - Dst: ndpi_strdup
      Src: /src/ndpi/example/ndpiReader.c:5658,1
    - Dst: ndpi_finalize_automa
      Src: /src/ndpi/example/ndpiReader.c:5659,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5660,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5660,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5661,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5661,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5662,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5662,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5663,1
    - Dst: ndpi_match_string
      Src: /src/ndpi/example/ndpiReader.c:5663,1
    - Dst: ndpi_free_automa
      Src: /src/ndpi/example/ndpiReader.c:5664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (automa)
      pos:
        line_end: 5628
        line_start: 5628
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "foo.wikipedia.it") == 1)
      pos:
        line_end: 5632
        line_start: 5632
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "foo-wikipedia.it") == 0)
      pos:
        line_end: 5636
        line_start: 5636
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_add_string_to_automa(automa, ndpi_strdup("wikipedia.")) ==
        0)
      pos:
        line_end: 5642
        line_start: 5642
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "foowikipedia") == 0)
      pos:
        line_end: 5648
        line_start: 5648
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "foo-wikipedia.it") == 0)
      pos:
        line_end: 5650
        line_start: 5650
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_add_string_to_automa(automa, ndpi_strdup("-buy.itunes.apple.com"))
        == 0)
      pos:
        line_end: 5657
        line_start: 5657
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "wikipedia.it") == 1)
      pos:
        line_end: 5631
        line_start: 5631
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "-wikipedia.it") == 0)
      pos:
        line_end: 5635
        line_start: 5635
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "foowikipedia.it") == 0)
      pos:
        line_end: 5647
        line_start: 5647
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "wikipedia.it.com") == 1)
      pos:
        line_end: 5652
        line_start: 5652
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "p53buy.itunes.apple.com") == 0)
      pos:
        line_end: 5661
        line_start: 5661
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_add_string_to_automa(automa, ndpi_strdup("wikipedia.it")) ==
        0)
      pos:
        line_end: 5629
        line_start: 5629
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "foowikipedia") == 0)
      pos:
        line_end: 5634
        line_start: 5634
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (automa)
      pos:
        line_end: 5641
        line_start: 5641
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_add_string_to_automa(automa, ndpi_strdup("wikipedia.it."))
        == 0)
      pos:
        line_end: 5643
        line_start: 5643
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "foo.p53-buy.itunes.apple.com") == 1)
      pos:
        line_end: 5662
        line_start: 5662
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "wikipediafoo") == 0)
      pos:
        line_end: 5651
        line_start: 5651
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "foo.wikipedia.it") == 1)
      pos:
        line_end: 5646
        line_start: 5646
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "buy.itunes.apple.com") == 0)
      pos:
        line_end: 5659
        line_start: 5659
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "foowikipedia.it") == 0)
      pos:
        line_end: 5633
        line_start: 5633
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "wikipedia.it.com") == 0)
      pos:
        line_end: 5637
        line_start: 5637
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "wikipedia.it") == 1)
      pos:
        line_end: 5645
        line_start: 5645
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "-wikipedia.it") == 0)
      pos:
        line_end: 5649
        line_start: 5649
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (automa)
      pos:
        line_end: 5656
        line_start: 5656
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_match_string(automa, "p53-buy.itunes.apple.com") == 1)
      pos:
        line_end: 5660
        line_start: 5660
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 5665
      start: 5626
    functionDepth: 3
    functionLinenumber: 5626
    functionLinenumberEnd: 5665
    functionName: automataDomainsUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_free_automa
    - ndpi_add_string_to_automa
    - assert
    - ndpi_strdup
    - ndpi_finalize_automa
    - ndpi_match_string
    - ndpi_init_automa_domain
    linkageType: ''
    returnType: void
    signature: void automataDomainsUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_alloc_data_analysis
      Src: /src/ndpi/example/ndpiReader.c:5674,1
    - Dst: ndpi_data_add_value
      Src: /src/ndpi/example/ndpiReader.c:5678,1
    - Dst: rand
      Src: /src/ndpi/example/ndpiReader.c:5678,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5685,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:5686,1
    - Dst: ndpi_data_window_average
      Src: /src/ndpi/example/ndpiReader.c:5686,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5687,1
    - Dst: ndpi_data_entropy
      Src: /src/ndpi/example/ndpiReader.c:5687,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5689,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:5690,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:5690,1
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/example/ndpiReader.c:5693,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:5696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5698
      start: 5673
    functionDepth: 2
    functionLinenumber: 5673
    functionLinenumberEnd: 5698
    functionName: analyzeUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - exit
    - ndpi_free_data_analysis
    - ndpi_alloc_data_analysis
    - ndpi_data_average
    - ndpi_data_entropy
    - ndpi_data_max
    - ndpi_data_add_value
    - ndpi_data_window_average
    - ndpi_data_min
    - printf
    - rand
    linkageType: ''
    returnType: void
    signature: void analyzeUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - array
    - size
    argTypes:
    - int[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5710
      start: 5706
    functionDepth: 0
    functionLinenumber: 5706
    functionLinenumberEnd: 5710
    functionName: bpf_filter_port_array_init
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bpf_filter_port_array_init(int array[], int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - array
    - size
    argTypes:
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5721
      start: 5717
    functionDepth: 0
    functionLinenumber: 5717
    functionLinenumberEnd: 5721
    functionName: bpf_filter_host_array_init
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bpf_filter_host_array_init(const char *array[48], int size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:5733,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5740,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:5741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - filter_array
    - size
    - host
    argTypes:
    - char*[]
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5742
      start: 5729
    functionDepth: 1
    functionLinenumber: 5729
    functionLinenumberEnd: 5742
    functionName: bpf_filter_host_array_add
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - exit
    - strcmp
    - fprintf
    linkageType: ''
    returnType: void
    signature: void bpf_filter_host_array_add(const char *filter_array[48], int size,
      const char *host)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5761,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:5762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - filter_array
    - size
    - port
    argTypes:
    - int[]
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5763
      start: 5751
    functionDepth: 1
    functionLinenumber: 5751
    functionLinenumberEnd: 5763
    functionName: bpf_filter_port_array_add
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void bpf_filter_port_array_add(int filter_array[], int size, int port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_alloc_data_analysis
      Src: /src/ndpi/example/ndpiReader.c:5768,1
    - Dst: ndpi_data_add_value
      Src: /src/ndpi/example/ndpiReader.c:5772,1
    - Dst: ndpi_data_print_window_values
      Src: /src/ndpi/example/ndpiReader.c:5775,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5776,1
    - Dst: ndpi_data_average
      Src: /src/ndpi/example/ndpiReader.c:5776,1
    - Dst: ndpi_data_window_average
      Src: /src/ndpi/example/ndpiReader.c:5776,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5777,1
    - Dst: ndpi_data_entropy
      Src: /src/ndpi/example/ndpiReader.c:5777,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5778,1
    - Dst: ndpi_data_stddev
      Src: /src/ndpi/example/ndpiReader.c:5778,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5779,1
    - Dst: ndpi_data_min
      Src: /src/ndpi/example/ndpiReader.c:5780,1
    - Dst: ndpi_data_max
      Src: /src/ndpi/example/ndpiReader.c:5781,1
    - Dst: ndpi_free_data_analysis
      Src: /src/ndpi/example/ndpiReader.c:5784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5785
      start: 5767
    functionDepth: 2
    functionLinenumber: 5767
    functionLinenumberEnd: 5785
    functionName: analysisUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_free_data_analysis
    - ndpi_alloc_data_analysis
    - ndpi_data_stddev
    - ndpi_data_average
    - ndpi_data_entropy
    - ndpi_data_max
    - ndpi_data_add_value
    - ndpi_data_window_average
    - ndpi_data_min
    - printf
    - ndpi_data_print_window_values
    linkageType: ''
    returnType: void
    signature: void analysisUnitTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5825,1
    - Dst: ndpi_alloc_rsi
      Src: /src/ndpi/example/ndpiReader.c:5825,1
    - Dst: ndpi_rsi_add_value
      Src: /src/ndpi/example/ndpiReader.c:5828,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5832,1
    - Dst: ndpi_free_rsi
      Src: /src/ndpi/example/ndpiReader.c:5835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_alloc_rsi(&s, 8) == 0)
      pos:
        line_end: 5824
        line_start: 5824
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 5836
      start: 5789
    functionDepth: 2
    functionLinenumber: 5789
    functionLinenumberEnd: 5836
    functionName: rsiUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_rsi_add_value
    - ndpi_alloc_rsi
    - assert
    - ndpi_free_rsi
    - printf
    linkageType: ''
    returnType: void
    signature: void rsiUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5845,1
    - Dst: ndpi_hash_init
      Src: /src/ndpi/example/ndpiReader.c:5845,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5846,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:5849,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5852,1
    - Dst: ndpi_hash_add_entry
      Src: /src/ndpi/example/ndpiReader.c:5852,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5853,1
    - Dst: ndpi_hash_find_entry
      Src: /src/ndpi/example/ndpiReader.c:5853,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5854,1
    - Dst: ndpi_hash_free
      Src: /src/ndpi/example/ndpiReader.c:5857,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_hash_init(&h) == 0)
      pos:
        line_end: 5844
        line_start: 5844
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (h->priv == NULL)
      pos:
        line_end: 5845
        line_start: 5845
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_hash_add_entry(&h, dict[i], l, i) == 0)
      pos:
        line_end: 5851
        line_start: 5851
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_hash_find_entry(h, dict[i], l, &v) == 0)
      pos:
        line_end: 5852
        line_start: 5852
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (v == i)
      pos:
        line_end: 5853
        line_start: 5853
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (h == NULL)
      pos:
        line_end: 5857
        line_start: 5857
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 5859
      start: 5840
    functionDepth: 2
    functionLinenumber: 5840
    functionLinenumberEnd: 5859
    functionName: hashUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_hash_init
    - ndpi_hash_add_entry
    - ndpi_hash_find_entry
    - ndpi_hash_free
    - strlen
    - assert
    linkageType: ''
    returnType: void
    signature: void hashUnitTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5871,1
    - Dst: ndpi_hw_init
      Src: /src/ndpi/example/ndpiReader.c:5871,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5874,1
    - Dst: ndpi_hw_add_value
      Src: /src/ndpi/example/ndpiReader.c:5879,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5884,1
    - Dst: ndpi_hw_free
      Src: /src/ndpi/example/ndpiReader.c:5889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_hw_init(&hw, num_learning_points, j /* 0=multiplicative, 1=additive
        */, 0.9, 0.9, 0.1, 0.05) == 0)
      pos:
        line_end: 5870
        line_start: 5870
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 5891
      start: 5863
    functionDepth: 3
    functionLinenumber: 5863
    functionLinenumberEnd: 5891
    functionName: hwUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_hw_add_value
    - assert
    - ndpi_hw_init
    - ndpi_hw_free
    - printf
    linkageType: ''
    returnType: void
    signature: void hwUnitTest()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/example/ndpiReader.c:5931,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:5933,1
    - Dst: ndpi_hw_init
      Src: /src/ndpi/example/ndpiReader.c:5933,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5937,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5940,1
    - Dst: ndpi_hw_add_value
      Src: /src/ndpi/example/ndpiReader.c:5946,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:5951,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:5956,1
    - Dst: fclose
      Src: /src/ndpi/example/ndpiReader.c:5962,1
    - Dst: ndpi_hw_free
      Src: /src/ndpi/example/ndpiReader.c:5964,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(ndpi_hw_init(&hw, num_learning_points, 0 /* 0=multiplicative, 1=additive
        */,\n\t\t      alpha, beta, gamma, 0.05) == 0)"
      pos:
        line_end: 5933
        line_start: 5932
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 5967
      start: 5895
    functionDepth: 3
    functionLinenumber: 5895
    functionLinenumberEnd: 5967
    functionName: hwUnitTest2
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - fclose
    - printf
    - ndpi_hw_add_value
    - assert
    - ndpi_hw_init
    - ndpi_hw_free
    - fopen
    - fprintf
    linkageType: ''
    returnType: void
    signature: void hwUnitTest2()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/example/ndpiReader.c:6006,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6008,1
    - Dst: ndpi_ses_init
      Src: /src/ndpi/example/ndpiReader.c:6008,1
    - Dst: ndpi_ses_reset
      Src: /src/ndpi/example/ndpiReader.c:6009,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6012,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:6015,1
    - Dst: ndpi_ses_add_value
      Src: /src/ndpi/example/ndpiReader.c:6021,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6026,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:6031,1
    - Dst: fclose
      Src: /src/ndpi/example/ndpiReader.c:6037,1
    - Dst: ndpi_ses_fitting
      Src: /src/ndpi/example/ndpiReader.c:6039,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_ses_init(&ses, alpha, 0.05) == 0)
      pos:
        line_end: 6007
        line_start: 6007
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6040
      start: 5971
    functionDepth: 4
    functionLinenumber: 5971
    functionLinenumberEnd: 6040
    functionName: sesUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_ses_add_value
    - printf
    - fclose
    - ndpi_ses_init
    - assert
    - ndpi_ses_fitting
    - ndpi_ses_reset
    - fopen
    - fprintf
    linkageType: ''
    returnType: void
    signature: void sesUnitTest()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/ndpi/example/ndpiReader.c:6079,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6081,1
    - Dst: ndpi_des_init
      Src: /src/ndpi/example/ndpiReader.c:6081,1
    - Dst: ndpi_des_reset
      Src: /src/ndpi/example/ndpiReader.c:6082,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6085,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:6088,1
    - Dst: ndpi_des_add_value
      Src: /src/ndpi/example/ndpiReader.c:6094,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6099,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:6104,1
    - Dst: fclose
      Src: /src/ndpi/example/ndpiReader.c:6110,1
    - Dst: ndpi_des_fitting
      Src: /src/ndpi/example/ndpiReader.c:6112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_des_init(&des, alpha, beta, 0.05) == 0)
      pos:
        line_end: 6080
        line_start: 6080
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6113
      start: 6044
    functionDepth: 4
    functionLinenumber: 6044
    functionLinenumberEnd: 6113
    functionName: desUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_des_fitting
    - ndpi_des_reset
    - fclose
    - printf
    - assert
    - ndpi_des_init
    - ndpi_des_add_value
    - fopen
    - fprintf
    linkageType: ''
    returnType: void
    signature: void desUnitTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/ndpi/example/ndpiReader.c:6122,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6124,1
    - Dst: ndpi_des_init
      Src: /src/ndpi/example/ndpiReader.c:6124,1
    - Dst: ndpi_des_reset
      Src: /src/ndpi/example/ndpiReader.c:6125,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6128,1
    - Dst: rand
      Src: /src/ndpi/example/ndpiReader.c:6134,1
    - Dst: ndpi_des_add_value
      Src: /src/ndpi/example/ndpiReader.c:6135,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_des_init(&des, alpha, beta, 0.05) == 0)
      pos:
        line_end: 6123
        line_start: 6123
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6145
      start: 6117
    functionDepth: 3
    functionLinenumber: 6117
    functionLinenumberEnd: 6145
    functionName: desUnitStressTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_des_reset
    - time
    - assert
    - ndpi_des_init
    - printf
    - ndpi_des_add_value
    - rand
    linkageType: ''
    returnType: void
    signature: void desUnitStressTest()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6173,1
    - Dst: ndpi_hw_init
      Src: /src/ndpi/example/ndpiReader.c:6173,1
    - Dst: ndpi_hw_reset
      Src: /src/ndpi/example/ndpiReader.c:6174,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6177,1
    - Dst: ndpi_hw_add_value
      Src: /src/ndpi/example/ndpiReader.c:6182,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6187,1
    - Dst: ndpi_hw_free
      Src: /src/ndpi/example/ndpiReader.c:6193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_hw_init(&hw, num_learning_points, 0 /* 0=multiplicative, 1=additive
        */, alpha, beta, gamma, 0.05) == 0)
      pos:
        line_end: 6172
        line_start: 6172
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6194
      start: 6149
    functionDepth: 3
    functionLinenumber: 6149
    functionLinenumberEnd: 6194
    functionName: hwUnitTest3
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_hw_add_value
    - assert
    - ndpi_hw_init
    - ndpi_hw_reset
    - ndpi_hw_free
    - printf
    linkageType: ''
    returnType: void
    signature: void hwUnitTest3()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6205,1
    - Dst: ndpi_jitter_init
      Src: /src/ndpi/example/ndpiReader.c:6205,1
    - Dst: ndpi_jitter_add_value
      Src: /src/ndpi/example/ndpiReader.c:6208,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6211,1
    - Dst: ndpi_jitter_free
      Src: /src/ndpi/example/ndpiReader.c:6214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_jitter_init(&jitter, num_learning_points) == 0)
      pos:
        line_end: 6204
        line_start: 6204
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6215
      start: 6198
    functionDepth: 2
    functionLinenumber: 6198
    functionLinenumberEnd: 6215
    functionName: jitterUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_jitter_init
    - ndpi_jitter_add_value
    - ndpi_jitter_free
    - printf
    linkageType: ''
    returnType: void
    signature: void jitterUnitTest()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_bitmap_alloc
      Src: /src/ndpi/example/ndpiReader.c:6220,1
    - Dst: rand
      Src: /src/ndpi/example/ndpiReader.c:6228,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6230,1
    - Dst: ndpi_bitmap_set
      Src: /src/ndpi/example/ndpiReader.c:6231,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6232,1
    - Dst: ndpi_bitmap_isset
      Src: /src/ndpi/example/ndpiReader.c:6232,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6235,1
    - Dst: ndpi_bitmap_serialize
      Src: /src/ndpi/example/ndpiReader.c:6237,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6238,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6240,1
    - Dst: ndpi_bitmap_deserialize
      Src: /src/ndpi/example/ndpiReader.c:6241,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6242,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6244,1
    - Dst: ndpi_bitmap_iterator_alloc
      Src: /src/ndpi/example/ndpiReader.c:6244,1
    - Dst: ndpi_bitmap_iterator_next
      Src: /src/ndpi/example/ndpiReader.c:6245,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6246,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6249,1
    - Dst: ndpi_bitmap_iterator_free
      Src: /src/ndpi/example/ndpiReader.c:6250,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:6252,1
    - Dst: ndpi_bitmap_free
      Src: /src/ndpi/example/ndpiReader.c:6253,1
    - Dst: ndpi_bitmap_free
      Src: /src/ndpi/example/ndpiReader.c:6254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (b1)
      pos:
        line_end: 6241
        line_start: 6241
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_bitmap_isset(b, v))
      pos:
        line_end: 6231
        line_start: 6231
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: ((it = ndpi_bitmap_iterator_alloc(b)))
      pos:
        line_end: 6243
        line_start: 6243
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ser > 0)
      pos:
        line_end: 6237
        line_start: 6237
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6255
      start: 6219
    functionDepth: 1
    functionLinenumber: 6219
    functionLinenumberEnd: 6255
    functionName: compressedBitmapUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_bitmap_free
    - ndpi_bitmap_isset
    - assert
    - ndpi_bitmap_set
    - ndpi_bitmap_serialize
    - ndpi_free
    - ndpi_bitmap_iterator_next
    - ndpi_bitmap_alloc
    - ndpi_bitmap_iterator_free
    - ndpi_bitmap_deserialize
    - ndpi_bitmap_iterator_alloc
    - printf
    - rand
    linkageType: ''
    returnType: void
    signature: void compressedBitmapUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6262,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/example/ndpiReader.c:6262,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6263,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6264,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/example/ndpiReader.c:6264,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6265,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6266,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/example/ndpiReader.c:6266,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6267,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6268,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/example/ndpiReader.c:6268,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6269,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6270,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/example/ndpiReader.c:6270,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6271,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6272,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/example/ndpiReader.c:6272,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6273,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6274,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/example/ndpiReader.c:6274,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6275,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6276,1
    - Dst: ndpi_strtonum
      Src: /src/ndpi/example/ndpiReader.c:6276,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_strtonum("0", -10, +10, &errstrp, 10) == 0)
      pos:
        line_end: 6261
        line_start: 6261
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strtonum("0", +10, -10, &errstrp, 10) == 0)
      pos:
        line_end: 6263
        line_start: 6263
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (errstrp != NULL)
      pos:
        line_end: 6266
        line_start: 6266
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (errstrp == NULL)
      pos:
        line_end: 6268
        line_start: 6268
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (errstrp == NULL)
      pos:
        line_end: 6272
        line_start: 6272
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (errstrp == NULL)
      pos:
        line_end: 6270
        line_start: 6270
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (errstrp != NULL)
      pos:
        line_end: 6276
        line_start: 6276
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (errstrp == NULL)
      pos:
        line_end: 6274
        line_start: 6274
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (errstrp == NULL)
      pos:
        line_end: 6262
        line_start: 6262
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (errstrp != NULL)
      pos:
        line_end: 6264
        line_start: 6264
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strtonum("  -11  ", -10, +10, &errstrp, 10) == 0)
      pos:
        line_end: 6265
        line_start: 6265
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strtonum("  -11  ", -100, +100, &errstrp, 10) == -11)
      pos:
        line_end: 6267
        line_start: 6267
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strtonum("123abc", LLONG_MIN, LLONG_MAX, &errstrp, 16) == 0x123abc)
      pos:
        line_end: 6271
        line_start: 6271
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strtonum("  0x123abc", LLONG_MIN, LLONG_MAX, &errstrp, 16)
        == 0x123abc)
      pos:
        line_end: 6273
        line_start: 6273
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strtonum("123abc", LLONG_MIN, LLONG_MAX, &errstrp, 10) == 123)
      pos:
        line_end: 6269
        line_start: 6269
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strtonum("ghi", -10, +10, &errstrp, 10) == 0)
      pos:
        line_end: 6275
        line_start: 6275
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6278
      start: 6259
    functionDepth: 1
    functionLinenumber: 6259
    functionLinenumberEnd: 6278
    functionName: strtonumUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_strtonum
    linkageType: ''
    returnType: void
    signature: void strtonumUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6285,1
    - Dst: ndpi_strlcpy
      Src: /src/ndpi/example/ndpiReader.c:6285,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6286,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6290,1
    - Dst: ndpi_strlcpy
      Src: /src/ndpi/example/ndpiReader.c:6290,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6291,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6291,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6295,1
    - Dst: ndpi_strlcpy
      Src: /src/ndpi/example/ndpiReader.c:6295,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6296,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6296,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6300,1
    - Dst: ndpi_strlcpy
      Src: /src/ndpi/example/ndpiReader.c:6300,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6301,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6301,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6305,1
    - Dst: ndpi_strlcpy
      Src: /src/ndpi/example/ndpiReader.c:6305,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6306,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6310,1
    - Dst: ndpi_strlcpy
      Src: /src/ndpi/example/ndpiReader.c:6310,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6313,1
    - Dst: ndpi_strlcpy
      Src: /src/ndpi/example/ndpiReader.c:6313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dst_empty[0] == '\0')
      pos:
        line_end: 6285
        line_start: 6285
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(dst2, "abc") == 0)
      pos:
        line_end: 6295
        line_start: 6295
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (dst4[0] == '\0')
      pos:
        line_end: 6305
        line_start: 6305
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(dst1, "abc") == 0)
      pos:
        line_end: 6290
        line_start: 6290
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strlcpy(dst2, "abcdef", sizeof(dst2), 6) == 6)
      pos:
        line_end: 6294
        line_start: 6294
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(dst3, "abc") == 0)
      pos:
        line_end: 6300
        line_start: 6300
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strlcpy(NULL, "abc", sizeof(dst5), 3) == 0)
      pos:
        line_end: 6312
        line_start: 6312
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strlcpy(dst_empty, "", sizeof(dst_empty), 0) == 0)
      pos:
        line_end: 6284
        line_start: 6284
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strlcpy(dst1, "abc", sizeof(dst1), 3) == 3)
      pos:
        line_end: 6289
        line_start: 6289
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strlcpy(dst5, NULL, sizeof(dst5), 0) == 0)
      pos:
        line_end: 6309
        line_start: 6309
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strlcpy(dst3, "abc", sizeof(dst3), 3) == 3)
      pos:
        line_end: 6299
        line_start: 6299
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strlcpy(dst4, "abc", sizeof(dst4), 3) == 3)
      pos:
        line_end: 6304
        line_start: 6304
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6314
      start: 6282
    functionDepth: 2
    functionLinenumber: 6282
    functionLinenumberEnd: 6314
    functionName: strlcpyUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_strlcpy
    - assert
    - strcmp
    linkageType: ''
    returnType: void
    signature: void strlcpyUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6320,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6320,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6321,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6321,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6324,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6324,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6324,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6327,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6327,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6327,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6328,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6328,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6331,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6331,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6331,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6332,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6332,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6335,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6335,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6335,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6338,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6338,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6338,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6341,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6341,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6341,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6344,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6344,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6344,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6347,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6347,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6350,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6350,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6350,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6353,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6353,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6353,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6354,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6354,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6357,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6357,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6360,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6360,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6363,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6363,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6363,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6364,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6364,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6364,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6365,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6365,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6366,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6366,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6367,1
    - Dst: ndpi_strnstr
      Src: /src/ndpi/example/ndpiReader.c:6367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_strnstr(NULL, "find", 10) == NULL)
      pos:
        line_end: 6319
        line_start: 6319
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strnstr("string", "a", 66) == NULL)
      pos:
        line_end: 6353
        line_start: 6353
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strnstr("string", "stringA", 6) == NULL)
      pos:
        line_end: 6356
        line_start: 6356
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strnstr("", "", 0), "") == 0)
      pos:
        line_end: 6362
        line_start: 6362
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strnstr("string", "str", 0) == NULL)
      pos:
        line_end: 6365
        line_start: 6365
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strnstr("string", NULL, 10) == NULL)
      pos:
        line_end: 6320
        line_start: 6320
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strnstr("string", "ing", 6), "ing") == 0)
      pos:
        line_end: 6337
        line_start: 6337
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strnstr("hello world", "lo wo", 11), "lo world") ==
        0)
      pos:
        line_end: 6340
        line_start: 6340
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strnstr("aaaaaa", "aaa", 6), "aaaaaa") == 0)
      pos:
        line_end: 6343
        line_start: 6343
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strnstr("", "find", 0) == NULL)
      pos:
        line_end: 6346
        line_start: 6346
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strnstr("string", "string", 66), "string") == 0)
      pos:
        line_end: 6352
        line_start: 6352
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strnstr("string", "xyz", 6) == NULL)
      pos:
        line_end: 6331
        line_start: 6331
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strnstr("string", "x", 6) == NULL)
      pos:
        line_end: 6327
        line_start: 6327
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strnstr("", "str", 0) == NULL)
      pos:
        line_end: 6364
        line_start: 6364
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strnstr("str", "string", 0) == NULL)
      pos:
        line_end: 6366
        line_start: 6366
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strnstr("string", "", 6), "string") == 0)
      pos:
        line_end: 6323
        line_start: 6323
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strnstr("string", "r", 6), "ring") == 0)
      pos:
        line_end: 6326
        line_start: 6326
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strnstr("string", "str", 3), "string") == 0)
      pos:
        line_end: 6334
        line_start: 6334
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strnstr("string", "ing", 6), "ing") == 0)
      pos:
        line_end: 6330
        line_start: 6330
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strnstr("abcdef", "abc", 2) == NULL)
      pos:
        line_end: 6359
        line_start: 6359
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strnstr("string", "string", 6), "string") == 0)
      pos:
        line_end: 6349
        line_start: 6349
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strnstr("string", "", 0), "string") == 0)
      pos:
        line_end: 6363
        line_start: 6363
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6368
      start: 6318
    functionDepth: 0
    functionLinenumber: 6318
    functionLinenumberEnd: 6368
    functionName: strnstrUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_strnstr
    - assert
    - strcmp
    linkageType: ''
    returnType: void
    signature: void strnstrUnitTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6374,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6374,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6375,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6375,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6378,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6378,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6378,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6381,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6381,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6381,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6382,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6382,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6382,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6383,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6383,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6383,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6384,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6384,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6385,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6385,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6388,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6388,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6388,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6389,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6389,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6389,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6390,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6390,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6391,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6391,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6394,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6394,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6394,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6395,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6395,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6395,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6396,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6396,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6396,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6397,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6397,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6397,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6400,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6400,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6400,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6401,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6401,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6401,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6404,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6404,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6404,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6405,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6405,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6405,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6408,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6408,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6408,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6409,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6409,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6409,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6410,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6410,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6410,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6413,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6413,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6416,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6416,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6416,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6417,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6417,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6417,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6418,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6418,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6418,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6421,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6421,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6421,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6422,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6422,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6425,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6425,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6428,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6428,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6431,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6431,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6431,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6432,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6432,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6432,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6433,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6433,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6434,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6434,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6435,1
    - Dst: ndpi_strncasestr
      Src: /src/ndpi/example/ndpiReader.c:6435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_strncasestr("string", NULL, 10) == NULL)
      pos:
        line_end: 6374
        line_start: 6374
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("string", "", 0), "string") == 0)
      pos:
        line_end: 6431
        line_start: 6431
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("hello BEAUTIFUL world", "beautiful", 20),
        "BEAUTIFUL world") == 0)
      pos:
        line_end: 6404
        line_start: 6404
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr("", "str", 0) == NULL)
      pos:
        line_end: 6432
        line_start: 6432
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr("", "find", 0) == NULL)
      pos:
        line_end: 6412
        line_start: 6412
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr("striNg", "XyZ", 6) == NULL)
      pos:
        line_end: 6390
        line_start: 6390
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("string", "STRING", 6), "string") == 0)
      pos:
        line_end: 6416
        line_start: 6416
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("string", "", 6), "string") == 0)
      pos:
        line_end: 6377
        line_start: 6377
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("string", "R", 6), "ring") == 0)
      pos:
        line_end: 6381
        line_start: 6381
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("AAAaaa", "aaa", 6), "AAAaaa") == 0)
      pos:
        line_end: 6409
        line_start: 6409
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr("string", "a", 66) == NULL)
      pos:
        line_end: 6421
        line_start: 6421
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("string", "ing", 6), "ing") == 0)
      pos:
        line_end: 6387
        line_start: 6387
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("String", "STR", 5), "String") == 0)
      pos:
        line_end: 6395
        line_start: 6395
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("some longer STRing", "GEr sTrING", 18),
        "ger STRing") == 0)
      pos:
        line_end: 6400
        line_start: 6400
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr("string", "str", 0) == NULL)
      pos:
        line_end: 6433
        line_start: 6433
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("aaaaaa", "aaa", 6), "aaaaaa") == 0)
      pos:
        line_end: 6407
        line_start: 6407
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("sTrInG", "StRiNg", 6), "sTrInG") == 0)
      pos:
        line_end: 6417
        line_start: 6417
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("stRing", "r", 6), "Ring") == 0)
      pos:
        line_end: 6382
        line_start: 6382
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("string", "str", 5), "string") == 0)
      pos:
        line_end: 6393
        line_start: 6393
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr("string", "stringA", 6) == NULL)
      pos:
        line_end: 6424
        line_start: 6424
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("Long Long String", "long long", 15), "Long
        Long String") == 0)
      pos:
        line_end: 6396
        line_start: 6396
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("hello world", "lo wo", 11), "lo world")
        == 0)
      pos:
        line_end: 6403
        line_start: 6403
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr("str", "string", 0) == NULL)
      pos:
        line_end: 6434
        line_start: 6434
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("striNg", "InG", 6), "iNg") == 0)
      pos:
        line_end: 6388
        line_start: 6388
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("string", "r", 6), "ring") == 0)
      pos:
        line_end: 6380
        line_start: 6380
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("string", "string", 6), "string") == 0)
      pos:
        line_end: 6415
        line_start: 6415
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr(NULL, "find", 10) == NULL)
      pos:
        line_end: 6373
        line_start: 6373
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr("string", "x", 6) == NULL)
      pos:
        line_end: 6383
        line_start: 6383
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("", "", 0), "") == 0)
      pos:
        line_end: 6430
        line_start: 6430
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("string", "ing", 6), "ing") == 0)
      pos:
        line_end: 6399
        line_start: 6399
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("string", "string", 66), "string") == 0)
      pos:
        line_end: 6420
        line_start: 6420
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("aaAaAa", "aaa", 6), "aaAaAa") == 0)
      pos:
        line_end: 6408
        line_start: 6408
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr("string", "xyz", 6) == NULL)
      pos:
        line_end: 6389
        line_start: 6389
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr("abcdef", "abc", 2) == NULL)
      pos:
        line_end: 6427
        line_start: 6427
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_strncasestr("string", "X", 6) == NULL)
      pos:
        line_end: 6384
        line_start: 6384
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_strncasestr("string", "sTR", 5), "string") == 0)
      pos:
        line_end: 6394
        line_start: 6394
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6436
      start: 6372
    functionDepth: 1
    functionLinenumber: 6372
    functionLinenumberEnd: 6436
    functionName: strncasestrUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_strncasestr
    - strcmp
    linkageType: ''
    returnType: void
    signature: void strncasestrUnitTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6442,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6442,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6443,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6443,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6444,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6444,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6445,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6445,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6446,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6446,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6447,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6447,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6450,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6450,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6450,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6451,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6451,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6451,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6452,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6452,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6452,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6453,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6453,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6456,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6456,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6456,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6459,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6459,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6459,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6460,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6460,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6463,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6463,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6463,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6464,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6464,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6467,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6467,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6467,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6470,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6470,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6470,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6473,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6473,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6473,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:6473,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:6473,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6476,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6476,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6476,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6479,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6479,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6479,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6482,1
    - Dst: ndpi_memmem
      Src: /src/ndpi/example/ndpiReader.c:6482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_memmem(NULL, 0, "find", 10) == NULL)
      pos:
        line_end: 6443
        line_start: 6443
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_memmem("", 0, "", 0), "") == 0)
      pos:
        line_end: 6449
        line_start: 6449
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_memmem("string", 6, "", 0), "string") == 0)
      pos:
        line_end: 6450
        line_start: 6450
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_memmem("string", 6, "", 0), "string") == 0)
      pos:
        line_end: 6455
        line_start: 6455
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memmem("string", 6, "stringA", 7) == NULL)
      pos:
        line_end: 6481
        line_start: 6481
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_memmem("string", 6, "string", 6), "string") == 0)
      pos:
        line_end: 6478
        line_start: 6478
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_memmem("string", 6, "ing", 3), "ing") == 0)
      pos:
        line_end: 6469
        line_start: 6469
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memmem(NULL, 0, NULL, 0) == NULL)
      pos:
        line_end: 6441
        line_start: 6441
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memmem("string", 10, NULL, 10) == NULL)
      pos:
        line_end: 6446
        line_start: 6446
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memmem("string", 6, "x", 1) == NULL)
      pos:
        line_end: 6459
        line_start: 6459
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_memmem("string", 6, "ing", 3), "ing") == 0)
      pos:
        line_end: 6462
        line_start: 6462
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memmem("string", 6, "xyz", 3) == NULL)
      pos:
        line_end: 6463
        line_start: 6463
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_memmem("string", 6, "str", 3), "string") == 0)
      pos:
        line_end: 6466
        line_start: 6466
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memmem("string", 10, NULL, 0) == NULL)
      pos:
        line_end: 6445
        line_start: 6445
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_memmem("aaaaaa", 6, "aaa", 3), "aaaaaa") == 0)
      pos:
        line_end: 6475
        line_start: 6475
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memmem(NULL, 0, NULL, 10) == NULL)
      pos:
        line_end: 6442
        line_start: 6442
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memmem(NULL, 10, "find", 10) == NULL)
      pos:
        line_end: 6444
        line_start: 6444
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_memmem("string", 0, "", 0), "string") == 0)
      pos:
        line_end: 6451
        line_start: 6451
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memmem("", 0, "string", 6) == NULL)
      pos:
        line_end: 6452
        line_start: 6452
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_memmem("string", 6, "r", 1), "ring") == 0)
      pos:
        line_end: 6458
        line_start: 6458
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_memmem("hello world", strlen("hello world"), "lo wo",
        strlen("lo wo")), "lo world") == 0)
      pos:
        line_end: 6472
        line_start: 6472
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6483
      start: 6440
    functionDepth: 1
    functionLinenumber: 6440
    functionLinenumberEnd: 6483
    functionName: memmemUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_memmem
    - strlen
    - strcmp
    linkageType: ''
    returnType: void
    signature: void memmemUnitTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6490,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6490,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6491,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6491,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6492,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6492,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6495,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6495,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6498,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6498,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6499,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6499,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6500,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6500,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6501,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6501,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6504,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6504,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6505,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6505,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6508,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6508,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6509,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6509,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6510,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6510,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6511,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6511,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6512,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6512,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6515,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6515,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6516,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6516,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6517,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6517,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6518,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6518,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6519,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6519,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6524,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6524,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6528,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6528,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6532,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6532,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6536,1
    - Dst: ndpi_memcasecmp
      Src: /src/ndpi/example/ndpiReader.c:6536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_memcasecmp(NULL, NULL, 5) == 0)
      pos:
        line_end: 6489
        line_start: 6489
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("string", "different", 0) == 0)
      pos:
        line_end: 6494
        line_start: 6494
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("a", "A", 1) == 0)
      pos:
        line_end: 6498
        line_start: 6498
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("string", "string", 6) == 0)
      pos:
        line_end: 6507
        line_start: 6507
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("abc", "abcd", 3) == 0)
      pos:
        line_end: 6510
        line_start: 6510
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("abc", "abC", 3) == 0)
      pos:
        line_end: 6515
        line_start: 6515
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("string", NULL, 6) == 1)
      pos:
        line_end: 6491
        line_start: 6491
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("STRING", "string", 6) == 0)
      pos:
        line_end: 6503
        line_start: 6503
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("String", "sTrInG", 6) == 0)
      pos:
        line_end: 6504
        line_start: 6504
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("strong", "string", 6) > 0)
      pos:
        line_end: 6509
        line_start: 6509
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp(str1, str2, 4) == 0)
      pos:
        line_end: 6523
        line_start: 6523
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp(str7, str8, 4) < 0)
      pos:
        line_end: 6535
        line_start: 6535
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp(NULL, "string", 6) == -1)
      pos:
        line_end: 6490
        line_start: 6490
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("a", "a", 1) == 0)
      pos:
        line_end: 6497
        line_start: 6497
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("b", "a", 1) > 0)
      pos:
        line_end: 6500
        line_start: 6500
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("string", "strong", 6) < 0)
      pos:
        line_end: 6508
        line_start: 6508
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("aBc", "abc", 3) == 0)
      pos:
        line_end: 6514
        line_start: 6514
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("a", "b", 1) < 0)
      pos:
        line_end: 6499
        line_start: 6499
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("abcd", "abc", 3) == 0)
      pos:
        line_end: 6511
        line_start: 6511
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("abc", "def", 3) < 0)
      pos:
        line_end: 6516
        line_start: 6516
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("axc", "ayc", 3) < 0)
      pos:
        line_end: 6518
        line_start: 6518
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp("abz", "abx", 3) > 0)
      pos:
        line_end: 6517
        line_start: 6517
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp(str5, str6, 4) < 0)
      pos:
        line_end: 6531
        line_start: 6531
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memcasecmp(str3, str4, 4) < 0)
      pos:
        line_end: 6527
        line_start: 6527
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6537
      start: 6487
    functionDepth: 1
    functionLinenumber: 6487
    functionLinenumberEnd: 6537
    functionName: memcasecmpUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_memcasecmp
    linkageType: ''
    returnType: void
    signature: void memcasecmpUnitTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_mahalanobis_distance
      Src: /src/ndpi/example/ndpiReader.c:6552,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (md >= 1.37 && md <= 1.38)
      pos:
        line_end: 6554
        line_start: 6554
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6556
      start: 6541
    functionDepth: 1
    functionLinenumber: 6541
    functionLinenumberEnd: 6556
    functionName: mahalanobisUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_mahalanobis_distance
    linkageType: ''
    returnType: void
    signature: void mahalanobisUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6565,1
    - Dst: ndpi_bitmask_alloc
      Src: /src/ndpi/example/ndpiReader.c:6565,1
    - Dst: ndpi_bitmask_set
      Src: /src/ndpi/example/ndpiReader.c:6567,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6568,1
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/example/ndpiReader.c:6568,1
    - Dst: ndpi_bitmask_clear
      Src: /src/ndpi/example/ndpiReader.c:6571,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6572,1
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/example/ndpiReader.c:6572,1
    - Dst: ndpi_bitmask_set_all
      Src: /src/ndpi/example/ndpiReader.c:6574,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6576,1
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/example/ndpiReader.c:6576,1
    - Dst: ndpi_bitmask_reset
      Src: /src/ndpi/example/ndpiReader.c:6577,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6579,1
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/example/ndpiReader.c:6579,1
    - Dst: ndpi_bitmask_set
      Src: /src/ndpi/example/ndpiReader.c:6581,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6582,1
    - Dst: ndpi_bitmask_is_set
      Src: /src/ndpi/example/ndpiReader.c:6582,1
    - Dst: ndpi_bitmask_free
      Src: /src/ndpi/example/ndpiReader.c:6585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_bitmask_alloc(&b, 512) == 0)
      pos:
        line_end: 6564
        line_start: 6564
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_bitmask_is_set(&b, i))
      pos:
        line_end: 6567
        line_start: 6567
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (!ndpi_bitmask_is_set(&b, i))
      pos:
        line_end: 6571
        line_start: 6571
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_bitmask_is_set(&b, i))
      pos:
        line_end: 6575
        line_start: 6575
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (!ndpi_bitmask_is_set(&b, i))
      pos:
        line_end: 6578
        line_start: 6578
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_bitmask_is_set(&b, i))
      pos:
        line_end: 6581
        line_start: 6581
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6586
      start: 6560
    functionDepth: 2
    functionLinenumber: 6560
    functionLinenumberEnd: 6586
    functionName: bitmaskUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_bitmask_reset
    - assert
    - ndpi_bitmask_alloc
    - ndpi_bitmask_set
    - ndpi_bitmask_free
    - ndpi_bitmask_clear
    - ndpi_bitmask_set_all
    - ndpi_bitmask_is_set
    linkageType: ''
    returnType: void
    signature: void bitmaskUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_filter_alloc
      Src: /src/ndpi/example/ndpiReader.c:6591,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6594,1
    - Dst: srand
      Src: /src/ndpi/example/ndpiReader.c:6596,1
    - Dst: time
      Src: /src/ndpi/example/ndpiReader.c:6596,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6599,1
    - Dst: ndpi_filter_add
      Src: /src/ndpi/example/ndpiReader.c:6599,1
    - Dst: rand
      Src: /src/ndpi/example/ndpiReader.c:6599,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6601,1
    - Dst: ndpi_filter_contains
      Src: /src/ndpi/example/ndpiReader.c:6601,1
    - Dst: ndpi_filter_free
      Src: /src/ndpi/example/ndpiReader.c:6603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (f)
      pos:
        line_end: 6593
        line_start: 6593
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_filter_add(f, v = rand()))
      pos:
        line_end: 6598
        line_start: 6598
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_filter_contains(f, v))
      pos:
        line_end: 6600
        line_start: 6600
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6604
      start: 6590
    functionDepth: 2
    functionLinenumber: 6590
    functionLinenumberEnd: 6604
    functionName: filterUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_filter_alloc
    - time
    - assert
    - ndpi_filter_contains
    - ndpi_filter_add
    - ndpi_filter_free
    - srand
    - rand
    linkageType: ''
    returnType: void
    signature: void filterUnitTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/example/ndpiReader.c:6612,1
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/example/ndpiReader.c:6613,1
    - Dst: ndpi_find_outliers
      Src: /src/ndpi/example/ndpiReader.c:6615,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6618,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6623
      start: 6608
    functionDepth: 3
    functionLinenumber: 6608
    functionLinenumberEnd: 6623
    functionName: zscoreUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_find_outliers
    - NDPI_ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: void zscoreUnitTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NDPI_ARRAY_LENGTH
      Src: /src/ndpi/example/ndpiReader.c:6630,1
    - Dst: ndpi_predict_linear
      Src: /src/ndpi/example/ndpiReader.c:6632,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6637
      start: 6627
    functionDepth: 1
    functionLinenumber: 6627
    functionLinenumberEnd: 6637
    functionName: linearUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - printf
    - ndpi_predict_linear
    - NDPI_ARRAY_LENGTH
    linkageType: ''
    returnType: void
    signature: void linearUnitTest()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/example/ndpiReader.c:6645,1
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/example/ndpiReader.c:6646,1
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/example/ndpiReader.c:6647,1
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/example/ndpiReader.c:6648,1
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/example/ndpiReader.c:6649,1
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/example/ndpiReader.c:6650,1
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/example/ndpiReader.c:6651,1
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/example/ndpiReader.c:6652,1
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/example/ndpiReader.c:6653,1
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/example/ndpiReader.c:6654,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:6655,1
    - Dst: ndpi_cm_sketch_init
      Src: /src/ndpi/example/ndpiReader.c:6658,1
    - Dst: srand
      Src: /src/ndpi/example/ndpiReader.c:6664,1
    - Dst: time
      Src: /src/ndpi/example/ndpiReader.c:6664,1
    - Dst: rand
      Src: /src/ndpi/example/ndpiReader.c:6667,1
    - Dst: ndpi_cm_sketch_add
      Src: /src/ndpi/example/ndpiReader.c:6670,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6674,1
    - Dst: ndpi_cm_sketch_count
      Src: /src/ndpi/example/ndpiReader.c:6675,1
    - Dst: ndpi_cm_sketch_destroy
      Src: /src/ndpi/example/ndpiReader.c:6677,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:6680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6682
      start: 6641
    functionDepth: 2
    functionLinenumber: 6641
    functionLinenumberEnd: 6682
    functionName: sketchUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - exit
    - ndpi_cm_sketch_count
    - time
    - ndpi_cm_sketch_destroy
    - ndpi_cm_sketch_add
    - printf
    - ndpi_cm_sketch_init
    - srand
    - rand
    linkageType: ''
    returnType: void
    signature: void sketchUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_binary_bitmap_alloc
      Src: /src/ndpi/example/ndpiReader.c:6687,1
    - Dst: ndpi_binary_bitmap_set
      Src: /src/ndpi/example/ndpiReader.c:6691,1
    - Dst: ndpi_binary_bitmap_set
      Src: /src/ndpi/example/ndpiReader.c:6692,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6694,1
    - Dst: ndpi_binary_bitmap_isset
      Src: /src/ndpi/example/ndpiReader.c:6694,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6695,1
    - Dst: ndpi_binary_bitmap_free
      Src: /src/ndpi/example/ndpiReader.c:6696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_binary_bitmap_isset(b, hashval, &category))
      pos:
        line_end: 6693
        line_start: 6693
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (category == 33)
      pos:
        line_end: 6694
        line_start: 6694
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6697
      start: 6686
    functionDepth: 3
    functionLinenumber: 6686
    functionLinenumberEnd: 6697
    functionName: binaryBitmapUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_binary_bitmap_free
    - ndpi_binary_bitmap_set
    - assert
    - ndpi_binary_bitmap_alloc
    - ndpi_binary_bitmap_isset
    linkageType: ''
    returnType: void
    signature: void binaryBitmapUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_pearson_correlation
      Src: /src/ndpi/example/ndpiReader.c:6705,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (pearson != 0.0)
      pos:
        line_end: 6706
        line_start: 6706
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6709
      start: 6701
    functionDepth: 1
    functionLinenumber: 6701
    functionLinenumberEnd: 6709
    functionName: pearsonUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_pearson_correlation
    - assert
    linkageType: ''
    returnType: void
    signature: void pearsonUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_is_outlier
      Src: /src/ndpi/example/ndpiReader.c:6718,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (is_outlier == true)
      pos:
        line_end: 6721
        line_start: 6721
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6723
      start: 6713
    functionDepth: 4
    functionLinenumber: 6713
    functionLinenumberEnd: 6723
    functionName: outlierUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_is_outlier
    linkageType: ''
    returnType: void
    signature: void outlierUnitTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6728,1
    - Dst: snprintf
      Src: /src/ndpi/example/ndpiReader.c:6739,1
    - Dst: ndpi_load_hostname_category
      Src: /src/ndpi/example/ndpiReader.c:6740,1
    - Dst: snprintf
      Src: /src/ndpi/example/ndpiReader.c:6742,1
    - Dst: ndpi_load_ip_category
      Src: /src/ndpi/example/ndpiReader.c:6743,1
    - Dst: ndpi_enable_loaded_categories
      Src: /src/ndpi/example/ndpiReader.c:6746,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiReader.c:6747,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6750
      start: 6727
    functionDepth: 6
    functionLinenumber: 6727
    functionLinenumberEnd: 6750
    functionName: loadStressTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_init_detection_module
    - ndpi_exit_detection_module
    - snprintf
    - ndpi_load_hostname_category
    - ndpi_enable_loaded_categories
    - ndpi_load_ip_category
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: void
    signature: void loadStressTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_kd_create
      Src: /src/ndpi/example/ndpiReader.c:6755,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6766,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6769,1
    - Dst: ndpi_kd_insert
      Src: /src/ndpi/example/ndpiReader.c:6769,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6771,1
    - Dst: ndpi_kd_nearest
      Src: /src/ndpi/example/ndpiReader.c:6771,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6772,1
    - Dst: ndpi_kd_num_results
      Src: /src/ndpi/example/ndpiReader.c:6772,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6773,1
    - Dst: ndpi_kd_result_get_item
      Src: /src/ndpi/example/ndpiReader.c:6773,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6774,1
    - Dst: memcmp
      Src: /src/ndpi/example/ndpiReader.c:6774,1
    - Dst: ndpi_kd_result_free
      Src: /src/ndpi/example/ndpiReader.c:6775,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6777,1
    - Dst: ndpi_kd_nearest
      Src: /src/ndpi/example/ndpiReader.c:6777,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6778,1
    - Dst: ndpi_kd_num_results
      Src: /src/ndpi/example/ndpiReader.c:6778,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6779,1
    - Dst: ndpi_kd_result_get_item
      Src: /src/ndpi/example/ndpiReader.c:6779,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6780,1
    - Dst: memcmp
      Src: /src/ndpi/example/ndpiReader.c:6780,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6781,1
    - Dst: ndpi_kd_distance
      Src: /src/ndpi/example/ndpiReader.c:6781,1
    - Dst: ndpi_kd_result_free
      Src: /src/ndpi/example/ndpiReader.c:6782,1
    - Dst: ndpi_kd_free
      Src: /src/ndpi/example/ndpiReader.c:6784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_kd_insert(t, v[i], NULL) == true)
      pos:
        line_end: 6768
        line_start: 6768
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: ((ret = ndpi_kd_result_get_item(res, NULL)) != NULL)
      pos:
        line_end: 6772
        line_start: 6772
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (memcmp(ret, to_find, sz) == 0)
      pos:
        line_end: 6773
        line_start: 6773
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_kd_num_results(res) == 1)
      pos:
        line_end: 6777
        line_start: 6777
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_kd_distance(ret, v1, 5) == 4.)
      pos:
        line_end: 6780
        line_start: 6780
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: ((ret = ndpi_kd_result_get_item(res, NULL)) != NULL)
      pos:
        line_end: 6778
        line_start: 6778
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: ((res = ndpi_kd_nearest(t, to_find)) != NULL)
      pos:
        line_end: 6770
        line_start: 6770
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (t)
      pos:
        line_end: 6765
        line_start: 6765
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (memcmp(ret, v1, sz) != 0)
      pos:
        line_end: 6779
        line_start: 6779
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_kd_num_results(res) == 1)
      pos:
        line_end: 6771
        line_start: 6771
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: ((res = ndpi_kd_nearest(t, v1)) != NULL)
      pos:
        line_end: 6776
        line_start: 6776
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6785
      start: 6754
    functionDepth: 2
    functionLinenumber: 6754
    functionLinenumberEnd: 6785
    functionName: kdUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_kd_free
    - ndpi_kd_insert
    - ndpi_kd_result_get_item
    - ndpi_kd_num_results
    - assert
    - ndpi_kd_nearest
    - ndpi_kd_distance
    - ndpi_kd_create
    - memcmp
    - ndpi_kd_result_free
    linkageType: ''
    returnType: void
    signature: void kdUnitTest()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_btree_init
      Src: /src/ndpi/example/ndpiReader.c:6805,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6806,1
    - Dst: ndpi_btree_query
      Src: /src/ndpi/example/ndpiReader.c:6807,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6811,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6814,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6817,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6819,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6821,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6824,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6826,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6828,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6830,1
    - Dst: ndpi_free_knn
      Src: /src/ndpi/example/ndpiReader.c:6833,1
    - Dst: ndpi_free_btree
      Src: /src/ndpi/example/ndpiReader.c:6834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (result.n_samples == 2)
      pos:
        line_end: 6810
        line_start: 6810
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ball_tree != NULL)
      pos:
        line_end: 6805
        line_start: 6805
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6835
      start: 6789
    functionDepth: 2
    functionLinenumber: 6789
    functionLinenumberEnd: 6835
    functionName: ballTreeUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_free_knn
    - ndpi_btree_query
    - assert
    - ndpi_btree_init
    - printf
    - ndpi_free_btree
    linkageType: ''
    returnType: void
    signature: void ballTreeUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:6843,1
    - Dst: ndpi_quick_encrypt
      Src: /src/ndpi/example/ndpiReader.c:6845,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6846,1
    - Dst: ndpi_quick_decrypt
      Src: /src/ndpi/example/ndpiReader.c:6847,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6848,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6849,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6851,1
    - Dst: strncmp
      Src: /src/ndpi/example/ndpiReader.c:6851,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:6853,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:6854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (dec != NULL)
      pos:
        line_end: 6847
        line_start: 6847
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (enc != NULL)
      pos:
        line_end: 6845
        line_start: 6845
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (t_len == d_len)
      pos:
        line_end: 6848
        line_start: 6848
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strncmp(dec, test_string, e_len) == 0)
      pos:
        line_end: 6850
        line_start: 6850
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6855
      start: 6839
    functionDepth: 2
    functionLinenumber: 6839
    functionLinenumberEnd: 6855
    functionName: cryptDecryptUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - strlen
    - assert
    - ndpi_free
    - strncmp
    - ndpi_quick_encrypt
    - ndpi_quick_decrypt
    linkageType: ''
    returnType: void
    signature: void cryptDecryptUnitTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6860,1
    - Dst: stat
      Src: /src/ndpi/example/ndpiReader.c:6866,1
    - Dst: stat
      Src: /src/ndpi/example/ndpiReader.c:6867,1
    - Dst: stat
      Src: /src/ndpi/example/ndpiReader.c:6868,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6875,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/example/ndpiReader.c:6875,1
    - Dst: ndpi_get_host_domain_suffix
      Src: /src/ndpi/example/ndpiReader.c:6877,1
    - Dst: ndpi_get_host_domain_suffix
      Src: /src/ndpi/example/ndpiReader.c:6878,1
    - Dst: ndpi_get_host_domain_suffix
      Src: /src/ndpi/example/ndpiReader.c:6879,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6881,1
    - Dst: ndpi_encode_domain
      Src: /src/ndpi/example/ndpiReader.c:6881,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6882,1
    - Dst: ndpi_encode_domain
      Src: /src/ndpi/example/ndpiReader.c:6882,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6884,1
    - Dst: ndpi_load_categories_dir
      Src: /src/ndpi/example/ndpiReader.c:6884,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6885,1
    - Dst: ndpi_load_categories_file
      Src: /src/ndpi/example/ndpiReader.c:6885,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6887,1
    - Dst: ndpi_get_custom_category_match
      Src: /src/ndpi/example/ndpiReader.c:6887,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:6887,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6887,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6888,1
    - Dst: ndpi_get_custom_category_match
      Src: /src/ndpi/example/ndpiReader.c:6888,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:6888,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6888,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6889,1
    - Dst: ndpi_get_custom_category_match
      Src: /src/ndpi/example/ndpiReader.c:6889,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:6889,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6889,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6890,1
    - Dst: ndpi_get_custom_category_match
      Src: /src/ndpi/example/ndpiReader.c:6890,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:6890,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6890,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6891,1
    - Dst: ndpi_get_custom_category_match
      Src: /src/ndpi/example/ndpiReader.c:6891,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:6891,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6891,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6892,1
    - Dst: ndpi_get_custom_category_match
      Src: /src/ndpi/example/ndpiReader.c:6892,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:6892,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6892,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6893,1
    - Dst: ndpi_get_custom_category_match
      Src: /src/ndpi/example/ndpiReader.c:6893,1
    - Dst: strlen
      Src: /src/ndpi/example/ndpiReader.c:6893,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6893,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_load_categories_dir(ndpi_str, lists_dir))
      pos:
        line_end: 6883
        line_start: 6883
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (id == 100)
      pos:
        line_end: 6892
        line_start: 6892
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (id == 107)
      pos:
        line_end: 6890
        line_start: 6890
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_load_domain_suffixes(ndpi_str, (char*)lists_path) == 0)
      pos:
        line_end: 6874
        line_start: 6874
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_encode_domain(ndpi_str, str, out, sizeof(out)) == 8)
      pos:
        line_end: 6880
        line_start: 6880
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_load_categories_file(ndpi_str, categories_path, "categories.txt"))
      pos:
        line_end: 6884
        line_start: 6884
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_get_custom_category_match(ndpi_str, str, strlen(str), &id,
        &breed) == 0)
      pos:
        line_end: 6887
        line_start: 6887
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (id == 100)
      pos:
        line_end: 6887
        line_start: 6887
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_get_custom_category_match(ndpi_str, str, strlen(str), &id,
        &breed) == 0)
      pos:
        line_end: 6890
        line_start: 6890
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (id == 0)
      pos:
        line_end: 6891
        line_start: 6891
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_get_custom_category_match(ndpi_str, str, strlen(str), &id,
        &breed) == 0)
      pos:
        line_end: 6889
        line_start: 6889
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_get_custom_category_match(ndpi_str, str, strlen(str), &id,
        &breed) == -1)
      pos:
        line_end: 6891
        line_start: 6891
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (id == 107)
      pos:
        line_end: 6889
        line_start: 6889
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_get_custom_category_match(ndpi_str, str, strlen(str), &id,
        &breed) == 0)
      pos:
        line_end: 6892
        line_start: 6892
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_encode_domain(ndpi_str, str, out, sizeof(out)) == 8)
      pos:
        line_end: 6881
        line_start: 6881
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_get_custom_category_match(ndpi_str, str, strlen(str), &id,
        &breed) == 0)
      pos:
        line_end: 6886
        line_start: 6886
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (id == 100)
      pos:
        line_end: 6886
        line_start: 6886
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_get_custom_category_match(ndpi_str, str, strlen(str), &id,
        &breed) == 0)
      pos:
        line_end: 6888
        line_start: 6888
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (id == 107)
      pos:
        line_end: 6888
        line_start: 6888
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6897
      start: 6859
    functionDepth: 6
    functionLinenumber: 6859
    functionLinenumberEnd: 6897
    functionName: encodeDomainsUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_get_host_domain_suffix
    - ndpi_load_domain_suffixes
    - ndpi_init_detection_module
    - ndpi_load_categories_dir
    - ndpi_load_categories_file
    - assert
    - strlen
    - ndpi_exit_detection_module
    - ndpi_encode_domain
    - ndpi_get_custom_category_match
    - stat
    linkageType: ''
    returnType: void
    signature: void encodeDomainsUnitTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6902,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6905,1
    - Dst: ndpi_load_protocols_dir
      Src: /src/ndpi/example/ndpiReader.c:6905,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_load_protocols_dir(ndpi_str, "../lists/protocols"))
      pos:
        line_end: 6904
        line_start: 6904
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6909
      start: 6901
    functionDepth: 6
    functionLinenumber: 6901
    functionLinenumberEnd: 6909
    functionName: checkProtocolIDsUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_load_protocols_dir
    - assert
    - ndpi_exit_detection_module
    - ndpi_init_detection_module
    linkageType: ''
    returnType: void
    signature: void checkProtocolIDsUnitTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6914,1
    - Dst: stat
      Src: /src/ndpi/example/ndpiReader.c:6918,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6921,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/example/ndpiReader.c:6921,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6923,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6923,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/example/ndpiReader.c:6923,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6924,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6924,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/example/ndpiReader.c:6924,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6925,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6925,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/example/ndpiReader.c:6925,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6926,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6926,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/example/ndpiReader.c:6926,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6927,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6927,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/example/ndpiReader.c:6927,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6929,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6929,1
    - Dst: ndpi_get_host_domain_suffix
      Src: /src/ndpi/example/ndpiReader.c:6929,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6930,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6930,1
    - Dst: ndpi_get_host_domain_suffix
      Src: /src/ndpi/example/ndpiReader.c:6930,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6931,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6931,1
    - Dst: ndpi_get_host_domain_suffix
      Src: /src/ndpi/example/ndpiReader.c:6931,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6932,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6932,1
    - Dst: ndpi_get_host_domain_suffix
      Src: /src/ndpi/example/ndpiReader.c:6932,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6934,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6934,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/example/ndpiReader.c:6934,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6935,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6935,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/example/ndpiReader.c:6935,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6936,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6936,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/example/ndpiReader.c:6936,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6937,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6937,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/example/ndpiReader.c:6937,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6938,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:6938,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/example/ndpiReader.c:6938,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (strcmp(ndpi_get_host_domain(ndpi_str, "extension.femetrics.grammarly.io"),
        "grammarly.io") == 0)
      pos:
        line_end: 6925
        line_start: 6925
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain(ndpi_str, "www.chosei.chiba.jp"), "www.chosei.chiba.jp")
        == 0)
      pos:
        line_end: 6933
        line_start: 6933
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain(ndpi_str, "zy1ssnfwwl.execute-api.eu-north-1.amazonaws.com"),
        "amazonaws.com") == 0)
      pos:
        line_end: 6937
        line_start: 6937
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain(ndpi_str, "1.0.0.127.in-addr.arpa"),
        "in-addr.arpa") == 0)
      pos:
        line_end: 6922
        line_start: 6922
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain(ndpi_str, "www.ovh.commander1.com"),
        "commander1.com") == 0)
      pos:
        line_end: 6926
        line_start: 6926
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain_suffix(ndpi_str, "www.unipi.it", &suffix_id),
        "it") == 0)
      pos:
        line_end: 6929
        line_start: 6929
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain(ndpi_str, "www.unipi.it"), "unipi.it")
        == 0)
      pos:
        line_end: 6934
        line_start: 6934
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain(ndpi_str, "www.bbc.co.uk"), "bbc.co.uk")
        == 0)
      pos:
        line_end: 6936
        line_start: 6936
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_load_domain_suffixes(ndpi_str, (char*)lists_path) == 0)
      pos:
        line_end: 6920
        line_start: 6920
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain(ndpi_str, "fe80::fd:5447:b2d1:40e0"),
        "fe80::fd:5447:b2d1:40e0") == 0)
      pos:
        line_end: 6923
        line_start: 6923
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain(ndpi_str, "mail.apple.com"), "apple.com")
        == 0)
      pos:
        line_end: 6935
        line_start: 6935
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain(ndpi_str, "192.168.1.2"), "192.168.1.2")
        == 0)
      pos:
        line_end: 6924
        line_start: 6924
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain_suffix(ndpi_str, "www.chosei.chiba.jp",
        &suffix_id), "chosei.chiba.jp") == 0)
      pos:
        line_end: 6928
        line_start: 6928
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain_suffix(ndpi_str, "mail.apple.com", &suffix_id),
        "com") == 0)
      pos:
        line_end: 6930
        line_start: 6930
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ndpi_get_host_domain_suffix(ndpi_str, "www.bbc.co.uk", &suffix_id),
        "co.uk") == 0)
      pos:
        line_end: 6931
        line_start: 6931
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6942
      start: 6913
    functionDepth: 6
    functionLinenumber: 6913
    functionLinenumberEnd: 6942
    functionName: domainsUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - strcmp
    - ndpi_get_host_domain_suffix
    - ndpi_load_domain_suffixes
    - ndpi_init_detection_module
    - assert
    - ndpi_exit_detection_module
    - ndpi_get_host_domain
    - stat
    linkageType: ''
    returnType: void
    signature: void domainsUnitTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_domain_classify_alloc
      Src: /src/ndpi/example/ndpiReader.c:6947,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6950,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6953,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6954,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6956,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiReader.c:6956,1
    - Dst: ndpi_domain_classify_add
      Src: /src/ndpi/example/ndpiReader.c:6958,1
    - Dst: ndpi_domain_classify_add
      Src: /src/ndpi/example/ndpiReader.c:6959,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6960,1
    - Dst: ndpi_domain_classify_hostname
      Src: /src/ndpi/example/ndpiReader.c:6960,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6961,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6962,1
    - Dst: ndpi_domain_classify_add
      Src: /src/ndpi/example/ndpiReader.c:6964,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6965,1
    - Dst: ndpi_domain_classify_hostname
      Src: /src/ndpi/example/ndpiReader.c:6965,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6966,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6967,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6970,1
    - Dst: ndpi_domain_classify_hostname
      Src: /src/ndpi/example/ndpiReader.c:6970,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6971,1
    - Dst: ndpi_domain_classify_size
      Src: /src/ndpi/example/ndpiReader.c:6973,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:6974,1
    - Dst: ndpi_domain_classify_free
      Src: /src/ndpi/example/ndpiReader.c:6977,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (sc)
      pos:
        line_end: 6953
        line_start: 6953
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_domain_classify_hostname(ndpi_str, sc, &class_id, domain))
      pos:
        line_end: 6959
        line_start: 6959
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (((class_id & 0xFFFF0000) >> 16) == NDPI_PROTOCOL_UNSAFE)
      pos:
        line_end: 6966
        line_start: 6966
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: ((class_id & 0xFFFF) == NDPI_PROTOCOL_NTOP)
      pos:
        line_end: 6970
        line_start: 6970
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_str)
      pos:
        line_end: 6952
        line_start: 6952
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (((class_id & 0xFFFF0000) >> 16) == NDPI_PROTOCOL_SAFE)
      pos:
        line_end: 6961
        line_start: 6961
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_domain_classify_hostname(ndpi_str, sc, &class_id, "123vc.club"))
      pos:
        line_end: 6964
        line_start: 6964
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: ((class_id & 0xFFFF) == NDPI_PROTOCOL_CATEGORY_GAMBLING)
      pos:
        line_end: 6965
        line_start: 6965
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_domain_classify_hostname(ndpi_str, sc, &class_id, "blog.ntop.org"))
      pos:
        line_end: 6969
        line_start: 6969
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_finalize_initialization(ndpi_str) == 0)
      pos:
        line_end: 6955
        line_start: 6955
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: ((class_id & 0xFFFF) == NDPI_PROTOCOL_NTOP)
      pos:
        line_end: 6960
        line_start: 6960
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 6979
      start: 6946
    functionDepth: 6
    functionLinenumber: 6946
    functionLinenumberEnd: 6979
    functionName: domainSearchUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_init_detection_module
    - assert
    - ndpi_exit_detection_module
    - ndpi_domain_classify_size
    - ndpi_domain_classify_free
    - ndpi_domain_classify_alloc
    - ndpi_domain_classify_hostname
    - ndpi_domain_classify_add
    - printf
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: void
    signature: void domainSearchUnitTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6984,1
    - Dst: ndpi_domain_classify_alloc
      Src: /src/ndpi/example/ndpiReader.c:6985,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6988,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6989,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6991,1
    - Dst: ndpi_finalize_initialization
      Src: /src/ndpi/example/ndpiReader.c:6991,1
    - Dst: ndpi_domain_classify_add
      Src: /src/ndpi/example/ndpiReader.c:6993,1
    - Dst: ndpi_domain_classify_add
      Src: /src/ndpi/example/ndpiReader.c:6994,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:6996,1
    - Dst: ndpi_domain_classify_hostname
      Src: /src/ndpi/example/ndpiReader.c:6996,1
    - Dst: ndpi_domain_classify_free
      Src: /src/ndpi/example/ndpiReader.c:6998,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/example/ndpiReader.c:6999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (c)
      pos:
        line_end: 6988
        line_start: 6988
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_finalize_initialization(ndpi_str) == 0)
      pos:
        line_end: 6990
        line_start: 6990
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_str)
      pos:
        line_end: 6987
        line_start: 6987
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (!ndpi_domain_classify_hostname(ndpi_str, c, &class_id, "ntop.com"))
      pos:
        line_end: 6995
        line_start: 6995
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 7000
      start: 6983
    functionDepth: 6
    functionLinenumber: 6983
    functionLinenumberEnd: 7000
    functionName: domainSearchUnitTest2
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_init_detection_module
    - assert
    - ndpi_exit_detection_module
    - ndpi_domain_classify_alloc
    - ndpi_domain_classify_hostname
    - ndpi_domain_classify_add
    - ndpi_domain_classify_free
    - ndpi_finalize_initialization
    linkageType: ''
    returnType: void
    signature: void domainSearchUnitTest2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ndpi_init_address_cache
      Src: /src/ndpi/example/ndpiReader.c:7005,1
    - Dst: time
      Src: /src/ndpi/example/ndpiReader.c:7007,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7011,1
    - Dst: snprintf
      Src: /src/ndpi/example/ndpiReader.c:7015,1
    - Dst: getpid
      Src: /src/ndpi/example/ndpiReader.c:7015,1
    - Dst: memset
      Src: /src/ndpi/example/ndpiReader.c:7017,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7019,1
    - Dst: ndpi_address_cache_insert
      Src: /src/ndpi/example/ndpiReader.c:7019,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7022,1
    - Dst: ndpi_address_cache_insert
      Src: /src/ndpi/example/ndpiReader.c:7022,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7024,1
    - Dst: ndpi_address_cache_find
      Src: /src/ndpi/example/ndpiReader.c:7024,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7025,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:7025,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7026,1
    - Dst: ndpi_address_cache_find
      Src: /src/ndpi/example/ndpiReader.c:7026,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7028,1
    - Dst: ndpi_address_cache_dump
      Src: /src/ndpi/example/ndpiReader.c:7028,1
    - Dst: ndpi_term_address_cache
      Src: /src/ndpi/example/ndpiReader.c:7029,1
    - Dst: ndpi_init_address_cache
      Src: /src/ndpi/example/ndpiReader.c:7031,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7032,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7033,1
    - Dst: ndpi_address_cache_restore
      Src: /src/ndpi/example/ndpiReader.c:7033,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7036,1
    - Dst: ndpi_address_cache_find
      Src: /src/ndpi/example/ndpiReader.c:7036,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7037,1
    - Dst: strcmp
      Src: /src/ndpi/example/ndpiReader.c:7037,1
    - Dst: ndpi_term_address_cache
      Src: /src/ndpi/example/ndpiReader.c:7039,1
    - Dst: unlink
      Src: /src/ndpi/example/ndpiReader.c:7040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cache)
      pos:
        line_end: 7010
        line_start: 7010
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_address_cache_insert(cache, ip, "hello.local", epoch_now, 0)
        == true)
      pos:
        line_end: 7021
        line_start: 7021
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: ((ret = ndpi_address_cache_find(cache, ip, epoch_now)) != NULL)
      pos:
        line_end: 7023
        line_start: 7023
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_address_cache_dump(cache, fname, epoch_now))
      pos:
        line_end: 7027
        line_start: 7027
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ret->hostname, "hello.local") == 0)
      pos:
        line_end: 7024
        line_start: 7024
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_address_cache_find(cache, ip, epoch_now + 1) == NULL)
      pos:
        line_end: 7025
        line_start: 7025
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_address_cache_restore(cache, fname, epoch_now) == 1)
      pos:
        line_end: 7032
        line_start: 7032
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_address_cache_insert(cache, ip, "nodomain.local", epoch_now,
        32) == true)
      pos:
        line_end: 7018
        line_start: 7018
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (cache)
      pos:
        line_end: 7031
        line_start: 7031
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: ((ret = ndpi_address_cache_find(cache, ip, epoch_now)) != NULL)
      pos:
        line_end: 7035
        line_start: 7035
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (strcmp(ret->hostname, "nodomain.local") == 0)
      pos:
        line_end: 7036
        line_start: 7036
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 7041
      start: 7004
    functionDepth: 4
    functionLinenumber: 7004
    functionLinenumberEnd: 7041
    functionName: domainCacheTestUnit
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_address_cache_find
    - strcmp
    - ndpi_address_cache_dump
    - time
    - assert
    - snprintf
    - ndpi_address_cache_insert
    - ndpi_term_address_cache
    - unlink
    - ndpi_init_address_cache
    - ndpi_address_cache_restore
    - memset
    - getpid
    linkageType: ''
    returnType: void
    signature: void domainCacheTestUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7049,1
    - Dst: ndpi_memrchr
      Src: /src/ndpi/example/ndpiReader.c:7049,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7050,1
    - Dst: ndpi_memrchr
      Src: /src/ndpi/example/ndpiReader.c:7050,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7051,1
    - Dst: ndpi_memrchr
      Src: /src/ndpi/example/ndpiReader.c:7051,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7052,1
    - Dst: ndpi_memrchr
      Src: /src/ndpi/example/ndpiReader.c:7052,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7053,1
    - Dst: ndpi_memrchr
      Src: /src/ndpi/example/ndpiReader.c:7053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ndpi_memrchr(a, 's', sizeof(a) -1) == a)
      pos:
        line_end: 7048
        line_start: 7048
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memrchr(a, 't', sizeof(a) - 1) == a + 1)
      pos:
        line_end: 7050
        line_start: 7050
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memrchr(a, 'b', sizeof(a) - 1) == NULL)
      pos:
        line_end: 7049
        line_start: 7049
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memrchr(a, 'g', sizeof(a) - 1) == a + 5)
      pos:
        line_end: 7051
        line_start: 7051
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_memrchr(a, '\0', sizeof(a) - 1) == NULL)
      pos:
        line_end: 7052
        line_start: 7052
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 7054
      start: 7045
    functionDepth: 1
    functionLinenumber: 7045
    functionLinenumberEnd: 7054
    functionName: checkmemrchrUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - assert
    - ndpi_memrchr
    linkageType: ''
    returnType: void
    signature: void checkmemrchrUnitTest()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/ndpi/example/ndpiReader.c:7065,1
    - Dst: srand
      Src: /src/ndpi/example/ndpiReader.c:7068,1
    - Dst: snprintf
      Src: /src/ndpi/example/ndpiReader.c:7074,1
    - Dst: getpid
      Src: /src/ndpi/example/ndpiReader.c:7074,1
    - Dst: ndpi_init_ranking
      Src: /src/ndpi/example/ndpiReader.c:7076,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7077,1
    - Dst: ndpi_serialize_ranking
      Src: /src/ndpi/example/ndpiReader.c:7077,1
    - Dst: ndpi_term_ranking
      Src: /src/ndpi/example/ndpiReader.c:7079,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7081,1
    - Dst: ndpi_deserialize_ranking
      Src: /src/ndpi/example/ndpiReader.c:7081,1
    - Dst: rand
      Src: /src/ndpi/example/ndpiReader.c:7085,1
    - Dst: ndpi_ranking_add_epoch
      Src: /src/ndpi/example/ndpiReader.c:7087,1
    - Dst: ndpi_term_ranking
      Src: /src/ndpi/example/ndpiReader.c:7094,1
    - Dst: ndpi_init_ranking
      Src: /src/ndpi/example/ndpiReader.c:7098,1
    - Dst: ndpi_ranking_add_epoch
      Src: /src/ndpi/example/ndpiReader.c:7104,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:7110,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:7113,1
    - Dst: ndpi_print_ranking
      Src: /src/ndpi/example/ndpiReader.c:7117,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7119,1
    - Dst: ndpi_ranking_add_epoch
      Src: /src/ndpi/example/ndpiReader.c:7126,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:7132,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:7135,1
    - Dst: ndpi_print_ranking
      Src: /src/ndpi/example/ndpiReader.c:7139,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7141,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:7147,1
    - Dst: ndpi_ranking_add_epoch
      Src: /src/ndpi/example/ndpiReader.c:7154,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:7160,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:7163,1
    - Dst: ndpi_print_ranking
      Src: /src/ndpi/example/ndpiReader.c:7167,1
    - Dst: assert
      Src: /src/ndpi/example/ndpiReader.c:7169,1
    - Dst: ndpi_term_ranking
      Src: /src/ndpi/example/ndpiReader.c:7173,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 1
    argNames:
    - do_trace
    argTypes:
    - bool
    assertStmts:
    - condition: (num_changes == 0)
      pos:
        line_end: 7118
        line_start: 7118
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_serialize_ranking(&rank, path) == true)
      pos:
        line_end: 7076
        line_start: 7076
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (ndpi_deserialize_ranking(&rank, path) == true)
      pos:
        line_end: 7080
        line_start: 7080
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (num_changes > 0)
      pos:
        line_end: 7140
        line_start: 7140
        source_file: /src/ndpi/example/ndpiReader.c
    - condition: (num_changes == 0)
      pos:
        line_end: 7168
        line_start: 7168
        source_file: /src/ndpi/example/ndpiReader.c
    constantsTouched: []
    func_position:
      end: 7174
      start: 7058
    functionDepth: 2
    functionLinenumber: 7058
    functionLinenumberEnd: 7174
    functionName: checkRankingUnitTest
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - ndpi_print_ranking
    - time
    - assert
    - snprintf
    - srand
    - ndpi_ranking_add_epoch
    - ndpi_serialize_ranking
    - ndpi_term_ranking
    - ndpi_deserialize_ranking
    - printf
    - getpid
    - ndpi_init_ranking
    - rand
    linkageType: ''
    returnType: void
    signature: void checkRankingUnitTest(bool do_trace)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: checkRankingUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7190,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:7191,1
    - Dst: fopen
      Src: /src/ndpi/example/ndpiReader.c:7195,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:7200,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:7201,1
    - Dst: fprintf
      Src: /src/ndpi/example/ndpiReader.c:7204,1
    - Dst: ndpi_get_api_version
      Src: /src/ndpi/example/ndpiReader.c:7208,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:7209,1
    - Dst: checkRankingUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7217,1
    - Dst: hwUnitTest2
      Src: /src/ndpi/example/ndpiReader.c:7220,1
    - Dst: desUnitStressTest
      Src: /src/ndpi/example/ndpiReader.c:7224,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:7225,1
    - Dst: domainCacheTestUnit
      Src: /src/ndpi/example/ndpiReader.c:7228,1
    - Dst: cryptDecryptUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7229,1
    - Dst: kdUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7230,1
    - Dst: encodeDomainsUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7231,1
    - Dst: loadStressTest
      Src: /src/ndpi/example/ndpiReader.c:7232,1
    - Dst: domainsUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7233,1
    - Dst: outlierUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7234,1
    - Dst: pearsonUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7235,1
    - Dst: binaryBitmapUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7236,1
    - Dst: domainSearchUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7237,1
    - Dst: domainSearchUnitTest2
      Src: /src/ndpi/example/ndpiReader.c:7238,1
    - Dst: sketchUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7239,1
    - Dst: linearUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7240,1
    - Dst: zscoreUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7241,1
    - Dst: sesUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7242,1
    - Dst: desUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7243,1
    - Dst: jitterUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7248,1
    - Dst: rsiUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7249,1
    - Dst: hashUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7250,1
    - Dst: dgaUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7251,1
    - Dst: hllUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7252,1
    - Dst: bitmapUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7253,1
    - Dst: filterUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7254,1
    - Dst: automataUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7255,1
    - Dst: automataDomainsUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7256,1
    - Dst: analyzeUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7257,1
    - Dst: analysisUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7258,1
    - Dst: compressedBitmapUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7259,1
    - Dst: strtonumUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7260,1
    - Dst: strlcpyUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7261,1
    - Dst: strnstrUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7262,1
    - Dst: strncasestrUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7263,1
    - Dst: memmemUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7264,1
    - Dst: memcasecmpUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7265,1
    - Dst: mahalanobisUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7266,1
    - Dst: bitmaskUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7267,1
    - Dst: checkmemrchrUnitTest
      Src: /src/ndpi/example/ndpiReader.c:7268,1
    - Dst: gettimeofday
      Src: /src/ndpi/example/ndpiReader.c:7272,1
    - Dst: memset
      Src: /src/ndpi/example/ndpiReader.c:7273,1
    - Dst: getenv
      Src: /src/ndpi/example/ndpiReader.c:7275,1
    - Dst: ac_automata_enable_debug
      Src: /src/ndpi/example/ndpiReader.c:7276,1
    - Dst: parseOptions
      Src: /src/ndpi/example/ndpiReader.c:7278,1
    - Dst: ndpiCheckHostStringMatch
      Src: /src/ndpi/example/ndpiReader.c:7281,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:7282,1
    - Dst: ndpiCheckHostsFileStringMatch
      Src: /src/ndpi/example/ndpiReader.c:7286,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:7287,1
    - Dst: ndpiCheckIPMatch
      Src: /src/ndpi/example/ndpiReader.c:7291,1
    - Dst: exit
      Src: /src/ndpi/example/ndpiReader.c:7292,1
    - Dst: init_doh_bins
      Src: /src/ndpi/example/ndpiReader.c:7296,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:7308,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:7315,1
    - Dst: ndpi_revision
      Src: /src/ndpi/example/ndpiReader.c:7315,1
    - Dst: ndpi_get_gcrypt_version
      Src: /src/ndpi/example/ndpiReader.c:7317,1
    - Dst: printf
      Src: /src/ndpi/example/ndpiReader.c:7319,1
    - Dst: signal
      Src: /src/ndpi/example/ndpiReader.c:7322,1
    - Dst: test_lib
      Src: /src/ndpi/example/ndpiReader.c:7325,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:7327,1
    - Dst: fclose
      Src: /src/ndpi/example/ndpiReader.c:7328,1
    - Dst: pcap_dump_close
      Src: /src/ndpi/example/ndpiReader.c:7329,1
    - Dst: pcap_close
      Src: /src/ndpi/example/ndpiReader.c:7330,1
    - Dst: ndpi_free_bin
      Src: /src/ndpi/example/ndpiReader.c:7331,1
    - Dst: fclose
      Src: /src/ndpi/example/ndpiReader.c:7332,1
    - Dst: fclose
      Src: /src/ndpi/example/ndpiReader.c:7333,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:7335,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:7338,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:7339,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:7340,1
    - Dst: ndpi_free
      Src: /src/ndpi/example/ndpiReader.c:7344,1
    - Dst: fclose
      Src: /src/ndpi/example/ndpiReader.c:7351,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 113
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7355
      start: 7181
    functionDepth: 13
    functionLinenumber: 7181
    functionLinenumberEnd: 7355
    functionName: main
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 13
    functionsReached:
    - hashUnitTest
    - memcasecmpUnitTest
    - bitmapUnitTest
    - checkRankingUnitTest
    - mahalanobisUnitTest
    - ndpiCheckHostStringMatch
    - hllUnitTest
    - binaryBitmapUnitTest
    - ndpiCheckIPMatch
    - domainsUnitTest
    - ndpiCheckHostsFileStringMatch
    - automataDomainsUnitTest
    - ndpi_get_gcrypt_version
    - fopen
    - gettimeofday
    - desUnitTest
    - pearsonUnitTest
    - sesUnitTest
    - filterUnitTest
    - signal
    - strnstrUnitTest
    - desUnitStressTest
    - hwUnitTest2
    - analysisUnitTest
    - checkmemrchrUnitTest
    - strncasestrUnitTest
    - cryptDecryptUnitTest
    - outlierUnitTest
    - printf
    - sketchUnitTest
    - fprintf
    - encodeDomainsUnitTest
    - ndpi_revision
    - init_doh_bins
    - ndpi_free
    - strlcpyUnitTest
    - domainSearchUnitTest2
    - rsiUnitTest
    - domainCacheTestUnit
    - automataUnitTest
    - memmemUnitTest
    - fclose
    - bitmaskUnitTest
    - dgaUnitTest
    - pcap_close
    - ndpi_get_api_version
    - domainSearchUnitTest
    - zscoreUnitTest
    - loadStressTest
    - strtonumUnitTest
    - memset
    - ac_automata_enable_debug
    - exit
    - parseOptions
    - test_lib
    - jitterUnitTest
    - ndpi_free_bin
    - linearUnitTest
    - analyzeUnitTest
    - compressedBitmapUnitTest
    - pcap_dump_close
    - getenv
    - kdUnitTest
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AttachConsole
      Src: /src/ndpi/example/ndpiReader.c:7360,1
    - Dst: freopen
      Src: /src/ndpi/example/ndpiReader.c:7361,1
    - Dst: freopen
      Src: /src/ndpi/example/ndpiReader.c:7362,1
    - Dst: freopen
      Src: /src/ndpi/example/ndpiReader.c:7363,1
    - Dst: main
      Src: /src/ndpi/example/ndpiReader.c:7366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpCmdLine
    - nShowCmd
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - LPSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7367
      start: 7358
    functionDepth: 0
    functionLinenumber: 7358
    functionLinenumberEnd: 7367
    functionName: WinMain
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 0
    functionsReached:
    - main
    - freopen
    - AttachConsole
    linkageType: ''
    returnType: int
    signature: int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,
      int nShowCmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/ndpi/example/ndpiReader.c:7397,1
    - Dst: _tzset
      Src: /src/ndpi/example/ndpiReader.c:7409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - tv
    - tz
    argTypes:
    - struct timeval*
    - struct timezone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7418
      start: 7390
    functionDepth: 0
    functionLinenumber: 7390
    functionLinenumberEnd: 7418
    functionName: gettimeofday
    functionSourceFile: /src/ndpi/example/ndpiReader.c
    functionUses: 9
    functionsReached:
    - _tzset
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int
    signature: int gettimeofday(struct timeval *tv, struct timezone *tz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/utils/print_rank.c:30,1
    - Dst: ndpi_deserialize_ranking
      Src: /src/ndpi/utils/print_rank.c:34,1
    - Dst: printf
      Src: /src/ndpi/utils/print_rank.c:35,1
    - Dst: ndpi_print_ranking
      Src: /src/ndpi/utils/print_rank.c:37,1
    - Dst: ndpi_term_ranking
      Src: /src/ndpi/utils/print_rank.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: main
    functionSourceFile: /src/ndpi/utils/print_rank.c
    functionUses: 14
    functionsReached:
    - printf
    - ndpi_deserialize_ranking
    - ndpi_print_ranking
    - ndpi_term_ranking
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/ndpi/utils/hosts2domains.c:33,1
    - Dst: fopen
      Src: /src/ndpi/utils/hosts2domains.c:37,1
    - Dst: printf
      Src: /src/ndpi/utils/hosts2domains.c:39,1
    - Dst: assert
      Src: /src/ndpi/utils/hosts2domains.c:43,1
    - Dst: ndpi_init_detection_module
      Src: /src/ndpi/utils/hosts2domains.c:43,1
    - Dst: assert
      Src: /src/ndpi/utils/hosts2domains.c:44,1
    - Dst: ndpi_load_domain_suffixes
      Src: /src/ndpi/utils/hosts2domains.c:44,1
    - Dst: fgets
      Src: /src/ndpi/utils/hosts2domains.c:46,1
    - Dst: strlen
      Src: /src/ndpi/utils/hosts2domains.c:47,1
    - Dst: printf
      Src: /src/ndpi/utils/hosts2domains.c:53,1
    - Dst: ndpi_get_host_domain
      Src: /src/ndpi/utils/hosts2domains.c:53,1
    - Dst: fclose
      Src: /src/ndpi/utils/hosts2domains.c:57,1
    - Dst: ndpi_exit_detection_module
      Src: /src/ndpi/utils/hosts2domains.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (ndpi_str = ndpi_init_detection_module(NULL))
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/ndpi/utils/hosts2domains.c
    - condition: (ndpi_load_domain_suffixes(ndpi_str, (char*)lists_path) == 0)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/ndpi/utils/hosts2domains.c
    constantsTouched: []
    func_position:
      end: 62
      start: 26
    functionDepth: 6
    functionLinenumber: 26
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/ndpi/utils/hosts2domains.c
    functionUses: 15
    functionsReached:
    - ndpi_load_domain_suffixes
    - fclose
    - ndpi_init_detection_module
    - strlen
    - assert
    - ndpi_exit_detection_module
    - fopen
    - ndpi_get_host_domain
    - printf
    - fgets
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
Fuzzer filename: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- arpa/inet.h
- pcre2.h
- ../src/lib/third_party/include/binaryfusefilter.h
- memory.h
- printbuf.h
- chrono
- inc_generated/ndpi_asn_yandex.c.inc
- bsd/stdlib.h
- inc_generated/ndpi_asn_disney_plus.c.inc
- strdup_compat.h
- inc_generated/ndpi_icloud_private_relay_match.c.inc
- sys/stat.h
- inc_generated/ndpi_amazon_aws_dynamodb_match.c.inc
- rte_lcore.h
- algorithm
- ndpi_private.h
- stddef.h
- gcrypt/cipher.h
- inc_generated/ndpi_asn_blizzard.c.inc
- third_party/include/MurmurHash3.h
- json_tokener.h
- netinet/ip6.h
- inc_generated/ndpi_asn_opendns.c.inc
- json_object_private.h
- netinet/tcp.h
- stdalign.h
- pl7m.h
- ../src/lib/third_party/include/uthash.h
- gcrypt/digest.c
- ../src/lib/third_party/include/libinjection.h
- libcache.h
- libinjection.h
- gcrypt/gcm.h
- rte_ether.h
- syslog.h
- wchar.h
- pcap/pcap.h
- winsock2.h
- smmintrin.h
- json_pointer_private.h
- asm/byteorder.h
- ../src/lib/third_party/include/gcrypt_light.h
- linux/string.h
- inc_generated/ndpi_google_match.c.inc
- avx2intrin.h
- pcap/namedb.h
- ../../../nDPI-custom/custom_ndpi_main.c
- roaring_v2.h
- io.h
- ball.h
- ../include/secure_memzero.h
- netinet/in_systm.h
- Win32-Extensions.h
- ../src/lib/third_party/include/libcache.h
- inc_generated/ndpi_asn_netflix.c.inc
- remote-ext.h
- json_inttypes.h
- arraylist.h
- gcrypt/cipher.c
- ../../../include/ndpi_replace_printf.h
- inc_generated/ndpi_domains_ms_onedrive_match.c.inc
- machine/bswap.h
- inc_generated/ndpi_asn_discord.c.inc
- sanitizer/msan_interface.h
- sched.h
- stdarg.h
- math.h
- inc_generated/ndpi_asn_hotspotshield.c.inc
- ndpi_includes_OpenBSD.h
- inc_generated/ndpi_google_cloud_match.c.inc
- shoco.h
- bmiintrin.h
- inc_generated/ndpi_ms_outlook_match.c.inc
- solarisfixes.h
- limits
- ws2tcpip.h
- string
- ../src/lib/third_party/include/libinjection_sqli.h
- sys/resource.h
- tuple
- sys/endian.h
- signal.h
- cstring
- inc_generated/ndpi_amazon_aws_s3_match.c.inc
- inc_generated/ndpi_asn_twitch.c.inc
- json_config.h
- netinet/in.h
- pcap/bpf.h
- ndpi_os_fingerprint.c.inc
- gcrypt/cipher_wrap.h
- inc_generated/ndpi_cloudflare_match.c.inc
- inc_generated/ndpi_asn_threema.c.inc
- fcntl.h
- functional
- math_compat.h
- third_party/include/windows/dirent.h
- netinet/ip_icmp.h
- inc_generated/ndpi_asn_apple.c.inc
- reader_util.h
- pcap.h
- cpuid.h
- linux/types.h
- rte_eal.h
- apps_config.h
- libinjection_sqli.h
- inc_generated/ndpi_asn_epicgames.c.inc
- rte_mbuf.h
- immintrin.h
- process.h
- search.h
- ctype.h
- inc_generated/ndpi_domains_aws_cloudfront_match.c.inc
- inc_generated/ndpi_asn_badoo.c.inc
- third_party/include/roaring_v2.h
- json_patch.h
- ../../../nDPI-custom/ndpi_utils_dpi2json_protos.c
- malloc.h
- gcrypt.h
- third_party/include/ndpi_patricia.h
- ndpi_replace_printf.h
- gcrypt/aesni.c
- ndpi_dga_match.c.inc
- inc_generated/ndpi_domains_aws_api_gateway_match.c.inc
- third_party/include/roaring.h
- btlib.h
- xlocale.h
- inc_generated/ndpi_asn_line.c.inc
- inc_generated/ndpi_domains_aws_s3_match.c.inc
- lzcntintrin.h
- linkhash.h
- assert.h
- third_party/include/uthash.h
- rte_version.h
- inc_generated/ndpi_asn_edgecast.c.inc
- inc_generated/ndpi_domains_ms_teams_match.c.inc
- ../../nDPI-custom/ndpiReader_flow_serialize.c
- linux/kernel.h
- fuzzer/FuzzedDataProvider.h
- unistd.h
- inc_generated/ndpi_domains_ms_azure_match.c.inc
- inc_generated/ndpi_domains_ms_generic_match.c.inc
- third_party/include/ndpi_md5.h
- avx512vpopcntdqintrin.h
- inc_generated/ndpi_asn_vk.c.inc
- wincrypt.h
- gcrypt/error.h
- vasprintf_compat.h
- avx512fintrin.h
- libkern/OSByteOrder.h
- sys/types.h
- json_visit.h
- vector
- inc_generated/ndpi_nordvpn_match.c.inc
- inc_generated/ndpi_asn_twitter.c.inc
- locale.h
- inc_generated/ndpi_asn_teamviewer.c.inc
- avx512vbmiintrin.h
- avx512vlintrin.h
- ndpi_win32.h
- ../../src/lib/third_party/include/gcrypt_light.h
- maxminddb.h
- atomic
- ndpi_classify.h
- inc_generated/ndpi_azure_match.c.inc
- inc_generated/ndpi_asn_yandex_cloud.c.inc
- dirent.h
- emmintrin.h
- inc_generated/ndpi_amazon_aws_ec2_match.c.inc
- gcrypt/aes.c
- avx512bwintrin.h
- pcap-stdinc.h
- rte_ethdev.h
- machine/endian.h
- inc_generated/ndpi_asn_avast.c.inc
- rrd.h
- inc_generated/ndpi_asn_dropbox.c.inc
- stdlib.h
- ../../../nDPI-custom/custom_ndpi_protocols.c
- inc_generated/ndpi_tor_exit_nodes_match.c.inc
- sys/time.h
- stdint.h
- inc_generated/ndpi_domains_aws_emr_match.c.inc
- gcrypt/aesni.h
- inc_generated/ndpi_domains_ms_outlook_match.c.inc
- kdtree.h
- stdbool.h
- json_c_version.h
- ndpi_sha1.h
- strings.h
- ../src/lib/third_party/include/ahocorasick.h
- arm_neon.h
- ../../nDPI-custom/ndpiReader_term.c
- inc_generated/ndpi_surfshark_match.c.inc
- ndpi_patricia_typedefs.h
- inc_generated/ndpi_asn_canonical.c.inc
- json_pointer.h
- dmalloc.h
- ../../../nDPI-custom/ndpi_utils_dpi2json_dtls.c
- sys/socket.h
- ../../../nDPI-custom/custom_ndpi_private.h
- third_party/include/libinjection_xss.h
- ndpi_patricia.h
- json_object_iterator.h
- nbpf.h
- libinjection_html5.h
- rte_cycles.h
- netinet/ip.h
- ip6_misc.h
- ndpi_includes.h
- byteswap.h
- third_party/include/binaryfusefilter.h
- ../../../nDPI-custom/custom_ndpi_main_init.c
- sys/random.h
- IP6_misc.h
- json_types.h
- inc_generated/ndpi_asn_tencent.c.inc
- avx512dqintrin.h
- third_party/include/ndpi_sha256.h
- MurmurHash3.h
- inc_generated/ndpi_asn_telegram.c.inc
- debug.h
- gcrypt/aes.h
- linux/ppp_defs.h
- random
- ../../nDPI-custom/ndpiReader_defs.c
- string.h
- ndpi_protocol_ids.h
- third_party/include/rce_injection.h
- windows.h
- ../../../nDPI-custom/ndpi_utils_dpi2json_stun.c
- netinet/if_ether.h
- inc_generated/ndpi_domains_aws_ec2_match.c.inc
- inc_generated/ndpi_digitalocean_match.c.inc
- gcrypt/gcm.c
- ndpi_md5.h
- snprintf_compat.h
- sys/mman.h
- sys/byteorder.h
- ndpi_main.h
- ../../nDPI-custom/ndpiReader_init.c
- gcrypt_light.h
- iostream
- inc_generated/ndpi_asn_steam.c.inc
- ndpi_define.h
- inc_generated/ndpi_ms_onedrive_match.c.inc
- json_object.h
- ../src/lib/third_party/include/libinjection_xss.h
- avxintrin.h
- inc_generated/ndpi_zoom_match.c.inc
- third_party/include/aes.h
- inttypes.h
- ndpi_content_match.c.inc
- third_party/include/kdtree.h
- roaring.h
- inc_generated/ndpi_amazon_aws_api_gateway_match.c.inc
- inc_generated/ndpi_crawlers_match.c.inc
- pshpack1.h
- netinet/udp.h
- gcrypt/digest.h
- inc_generated/ndpi_msteams_match.c.inc
- sys/param.h
- inc_generated/ndpi_asn_alibaba.c.inc
- inc_generated/ndpi_asn_github.c.inc
- endian.h
- parse_flags.h
- stdatomic.h
- inc_generated/ndpi_asn_bloomberg.c.inc
- float.h
- inc_generated/ndpi_whatsapp_match.c.inc
- netinet/icmp6.h
- inc_generated/ndpi_asn_facebook.c.inc
- inc_generated/ndpi_cachefly_match.c.inc
- inc_generated/ndpi_asn_goto.c.inc
- libgen.h
- inc_generated/ndpi_asn_nvidia.c.inc
- poppack.h
- inc_generated/ndpi_domains_ms_office365_match.c.inc
- ahocorasick.h
- inc_generated/ndpi_asn_hulu.c.inc
- pthread.h
- libinjection_xss.h
- intrin.h
- shoco_domains_model.h
- sys/cdefs.h
- ndpi_encryption.h
- avx512vbmi2intrin.h
- libinjection_sqli_data.h
- time.h
- config.h
- ndpi_typedefs.h
- inc_generated/ndpi_amazon_aws_kinesis_match.c.inc
- tmmintrin.h
- inc_generated/ndpi_domains_aws_cognito_match.c.inc
- linux/slab.h
- json_util.h
- errno.h
- inc_generated/ndpi_asn_riotgames.c.inc
- type_traits
- BaseTsd.h
- gcrypt/common.h
- third_party/include/libinjection.h
- ndpi_config.h
- wmmintrin.h
- inc_generated/ndpi_asn_imo.c.inc
- limits.h
- inc_generated/ndpi_asn_webex.c.inc
- inc_generated/ndpi_ethereum_match.c.inc
- bittypes.h
- third_party/include/ball.h
- third_party/include/libinjection_sqli.h
- gcrypt/cipher_wrap.c
- inc_generated/ndpi_amazon_aws_cloudfront_match.c.inc
- random_seed.h
- inc_generated/ndpi_tor_match.c.inc
- fuzz_common_code.h
- net/bpf.h
- map
- stdio.h
- inc_generated/ndpi_akamai_match.c.inc
- ndpi_sha256.h
- aes.h
- ../include/MurmurHash3.h
- avx512cdintrin.h
- inc_generated/ndpi_amazon_aws_match.c.inc
- ../../../nDPI-custom/custom_ndpi_protocol_ids.h
- x86intrin.h
- netdb.h
- json.h
- ../../../nDPI-custom/ndpi_exit_detection_module.c
- strerror_override.h
- inc_generated/ndpi_mullvad_match.c.inc
- ndpi_api.h
- ../include/hll.h
- inc_generated/ndpi_asn_roblox.c.inc
- inc_generated/ndpi_ms_office365_match.c.inc
- getopt.h
- ../../src/lib/third_party/src/gcrypt_light.c
- third_party/include/hll.h
report: name
sources:
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/json_tokener.h
  types:
    enum:
    - enumerators:
      - name: json_tokener_success
      - name: json_tokener_error_parse_unexpected
      - name: json_tokener_error_parse_eof
      - name: json_tokener_continue
      - name: json_tokener_error_depth
      - name: json_tokener_error_parse_null
      - name: json_tokener_error_parse_boolean
      - name: json_tokener_error_parse_number
      - name: json_tokener_error_parse_array
      - name: json_tokener_error_parse_object_key_name
      - name: json_tokener_error_parse_object_key_sep
      - name: json_tokener_error_parse_utf8_string
      - name: json_tokener_error_parse_comment
      - name: json_tokener_error_size
      - name: json_tokener_error_parse_string
      - name: json_tokener_error_parse_object_value_sep
      - name: json_tokener_error_memory
      item_type: enum
      name: json_tokener_error
      pos:
        line_end: 44
        line_start: 25
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.h
    - enumerators:
      - name: json_tokener_state_start
      - name: json_tokener_state_comment
      - name: json_tokener_state_string_escape
      - name: json_tokener_state_boolean
      - name: json_tokener_state_array
      - name: json_tokener_state_object_field
      - name: json_tokener_state_object_sep
      - name: json_tokener_state_finish
      - name: json_tokener_state_comment_eol
      - name: json_tokener_state_number
      - name: json_tokener_state_escape_unicode
      - name: json_tokener_state_array_add
      - name: json_tokener_state_object_field_end
      - name: json_tokener_state_array_after_sep
      - name: json_tokener_state_eatws
      - name: json_tokener_state_null
      - name: json_tokener_state_comment_end
      - name: json_tokener_state_escape_unicode_need_escape
      - name: json_tokener_state_array_sep
      - name: json_tokener_state_object_value
      - name: json_tokener_state_object_field_start_after_sep
      - name: json_tokener_state_comment_start
      - name: json_tokener_state_string
      - name: json_tokener_state_object_field_start
      - name: json_tokener_state_escape_unicode_need_u
      - name: json_tokener_state_object_value_add
      - name: json_tokener_state_inf
      item_type: enum
      name: json_tokener_state
      pos:
        line_end: 78
        line_start: 49
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.h
    preproc_defs:
    - item_type: preproc_def
      name: JSON_TOKENER_DEFAULT_DEPTH
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.h
      type_or_value: '32'
    - item_type: preproc_def
      name: JSON_TOKENER_STRICT
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: JSON_TOKENER_ALLOW_TRAILING_CHARS
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: JSON_TOKENER_VALIDATE_UTF8
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.h
      type_or_value: '0x10'
    structs:
    - fields:
      - name: state
        type: enum json_tokener_state
      - name: '*obj'
        type: struct json_object
      - name: '*current'
        type: struct json_object
      - name: '*obj_field_name'
        type: char
      item_type: struct
      name: json_tokener_srec
      pos:
        line_end: 89
        line_start: 83
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.h
    - fields:
      - name: '*str'
        type: char
      - name: '*pb'
        type: struct printbuf
      - name: max_depth
        type: int
      - name: char_offset
        type: int
      - name: err
        type: enum json_tokener_error
      - name: ucs_char
        type: unsigned int
      - name: quote_char
        type: char
      - name: '*stack'
        type: struct json_tokener_srec
      - name: flags
        type: int
      item_type: struct
      name: json_tokener
      pos:
        line_end: 120
        line_start: 100
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.h
    typedefs:
    - item_type: typedef
      name: json_tokener
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.h
      type: json_tokener
    union: []
- function_names:
  - array_list_new
  - array_list_new2
  - array_list_free
  - array_list_get_idx
  - array_list_expand_internal
  - array_list_shrink
  - array_list_insert_idx
  - array_list_put_idx
  - array_list_add
  - array_list_sort
  - array_list_bsearch
  - array_list_length
  - array_list_del_idx
  source_file: /src/json-c-json-c-0.17-20230812/arraylist.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZE_T_MAX
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/json-c-json-c-0.17-20230812/arraylist.c
      type_or_value: UINT_MAX
    - item_type: preproc_def
      name: SIZE_T_MAX
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/json-c-json-c-0.17-20230812/arraylist.c
      type_or_value: ULONG_MAX
    - item_type: preproc_def
      name: SIZE_T_MAX
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/json-c-json-c-0.17-20230812/arraylist.c
      type_or_value: ULLONG_MAX
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/random_seed.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isnan
  - isnan
  - isinf
  - isinf
  source_file: /src/json-c-json-c-0.17-20230812/math_compat.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INFINITY
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/json-c-json-c-0.17-20230812/math_compat.h
      type_or_value: (DBL_MAX + DBL_MAX)
    - item_type: preproc_def
      name: NAN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/json-c-json-c-0.17-20230812/math_compat.h
      type_or_value: (INFINITY - INFINITY)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/json_patch.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: errno_code
        type: int
      - name: patch_failure_idx
        type: size_t
      - name: '*errmsg'
        type: char
      item_type: struct
      name: json_patch_error
      pos:
        line_end: 47
        line_start: 24
        source_file: /src/json-c-json-c-0.17-20230812/json_patch.h
    typedefs: []
    union: []
- function_names:
  - is_plain_digit
  - string_replace_all_occurrences_with_char
  - is_valid_index
  - json_pointer_get_single_path
  - json_object_array_put_idx_cb
  - json_pointer_set_single_path
  - json_pointer_result_get_recursive
  - json_pointer_object_get_recursive
  - json_pointer_get_internal
  - json_pointer_get
  - json_pointer_getf
  - json_pointer_set_with_array_cb
  - json_pointer_set
  - json_pointer_setf
  source_file: /src/json-c-json-c-0.17-20230812/json_pointer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/json_c_version.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JSON_C_MAJOR_VERSION
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/json-c-json-c-0.17-20230812/json_c_version.h
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_C_MINOR_VERSION
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/json-c-json-c-0.17-20230812/json_c_version.h
      type_or_value: '17'
    - item_type: preproc_def
      name: JSON_C_MICRO_VERSION
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/json-c-json-c-0.17-20230812/json_c_version.h
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_C_VERSION_NUM
      pos:
        line_end: 23
        line_start: 21
        source_file: /src/json-c-json-c-0.17-20230812/json_c_version.h
      type_or_value: ((JSON_C_MAJOR_VERSION << 16) | (JSON_C_MINOR_VERSION << 8) |
        JSON_C_MICRO_VERSION)
    - item_type: preproc_def
      name: JSON_C_VERSION
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/json-c-json-c-0.17-20230812/json_c_version.h
      type_or_value: '"0.17"'
    - item_type: preproc_def
      name: JSON_EXPORT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/json-c-json-c-0.17-20230812/json_c_version.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: JSON_EXPORT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/json-c-json-c-0.17-20230812/json_c_version.h
      type_or_value: extern
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/json_types.h
  types:
    enum:
    - enumerators:
      - name: json_type_null
      - name: json_type_object
      - name: json_type_double
      - name: json_type_boolean
      - name: json_type_int
      - name: json_type_array
      - name: json_type_string
      item_type: enum
      name: json_type
      pos:
        line_end: 71
        line_start: 61
        source_file: /src/json-c-json-c-0.17-20230812/json_types.h
    preproc_defs:
    - item_type: preproc_def
      name: JSON_EXPORT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/json-c-json-c-0.17-20230812/json_types.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: JSON_EXPORT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/json-c-json-c-0.17-20230812/json_types.h
      type_or_value: extern
    structs:
    - fields:
      - name: '*key'
        type: char
      - name: '*val'
        type: struct json_object
      - name: '*entry'
        type: struct lh_entry
      item_type: struct
      name: json_object_iter
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/json-c-json-c-0.17-20230812/json_types.h
    typedefs:
    - item_type: typedef
      name: json_object_iter
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/json-c-json-c-0.17-20230812/json_types.h
      type: json_object_iter
    - item_type: typedef
      name: json_bool
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/json-c-json-c-0.17-20230812/json_types.h
      type: int
    - item_type: typedef
      name: json_object
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/json-c-json-c-0.17-20230812/json_types.h
      type: json_object
    - item_type: typedef
      name: (json_object_delete_fn)(struct json_object *jso, void *userdata)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/json-c-json-c-0.17-20230812/json_types.h
      type: void
    - item_type: typedef
      name: "(json_object_to_json_string_fn)(struct json_object *jso, struct printbuf
        *pb, int level,\n                                           int flags)"
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/json-c-json-c-0.17-20230812/json_types.h
      type: int
    union: []
- function_names:
  - json_object_iter_begin
  - json_object_iter_end
  - json_object_iter_next
  - json_object_iter_peek_name
  - json_object_iter_peek_value
  - json_object_iter_equal
  - json_object_iter_init_default
  source_file: /src/json-c-json-c-0.17-20230812/json_object_iterator.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - JSON_C_CONST_FUNCTION
  - JSON_C_CONST_FUNCTION
  - json_object_object_foreach
  - json_object_object_foreach
  - json_object_object_foreachC
  source_file: /src/json-c-json-c-0.17-20230812/json_object.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JSON_OBJECT_DEF_HASH_ENTRIES
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: '16'
    - item_type: preproc_def
      name: JSON_C_TO_STRING_PLAIN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_C_TO_STRING_SPACED
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: JSON_C_TO_STRING_PRETTY
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: JSON_C_TO_STRING_PRETTY_TAB
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: JSON_C_TO_STRING_NOZERO
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: JSON_C_TO_STRING_NOSLASHESCAPE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: JSON_C_TO_STRING_COLOR
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: JSON_C_OBJECT_ADD_KEY_IS_NEW
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: JSON_C_OBJECT_ADD_CONSTANT_KEY
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: JSON_C_OBJECT_KEY_IS_CONSTANT
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: JSON_C_OBJECT_ADD_CONSTANT_KEY
    - item_type: preproc_def
      name: JSON_C_OPTION_GLOBAL
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: (0)
    - item_type: preproc_def
      name: JSON_C_OPTION_THREAD
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type_or_value: (1)
    structs: []
    typedefs:
    - item_type: typedef
      name: "(json_c_shallow_copy_fn)(json_object *src, json_object *parent, const
        char *key,\n                                    size_t index, json_object
        **dst)"
      pos:
        line_end: 1063
        line_start: 1062
        source_file: /src/json-c-json-c-0.17-20230812/json_object.h
      type: int
    union: []
- function_names:
  - mc_set_debug
  - mc_get_debug
  - mc_set_syslog
  - mc_debug
  - mc_error
  - mc_info
  source_file: /src/json-c-json-c-0.17-20230812/debug.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/json_visit.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JSON_C_VISIT_SECOND
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/json-c-json-c-0.17-20230812/json_visit.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: JSON_C_VISIT_RETURN_CONTINUE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/json-c-json-c-0.17-20230812/json_visit.h
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_C_VISIT_RETURN_SKIP
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/json-c-json-c-0.17-20230812/json_visit.h
      type_or_value: '7547'
    - item_type: preproc_def
      name: JSON_C_VISIT_RETURN_POP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/json-c-json-c-0.17-20230812/json_visit.h
      type_or_value: '767'
    - item_type: preproc_def
      name: JSON_C_VISIT_RETURN_STOP
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/json-c-json-c-0.17-20230812/json_visit.h
      type_or_value: '7867'
    - item_type: preproc_def
      name: JSON_C_VISIT_RETURN_ERROR
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/json-c-json-c-0.17-20230812/json_visit.h
      type_or_value: '-1'
    structs: []
    typedefs:
    - item_type: typedef
      name: "(json_c_visit_userfunc)(json_object *jso, int flags, json_object *parent_jso,\n
        \                                  const char *jso_key, size_t *jso_index,
        void *userarg)"
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/json-c-json-c-0.17-20230812/json_visit.h
      type: int
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/json_object_private.h
  types:
    enum:
    - enumerators:
      - name: json_object_int_type_int64
      - name: json_object_int_type_uint64
      item_type: enum
      name: json_object_int_type
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/json-c-json-c-0.17-20230812/json_object_private.h
    preproc_defs: []
    structs:
    - fields:
      - name: o_type
        type: enum json_type
      - name: _ref_count
        type: uint32_t
      - name: '*_to_json_string'
        type: json_object_to_json_string_fn
      - name: '*_pb'
        type: struct printbuf
      - name: '*_user_delete'
        type: json_object_delete_fn
      - name: '*_userdata'
        type: void
      item_type: struct
      name: json_object
      pos:
        line_end: 52
        line_start: 42
        source_file: /src/json-c-json-c-0.17-20230812/json_object_private.h
    - fields:
      - name: base
        type: struct json_object
      - name: '*c_object'
        type: struct lh_table
      item_type: struct
      name: json_object_object
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/json-c-json-c-0.17-20230812/json_object_private.h
    - fields:
      - name: base
        type: struct json_object
      - name: '*c_array'
        type: struct array_list
      item_type: struct
      name: json_object_array
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/json-c-json-c-0.17-20230812/json_object_private.h
    - fields:
      - name: base
        type: struct json_object
      - name: c_boolean
        type: json_bool
      item_type: struct
      name: json_object_boolean
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/json-c-json-c-0.17-20230812/json_object_private.h
    - fields:
      - name: base
        type: struct json_object
      - name: c_double
        type: double
      item_type: struct
      name: json_object_double
      pos:
        line_end: 74
        line_start: 70
        source_file: /src/json-c-json-c-0.17-20230812/json_object_private.h
    - fields:
      - name: base
        type: struct json_object
      - name: cint_type
        type: enum json_object_int_type
      - name: cint
        type: "union\n\t{\n\t\tint64_t c_int64;\n\t\tuint64_t c_uint64;\n\t}"
      item_type: struct
      name: json_object_int
      pos:
        line_end: 84
        line_start: 75
        source_file: /src/json-c-json-c-0.17-20230812/json_object_private.h
    - fields:
      - name: base
        type: struct json_object
      - name: len
        type: ssize_t
      - name: c_string
        type: "union\n\t{\n\t\tchar idata[1]; // Immediate data.  Actually longer\n\t\tchar
          *pdata;   // Only when len < 0\n\t}"
      item_type: struct
      name: json_object_string
      pos:
        line_end: 96
        line_start: 85
        source_file: /src/json-c-json-c-0.17-20230812/json_object_private.h
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/json-c-json-c-0.17-20230812/json_object_private.h
      type: SSIZE_T
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/json_object_iterator.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*opaque_'
        type: void
      item_type: struct
      name: json_object_iterator
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/json-c-json-c-0.17-20230812/json_object_iterator.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/json_inttypes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRId64
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/json-c-json-c-0.17-20230812/json_inttypes.h
      type_or_value: '"I64d"'
    - item_type: preproc_def
      name: SCNd64
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/json-c-json-c-0.17-20230812/json_inttypes.h
      type_or_value: '"I64d"'
    - item_type: preproc_def
      name: PRIu64
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/json-c-json-c-0.17-20230812/json_inttypes.h
      type_or_value: '"I64u"'
    structs: []
    typedefs:
    - item_type: typedef
      name: int32_t
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/json-c-json-c-0.17-20230812/json_inttypes.h
      type: __int32
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/json-c-json-c-0.17-20230812/json_inttypes.h
      type: unsigned __int32
    - item_type: typedef
      name: int64_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/json-c-json-c-0.17-20230812/json_inttypes.h
      type: __int64
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/json-c-json-c-0.17-20230812/json_inttypes.h
      type: unsigned __int64
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/json-c-json-c-0.17-20230812/json_inttypes.h
      type: SSIZE_T
    union: []
- function_names:
  - __STRING
  - JASSERT
  - JASSERT
  - MC_ERROR
  - MC_SET_DEBUG
  - MC_GET_DEBUG
  - MC_SET_SYSLOG
  - MC_DEBUG
  - MC_INFO
  - MC_SET_DEBUG
  - MC_GET_DEBUG
  - MC_SET_SYSLOG
  - MC_DEBUG
  - MC_INFO
  source_file: /src/json-c-json-c-0.17-20230812/debug.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JSON_EXPORT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/json-c-json-c-0.17-20230812/debug.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: JSON_EXPORT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/json-c-json-c-0.17-20230812/debug.h
      type_or_value: extern
    structs: []
    typedefs: []
    union: []
- function_names:
  - __json_patch_apply_remove
  - json_patch_apply_remove
  - json_object_array_insert_idx_cb
  - json_patch_apply_add_replace
  - json_object_array_move_cb
  - json_patch_apply_move_copy
  - json_patch_apply
  source_file: /src/json-c-json-c-0.17-20230812/json_patch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZE_T_MAX
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/json-c-json-c-0.17-20230812/json_patch.c
      type_or_value: UINT_MAX
    - item_type: preproc_def
      name: SIZE_T_MAX
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/json-c-json-c-0.17-20230812/json_patch.c
      type_or_value: ULONG_MAX
    - item_type: preproc_def
      name: SIZE_T_MAX
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/json-c-json-c-0.17-20230812/json_patch.c
      type_or_value: ULLONG_MAX
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_cpuid
  - has_rdrand
  - get_rdrand_seed
  - get_rdrand_seed
  - get_rdrand_seed
  - get_getrandom_seed
  - get_dev_random_seed
  - get_cryptgenrandom_seed
  - get_time_seed
  - json_c_get_random_seed
  source_file: /src/json-c-json-c-0.17-20230812/random_seed.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_DEV_RANDOM
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/json-c-json-c-0.17-20230812/random_seed.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_X86_CPUID
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/json-c-json-c-0.17-20230812/random_seed.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAS_X86_CPUID
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/json-c-json-c-0.17-20230812/random_seed.c
      type_or_value: '1'
    - item_type: preproc_def
      name: do_cpuid
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/json-c-json-c-0.17-20230812/random_seed.c
      type_or_value: __cpuid
    - item_type: preproc_def
      name: HAVE_RDRAND
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/json-c-json-c-0.17-20230812/random_seed.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_RDRAND
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/json-c-json-c-0.17-20230812/random_seed.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_RDRAND
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/json-c-json-c-0.17-20230812/random_seed.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CRYPTGENRANDOM
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/json-c-json-c-0.17-20230812/random_seed.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - printbuf_new
  - printbuf_extend
  - printbuf_memappend
  - printbuf_memset
  - sprintbuf
  - printbuf_reset
  - printbuf_free
  source_file: /src/json-c-json-c-0.17-20230812/printbuf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/json_pointer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vasprintf
  source_file: /src/json-c-json-c-0.17-20230812/vasprintf_compat.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - jt_hexdigit
  - is_ws_char
  - is_hex_char
  - json_tokener_error_desc
  - json_tokener_get_error
  - IS_HIGH_SURROGATE
  - IS_LOW_SURROGATE
  - DECODE_SURROGATE_PAIR
  - json_tokener_new_ex
  - json_tokener_new
  - json_tokener_free
  - json_tokener_reset_level
  - json_tokener_reset
  - json_tokener_parse
  - json_tokener_parse_verbose
  - PEEK_CHAR
  - ADVANCE_CHAR
  - printbuf_memappend_checked
  - json_tokener_parse_ex
  - json_tokener_validate_utf8
  - json_tokener_set_flags
  - json_tokener_get_parse_end
  - json_tokener_parse_double
  source_file: /src/json-c-json-c-0.17-20230812/json_tokener.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: strncasecmp
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.c
      type_or_value: _strnicmp
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.c
      type_or_value: __inline
    - item_type: preproc_def
      name: NAN
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.c
      type_or_value: nan("")
    - item_type: preproc_def
      name: state
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.c
      type_or_value: tok->stack[tok->depth].state
    - item_type: preproc_def
      name: saved_state
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.c
      type_or_value: tok->stack[tok->depth].saved_state
    - item_type: preproc_def
      name: current
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.c
      type_or_value: tok->stack[tok->depth].current
    - item_type: preproc_def
      name: obj_field_name
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/json-c-json-c-0.17-20230812/json_tokener.c
      type_or_value: tok->stack[tok->depth].obj_field_name
    structs: []
    typedefs: []
    union: []
- function_names:
  - printbuf_memappend_fast
  - printbuf_length
  - _printbuf_check_literal
  - printbuf_strappend
  source_file: /src/json-c-json-c-0.17-20230812/printbuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JSON_EXPORT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/json-c-json-c-0.17-20230812/printbuf.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: JSON_EXPORT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/json-c-json-c-0.17-20230812/printbuf.h
      type_or_value: extern
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: bpos
        type: int
      - name: size
        type: int
      item_type: struct
      name: printbuf
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/json-c-json-c-0.17-20230812/printbuf.h
    typedefs:
    - item_type: typedef
      name: printbuf
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/json-c-json-c-0.17-20230812/printbuf.h
      type: printbuf
    union: []
- function_names:
  - is_plain_digit
  - JC_OBJECT
  - JC_OBJECT_C
  - JC_ARRAY
  - JC_ARRAY_C
  - JC_BOOL
  - JC_BOOL_C
  - JC_DOUBLE
  - JC_DOUBLE_C
  - JC_INT
  - JC_INT_C
  - JC_STRING
  - JC_STRING_C
  - JC_CONCAT
  - JC_CONCAT3
  - JSON_OBJECT_NEW
  - get_string_component_mutable
  - get_string_component
  - json_escape_str
  - json_object_get
  - json_object_put
  - json_object_generic_delete
  - json_object_new
  - json_object_is_type
  - json_object_get_type
  - json_object_get_userdata
  - json_object_set_userdata
  - json_object_set_serializer
  - json_object_to_json_string_length
  - json_object_to_json_string_ext
  - json_object_to_json_string
  - indent
  - json_object_object_to_json_string
  - json_object_object_foreachC
  - json_object_lh_entry_free
  - json_object_object_delete
  - json_object_new_object
  - json_object_get_object
  - json_object_object_add_ex
  - json_object_object_add
  - json_object_object_length
  - json_c_object_sizeof
  - json_object_object_get
  - json_object_object_get_ex
  - json_object_object_del
  - json_object_boolean_to_json_string
  - json_object_new_boolean
  - json_object_get_boolean
  - json_object_set_boolean
  - json_object_int_to_json_string
  - json_object_new_int
  - json_object_get_int
  - json_object_set_int
  - json_object_new_int64
  - json_object_new_uint64
  - json_object_get_int64
  - json_object_get_uint64
  - json_object_set_int64
  - json_object_set_uint64
  - json_object_int_inc
  - json_c_set_serialization_double_format
  - json_object_double_to_json_string_format
  - json_object_double_to_json_string_default
  - json_object_double_to_json_string
  - json_object_new_double
  - json_object_new_double_s
  - _json_object_userdata_to_json_string
  - json_object_userdata_to_json_string
  - json_object_free_userdata
  - json_object_get_double
  - json_object_set_double
  - json_object_string_to_json_string
  - json_object_string_delete
  - _json_object_new_string
  - json_object_new_string
  - json_object_new_string_len
  - json_object_get_string
  - _json_object_get_string_len
  - json_object_get_string_len
  - _json_object_set_string_len
  - json_object_set_string
  - json_object_set_string_len
  - json_object_array_to_json_string
  - json_object_array_entry_free
  - json_object_array_delete
  - json_object_new_array
  - json_object_new_array_ext
  - json_object_get_array
  - json_object_array_sort
  - json_object_array_bsearch
  - json_object_array_length
  - json_object_array_add
  - json_object_array_insert_idx
  - json_object_array_put_idx
  - json_object_array_del_idx
  - json_object_array_get_idx
  - json_array_equal
  - json_object_array_shrink
  - json_object_new_null
  - json_object_all_values_equal
  - json_object_object_foreachC
  - json_object_object_foreachC
  - json_object_equal
  - json_object_copy_serializer_data
  - json_c_shallow_copy_default
  - json_object_deep_copy_recursive
  - json_object_deep_copy
  - json_abort
  source_file: /src/json-c-json-c-0.17-20230812/json_object.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSIZE_T_MAX
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
      type_or_value: INT_MAX
    - item_type: preproc_def
      name: SSIZE_T_MAX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
      type_or_value: LONG_MAX
    - item_type: preproc_def
      name: SSIZE_T_MAX
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
      type_or_value: LLONG_MAX
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
      type_or_value: __inline
    - item_type: preproc_def
      name: ANSI_COLOR_RESET
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
      type_or_value: '"\033[0m"'
    - item_type: preproc_def
      name: ANSI_COLOR_FG_GREEN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
      type_or_value: '"\033[0;32m"'
    - item_type: preproc_def
      name: ANSI_COLOR_FG_BLUE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
      type_or_value: '"\033[0;34m"'
    - item_type: preproc_def
      name: ANSI_COLOR_FG_MAGENTA
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
      type_or_value: '"\033[0;35m"'
    - item_type: preproc_def
      name: JSON_NORETURN
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
      type_or_value: __declspec(noreturn)
    - item_type: preproc_def
      name: JSON_NORETURN
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/json-c-json-c-0.17-20230812/json_object.c
      type_or_value: __attribute__((noreturn, cold))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/arraylist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARRAY_LIST_DEFAULT_SIZE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/json-c-json-c-0.17-20230812/arraylist.h
      type_or_value: '32'
    structs:
    - fields:
      - name: '**array'
        type: void
      - name: length
        type: size_t
      - name: size
        type: size_t
      - name: '*free_fn'
        type: array_list_free_fn
      item_type: struct
      name: array_list
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/json-c-json-c-0.17-20230812/arraylist.h
    typedefs:
    - item_type: typedef
      name: (array_list_free_fn)(void *data)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/json-c-json-c-0.17-20230812/arraylist.h
      type: void
    - item_type: typedef
      name: array_list
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/json-c-json-c-0.17-20230812/arraylist.h
      type: array_list
    union: []
- function_names:
  - json_util_get_last_err
  - _json_c_set_last_err
  - json_object_from_fd
  - json_object_from_fd_ex
  - json_object_from_file
  - json_object_to_file_ext
  - json_object_to_fd
  - _json_object_to_fd
  - json_object_to_file
  - json_parse_double
  - json_parse_int64
  - json_parse_uint64
  - rpl_realloc
  - NELEM
  - json_type_to_name
  source_file: /src/json-c-json-c-0.17-20230812/json_util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: open
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/json-c-json-c-0.17-20230812/json_util.c
      type_or_value: _open
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/strerror_override.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: strerror
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/json-c-json-c-0.17-20230812/strerror_override.h
      type_or_value: _json_c_strerror
    structs: []
    typedefs: []
    union: []
- function_names:
  - json_c_visit
  - _json_c_visit
  - json_object_object_foreach
  source_file: /src/json-c-json-c-0.17-20230812/json_visit.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _json_c_strerror
  source_file: /src/json-c-json-c-0.17-20230812/strerror_override.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRERROR_OVERRIDE_IMPL
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/json-c-json-c-0.17-20230812/strerror_override.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PREFIX
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/json-c-json-c-0.17-20230812/strerror_override.c
      type_or_value: '"ERRNO="'
    structs:
    - fields:
      - name: errno_value
        type: int
      - name: '*errno_str'
        type: char
      item_type: struct
      name: "errno_list[] = {\n/* clang-format off */\n#define STRINGIFY(x) #x\n#define
        ENTRY(x) {x, &STRINGIFY(undef_ ## x)[6]}\n\tENTRY(EPERM),\n\tENTRY(ENOENT),\n\tENTRY(ESRCH),\n\tENTRY(EINTR),\n\tENTRY(EIO),\n\tENTRY(ENXIO),\n\tENTRY(E2BIG),\n#ifdef
        ENOEXEC\n\tENTRY(ENOEXEC),\n#endif\n\tENTRY(EBADF),\n\tENTRY(ECHILD),\n\tENTRY(EDEADLK),\n\tENTRY(ENOMEM),\n\tENTRY(EACCES),\n\tENTRY(EFAULT),\n#ifdef
        ENOTBLK\n\tENTRY(ENOTBLK),\n#endif\n\tENTRY(EBUSY),\n\tENTRY(EEXIST),\n\tENTRY(EXDEV),\n\tENTRY(ENODEV),\n\tENTRY(ENOTDIR),\n\tENTRY(EISDIR),\n\tENTRY(EINVAL),\n\tENTRY(ENFILE),\n\tENTRY(EMFILE),\n\tENTRY(ENOTTY),\n#ifdef
        ETXTBSY\n\tENTRY(ETXTBSY),\n#endif\n\tENTRY(EFBIG),\n\tENTRY(ENOSPC),\n\tENTRY(ESPIPE),\n\tENTRY(EROFS),\n\tENTRY(EMLINK),\n\tENTRY(EPIPE),\n\tENTRY(EDOM),\n\tENTRY(ERANGE),\n\tENTRY(EAGAIN),\n\t{
        0, (char *)0 }\n}"
      pos:
        line_end: 11
        line_start: 7
        source_file: /src/json-c-json-c-0.17-20230812/strerror_override.c
    typedefs: []
    union: []
- function_names:
  - json_c_vsnprintf
  - json_c_snprintf
  source_file: /src/json-c-json-c-0.17-20230812/snprintf_compat.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: vsnprintf
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/json-c-json-c-0.17-20230812/snprintf_compat.h
      type_or_value: json_c_vsnprintf
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/json-c-json-c-0.17-20230812/snprintf_compat.h
      type_or_value: json_c_snprintf
    structs: []
    typedefs: []
    union: []
- function_names:
  - lh_foreach
  - lh_foreach_safe
  - lh_table_head
  - lh_get_hash
  - _LH_UNCONST
  - _LH_UNCONST
  - lh_entry_k
  - lh_entry_k_is_constant
  - lh_entry_v
  - lh_entry_set_val
  - lh_entry_next
  - lh_entry_prev
  source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LH_PRIME
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
      type_or_value: 0x9e370001UL
    - item_type: preproc_def
      name: LH_LOAD_FACTOR
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
      type_or_value: '0.66'
    - item_type: preproc_def
      name: LH_EMPTY
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
      type_or_value: (void *)-1
    - item_type: preproc_def
      name: LH_FREED
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
      type_or_value: (void *)-2
    - item_type: preproc_def
      name: JSON_C_STR_HASH_DFLT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_C_STR_HASH_PERLLIKE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _LH_INLINE
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
      type_or_value: inline
    structs:
    - fields:
      - name: '*k'
        type: void
      - name: k_is_constant
        type: int
      - name: '*v'
        type: void
      - name: '*next'
        type: struct lh_entry
      - name: '*prev'
        type: struct lh_entry
      item_type: struct
      name: lh_entry
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
    - fields:
      - name: size
        type: int
      - name: count
        type: int
      - name: '*head'
        type: struct lh_entry
      - name: '*tail'
        type: struct lh_entry
      - name: '*table'
        type: struct lh_entry
      - name: '*free_fn'
        type: lh_entry_free_fn
      - name: '*hash_fn'
        type: lh_hash_fn
      - name: '*equal_fn'
        type: lh_equal_fn
      item_type: struct
      name: lh_table
      pos:
        line_end: 161
        line_start: 117
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
    typedefs:
    - item_type: typedef
      name: (lh_entry_free_fn)(struct lh_entry *e)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
      type: void
    - item_type: typedef
      name: long(lh_hash_fn)(const void *k)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
      type: unsigned
    - item_type: typedef
      name: (lh_equal_fn)(const void *k1, const void *k2)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
      type: int
    - item_type: typedef
      name: lh_table
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.h
      type: lh_table
    union: []
- function_names:
  - json_min
  - json_max
  source_file: /src/json-c-json-c-0.17-20230812/json_util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JSON_FILE_BUF_SIZE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/json-c-json-c-0.17-20230812/json_util.h
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names:
  - json_c_version
  - json_c_version_num
  source_file: /src/json-c-json-c-0.17-20230812/json_c_version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - json_global_set_string_hash
  - lh_ptr_hash
  - lh_ptr_equal
  - hashsize
  - hashmask
  - rot
  - mix
  - final
  - hashlittle
  - lh_perllike_str_hash
  - lh_char_hash
  - lh_char_equal
  - lh_table_new
  - lh_kchar_table_new
  - lh_kptr_table_new
  - lh_table_resize
  - lh_table_free
  - lh_table_insert_w_hash
  - lh_table_insert
  - lh_table_lookup_entry_w_hash
  - lh_table_lookup_entry
  - lh_table_lookup_ex
  - lh_table_delete_entry
  - lh_table_delete
  - lh_table_length
  source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASH_LITTLE_ENDIAN
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HASH_BIG_ENDIAN
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_LITTLE_ENDIAN
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_BIG_ENDIAN
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HASH_LITTLE_ENDIAN
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_BIG_ENDIAN
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PRECISE_MEMORY_ACCESS
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PRECISE_MEMORY_ACCESS
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PRECISE_MEMORY_ACCESS
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RANDOM_SEED_TYPE
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: LONG
    - item_type: preproc_def
      name: RANDOM_SEED_TYPE
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: int
    - item_type: preproc_def
      name: USE_SYNC_COMPARE_AND_SWAP
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SYNC_COMPARE_AND_SWAP
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_SYNC_COMPARE_AND_SWAP
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*ptr'
        type: void
      - name: i
        type: size_t
      item_type: union
      name: u
      pos:
        line_end: 259
        line_start: 255
        source_file: /src/json-c-json-c-0.17-20230812/linkhash.c
- function_names:
  - __warn_references
  source_file: /src/json-c-json-c-0.17-20230812/libjson.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/json_pointer_private.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*parent'
        type: struct json_object
      - name: '*obj'
        type: struct json_object
      - name: '*key_in_parent'
        type: char
      - name: index_in_parent
        type: uint32_t
      item_type: struct
      name: json_pointer_get_result
      pos:
        line_end: 26
        line_start: 18
        source_file: /src/json-c-json-c-0.17-20230812/json_pointer_private.h
    typedefs:
    - item_type: typedef
      name: "(*json_pointer_array_set_cb)(json_object *parent, size_t idx,\n                                        json_object
        *value, void *priv)"
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/json-c-json-c-0.17-20230812/json_pointer_private.h
      type: int
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/strdup_compat.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: strdup
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/json-c-json-c-0.17-20230812/strdup_compat.h
      type_or_value: _strdup
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - json_object_object_foreach
  - json_object_object_foreach
  - json_object_object_foreach
  source_file: /src/json-c-json-c-0.17-20230812/tests/testReplaceExisting.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_json_patch_op
  - test_json_patch_using_file
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_patch.c
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_strerror.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_add.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - single_incremental_parse
  - single_basic_parse
  - test_basic_parse
  - test_utf8_parse
  - do_clear_serializer
  - clear_serializer
  - test_verbose_parse
  - test_incremental_parse
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*string_to_parse'
        type: char
      - name: length
        type: int
      - name: char_offset
        type: int
      - name: expected_error
        type: enum json_tokener_error
      - name: reset_tokener
        type: int
      - name: tok_flags
        type: int
      item_type: struct
      name: incremental_step
      pos:
        line_end: 259
        line_start: 251
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_parse.c
    typedefs: []
    union: []
- function_names:
  - sort_fn
  - to_json_string
  - json_object_to_json_string
  - make_array
  - test_array_del_idx
  - test_array_list_expand_internal
  - test_array_insert_idx
  - main
  - json_object_object_foreach
  source_file: /src/json-c-json-c-0.17-20230812/tests/test1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - json_object_to_json_string
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_custom_serializer
  - my_shallow_copy
  - main
  - do_benchmark
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_deep_copy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_example_int
  - test_example_get
  - test_recursion_get
  - test_wrong_inputs_get
  - test_example_set
  - test_wrong_inputs_set
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*s'
        type: char
      - name: i
        type: int
      item_type: struct
      name: json_pointer_map_s_i
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_json_pointer.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_null.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - test_case_parse
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_charcase.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - freeit
  - custom_serializer
  - main
  - UNCONST
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: value
        type: int
      item_type: struct
      name: myinfo
      pos:
        line_end: 13
        line_start: 10
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_serializer.c
    typedefs: []
    union: []
- function_names:
  - main
  - emit_object
  - skip_arrays
  - pop_and_stop
  - err_on_subobj2
  - pop_array
  - stop_array
  - err_return
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_visit.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_hex
  - test_lot_of_adds
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_locale.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - getit
  - checktype_header
  - checktype
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_cast.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_write_to_file
  - stat_and_cat
  - main
  - test_read_valid_with_fd
  - test_read_valid_nested_with_fd
  - test_read_nonexistant
  - test_read_closed
  - test_read_fd_equal
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_util_file.c
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names:
  - checkit
  - checkit_uint
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_parse_int64.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_basic_printbuf_memset
  - test_printbuf_memset_length
  - test_printbuf_memappend
  - test_sprintbuf
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __func__
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c
      type_or_value: __FUNCTION__
    - item_type: preproc_def
      name: SA_TEST_STR
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_printbuf.c
      type_or_value: '"XXXXXXXXXXXXXXXX"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SHORT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
      type_or_value: '"SHORT"'
    - item_type: preproc_def
      name: MID
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
      type_or_value: '"A MID STRING"'
    - item_type: preproc_def
      name: HUGE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
      type_or_value: '"A string longer than 32 chars as to check non local buf codepath"'
    - item_type: preproc_def
      name: STR
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
      type_or_value: '"STR"'
    - item_type: preproc_def
      name: DOUBLE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
      type_or_value: '"123.123"'
    - item_type: preproc_def
      name: DOUBLE_E
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
      type_or_value: '"12E+3"'
    - item_type: preproc_def
      name: DOUBLE_STR
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
      type_or_value: '"123.123STR"'
    - item_type: preproc_def
      name: DOUBLE_OVER
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
      type_or_value: '"1.8E+308"'
    - item_type: preproc_def
      name: DOUBLE_OVER_NEGATIVE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_set_value.c
      type_or_value: '"-1.8E+308"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_float.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK_GET
  - CHECK_GET_INT
  - CHECK_GET_INT64
  - CHECK_GET_UINT64
  - CHECK_BASE
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: I64_MAX_S
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
      type_or_value: '"9223372036854775807"'
    - item_type: preproc_def
      name: I64_OVER
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
      type_or_value: '"9223372036854775808"'
    - item_type: preproc_def
      name: I64_MIN_S
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
      type_or_value: '"-9223372036854775808"'
    - item_type: preproc_def
      name: I64_UNDER
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
      type_or_value: '"-9223372036854775809"'
    - item_type: preproc_def
      name: U64_MAX_S
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
      type_or_value: '"18446744073709551615"'
    - item_type: preproc_def
      name: U64_OUT_S
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
      type_or_value: '"18446744073709551616"'
    - item_type: preproc_def
      name: N_INT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
      type_or_value: json_object_new_int
    - item_type: preproc_def
      name: N_I64
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
      type_or_value: json_object_new_int64
    - item_type: preproc_def
      name: N_U64
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
      type_or_value: json_object_new_uint64
    - item_type: preproc_def
      name: N_STR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/json-c-json-c-0.17-20230812/tests/test_int_get.c
      type_or_value: json_object_new_string
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_object_iterator.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - NELEM
  - parse_flags
  source_file: /src/json-c-json-c-0.17-20230812/tests/parse_flags.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: strcasecmp
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/json-c-json-c-0.17-20230812/tests/parse_flags.c
      type_or_value: _stricmp
    structs:
    - fields:
      - name: '*arg'
        type: char
      - name: flag
        type: int
      item_type: struct
      name: "format_args[] = {\n    {\"plain\", JSON_C_TO_STRING_PLAIN},\n    {\"spaced\",
        JSON_C_TO_STRING_SPACED},\n    {\"pretty\", JSON_C_TO_STRING_PRETTY},\n    {\"pretty_tab\",
        JSON_C_TO_STRING_PRETTY_TAB},\n}"
      pos:
        line_end: 21
        line_start: 17
        source_file: /src/json-c-json-c-0.17-20230812/tests/parse_flags.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_compare.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/json-c-json-c-0.17-20230812/tests/parse_flags.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/json-c-json-c-0.17-20230812/tests/test_double_serializer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - json_tokener_get_parse_end
  - showmem
  - parseit
  - showobj
  - usage
  - main
  source_file: /src/json-c-json-c-0.17-20230812/apps/json_parse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JSON_NORETURN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/json-c-json-c-0.17-20230812/apps/json_parse.c
      type_or_value: __declspec(noreturn)
    - item_type: preproc_def
      name: JSON_NORETURN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/json-c-json-c-0.17-20230812/apps/json_parse.c
      type_or_value: __attribute__((noreturn, cold))
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  - json_object_object_foreach
  source_file: /src/json-c-json-c-0.17-20230812/fuzz/tokener_parse_ex_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - help
  - ndpi_dbg_fn
  - main
  source_file: /src/ndpi/tests/dga/dga_evaluate.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - timeval2usec
  - tdiff2sec
  - main
  source_file: /src/ndpi/tests/performance/patriciasearch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_strnstr
  - ndpi_strnstr_opt
  - ndpi_strnstr_opt2
  - random_string
  - measure_time
  - warm_up
  - average_without_extremes
  - main
  source_file: /src/ndpi/tests/performance/strnstr.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_malloc
  - ndpi_calloc
  - ndpi_free
  - test_md
  - gcr_err
  - single_encryption1
  - single_encryption2
  - timeval2usec
  - tdiff2sec
  - main
  source_file: /src/ndpi/tests/performance/gcrypt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HMAC_SHA256_DIGEST_SIZE
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/ndpi/tests/performance/gcrypt.c
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - timeval2usec
  - tdiff2sec
  - main
  source_file: /src/ndpi/tests/performance/substringsearch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/ndpi/tests/performance/geo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - serializerUnitTest
  - serializeProtoUnitTest
  - main
  source_file: /src/ndpi/tests/unit/unit.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLT_MAX
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/tests/unit/unit.c
      type_or_value: 3.402823466e+38F
    structs: []
    typedefs: []
    union: []
- function_names:
  - help
  - main
  source_file: /src/ndpi/influxdb/metric_anomaly.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_ALPHA
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/influxdb/metric_anomaly.c
      type_or_value: '0.5'
    - item_type: preproc_def
      name: DEFAULT_RO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/influxdb/metric_anomaly.c
      type_or_value: '0.05'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/include/ndpi_includes_OpenBSD.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: pkt_timeval
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/ndpi/src/include/ndpi_includes_OpenBSD.h
      type: bpf_timeval
    union: []
- function_names: []
  source_file: /src/ndpi/src/include/ndpi_patricia_typedefs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UV16_MAX_USER_VALUES
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/ndpi/src/include/ndpi_patricia_typedefs.h
      type_or_value: '2'
    structs:
    - fields:
      - name: user_value
        type: u_int16_t
      item_type: struct
      name: patricia_uv16
      pos:
        line_end: 74
        line_start: 72
        source_file: /src/ndpi/src/include/ndpi_patricia_typedefs.h
    - fields:
      - name: value
        type: struct patricia_uv16
      - name: '*next'
        type: struct patricia_uv16_list
      item_type: struct
      name: patricia_uv16_list
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/ndpi/src/include/ndpi_patricia_typedefs.h
    - fields:
      - name: user_value
        type: u_int32_t
      item_type: struct
      name: patricia_uv32
      pos:
        line_end: 83
        line_start: 81
        source_file: /src/ndpi/src/include/ndpi_patricia_typedefs.h
    - fields:
      - name: family
        type: u_int16_t
      - name: bitlen
        type: u_int16_t
      - name: ref_count
        type: int
      - name: add
        type: "union {\n    struct in_addr sin;\n    struct in6_addr sin6;\n    u_int8_t
          mac[6];\n  }"
      item_type: struct
      name: _ndpi_prefix_t
      pos:
        line_end: 105
        line_start: 96
        source_file: /src/ndpi/src/include/ndpi_patricia_typedefs.h
    - fields:
      - name: bit
        type: u_int16_t
      - name: '*prefix'
        type: ndpi_prefix_t
      - name: '*l'
        type: struct _ndpi_patricia_node_t
      - name: '*parent'
        type: struct _ndpi_patricia_node_t
      - name: '*data'
        type: void
      - name: '*custom_user_data'
        type: void
      - name: value
        type: union ndpi_patricia_node_value_t
      item_type: struct
      name: _ndpi_patricia_node_t
      pos:
        line_end: 115
        line_start: 107
        source_file: /src/ndpi/src/include/ndpi_patricia_typedefs.h
    - fields:
      - name: n_search
        type: u_int64_t
      - name: n_found
        type: u_int64_t
      item_type: struct
      name: ndpi_patricia_tree_stats
      pos:
        line_end: 120
        line_start: 117
        source_file: /src/ndpi/src/include/ndpi_patricia_typedefs.h
    - fields:
      - name: '*head'
        type: ndpi_patricia_node_t
      - name: maxbits
        type: u_int16_t
      - name: num_active_node
        type: int
      - name: stats
        type: struct ndpi_patricia_tree_stats
      item_type: struct
      name: _ndpi_patricia_tree_t
      pos:
        line_end: 127
        line_start: 122
        source_file: /src/ndpi/src/include/ndpi_patricia_typedefs.h
    typedefs: []
    union:
    - fields:
      - name: u
        type: "union {\n    struct patricia_uv16 uv16[UV16_MAX_USER_VALUES];      \n
          \   struct patricia_uv32 uv32;    \n    u_int64_t uv64;    \n    void *user_data;\n
          \ }"
      item_type: union
      name: ndpi_patricia_node_value_t
      pos:
        line_end: 94
        line_start: 86
        source_file: /src/ndpi/src/include/ndpi_patricia_typedefs.h
- function_names: []
  source_file: /src/ndpi/src/include/ndpi_includes.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: pkt_timeval
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/ndpi/src/include/ndpi_includes.h
      type: timeval
    union: []
- function_names: []
  source_file: /src/ndpi/src/include/ndpi_encryption.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_NULL_WITH_NULL_NULL
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0000'
    - item_type: preproc_def
      name: TLS_RSA_EXPORT_WITH_RC4_40_MD5
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0006'
    - item_type: preproc_def
      name: TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: TLS_RSA_WITH_NULL_MD5
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: TLS_RSA_WITH_NULL_SHA
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: TLS_RSA_WITH_NULL_SHA256
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x003B'
    - item_type: preproc_def
      name: TLS_RSA_WITH_RC4_128_MD5
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: TLS_RSA_WITH_RC4_128_SHA
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0005'
    - item_type: preproc_def
      name: TLS_RSA_WITH_IDEA_CBC_SHA
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0007'
    - item_type: preproc_def
      name: TLS_RSA_WITH_DES_CBC_SHA
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0009'
    - item_type: preproc_def
      name: TLS_RSA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x000A'
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x002F'
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0035'
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x003C'
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x003D'
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x009C'
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x009D'
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_128_CCM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC09C'
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_256_CCM
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC09D'
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_128_CCM_8
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0A0'
    - item_type: preproc_def
      name: TLS_RSA_WITH_AES_256_CCM_8
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0A1'
    - item_type: preproc_def
      name: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0041'
    - item_type: preproc_def
      name: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0084'
    - item_type: preproc_def
      name: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00BA'
    - item_type: preproc_def
      name: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00C0'
    - item_type: preproc_def
      name: TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC07A'
    - item_type: preproc_def
      name: TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC07B'
    - item_type: preproc_def
      name: TLS_RSA_WITH_SEED_CBC_SHA
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0096'
    - item_type: preproc_def
      name: TLS_RSA_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC03C'
    - item_type: preproc_def
      name: TLS_RSA_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC03D'
    - item_type: preproc_def
      name: TLS_RSA_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC050'
    - item_type: preproc_def
      name: TLS_RSA_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC051'
    - item_type: preproc_def
      name: TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x000E'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_DES_CBC_SHA
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x000F'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0031'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0037'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x003F'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0069'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00A0'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00A1'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0043'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0086'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00BC'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00C2'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC07E'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC07F'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_SEED_CBC_SHA
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0098'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC040'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC041'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC054'
    - item_type: preproc_def
      name: TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC055'
    - item_type: preproc_def
      name: TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0014'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_DES_CBC_SHA
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0015'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0016'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0033'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0039'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0067'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x006B'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x009E'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x009F'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_128_CCM
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC09E'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_256_CCM
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC09F'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_128_CCM_8
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0A2'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_AES_256_CCM_8
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0A3'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0045'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0088'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00BE'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00C4'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC07C'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC07D'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_SEED_CBC_SHA
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x009A'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC044'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC045'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC052'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC053'
    - item_type: preproc_def
      name: TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xCCAA'
    - item_type: preproc_def
      name: TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x000B'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_DES_CBC_SHA
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x000C'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x000D'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_AES_128_CBC_SHA
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0030'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_AES_256_CBC_SHA
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0036'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x003E'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0068'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00A4'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00A5'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0042'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0085'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00BB'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00C1'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC082'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC083'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_SEED_CBC_SHA
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0097'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC03E'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC03F'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC058'
    - item_type: preproc_def
      name: TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC059'
    - item_type: preproc_def
      name: TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0011'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_DES_CBC_SHA
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0012'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0013'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_AES_128_CBC_SHA
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0032'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_AES_256_CBC_SHA
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0038'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x006A'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00A2'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00A3'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0044'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0087'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00BD'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00C3'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC080'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC081'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_SEED_CBC_SHA
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0099'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC042'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC043'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC056'
    - item_type: preproc_def
      name: TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC057'
    - item_type: preproc_def
      name: TLS_DH_ANON_EXPORT_WITH_RC4_40_MD5
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0017'
    - item_type: preproc_def
      name: TLS_DH_ANON_EXPORT_WITH_DES40_CBC_SHA
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0019'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_RC4_128_MD5
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0018'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_DES_CBC_SHA
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x001A'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x001B'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_AES_128_CBC_SHA
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0034'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_AES_256_CBC_SHA
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x003A'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x006C'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_AES_256_CBC_SHA256
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x006D'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00A6'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00A7'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0046'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0089'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00BF'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA256
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00C5'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC084'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC085'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_SEED_CBC_SHA
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x009B'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC046'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC047'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC05A'
    - item_type: preproc_def
      name: TLS_DH_ANON_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC05B'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_NULL_SHA
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC00B'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_RC4_128_SHA
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC00C'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC00D'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC00E'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC00F'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC029'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC02A'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC031'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC032'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC078'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC079'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC08C'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC08D'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC04E'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC04F'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC062'
    - item_type: preproc_def
      name: TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC063'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_NULL_SHA
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC010'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_RC4_128_SHA
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC011'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC012'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC013'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC014'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC027'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC028'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC02F'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC030'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC076'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC077'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC08A'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC08B'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC04C'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC04D'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC060'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC061'
    - item_type: preproc_def
      name: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xCCA8'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_NULL_SHA
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC001'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_RC4_128_SHA
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC002'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC003'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC004'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC005'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC025'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC026'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC02D'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC02E'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC074'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC075'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC088'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC089'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC04A'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC04B'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC05E'
    - item_type: preproc_def
      name: TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC05F'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_NULL_SHA
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC006'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC007'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC008'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC009'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC00A'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC023'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC024'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC02B'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC02C'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_AES_128_CCM
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0AC'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_AES_256_CCM
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0AD'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0AE'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0AF'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC072'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC073'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC086'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC087'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC048'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC049'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC05C'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC05D'
    - item_type: preproc_def
      name: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xCCA9'
    - item_type: preproc_def
      name: TLS_ECDH_ANON_WITH_NULL_SHA
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC015'
    - item_type: preproc_def
      name: TLS_ECDH_ANON_WITH_RC4_128_SHA
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC016'
    - item_type: preproc_def
      name: TLS_ECDH_ANON_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC017'
    - item_type: preproc_def
      name: TLS_ECDH_ANON_WITH_AES_128_CBC_SHA
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC018'
    - item_type: preproc_def
      name: TLS_ECDH_ANON_WITH_AES_256_CBC_SHA
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC019'
    - item_type: preproc_def
      name: TLS_PSK_WITH_NULL_SHA
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x002C'
    - item_type: preproc_def
      name: TLS_PSK_WITH_NULL_SHA256
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00B0'
    - item_type: preproc_def
      name: TLS_PSK_WITH_NULL_SHA384
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00B1'
    - item_type: preproc_def
      name: TLS_PSK_WITH_RC4_128_SHA
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x008A'
    - item_type: preproc_def
      name: TLS_PSK_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x008B'
    - item_type: preproc_def
      name: TLS_PSK_WITH_AES_128_CBC_SHA
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x008C'
    - item_type: preproc_def
      name: TLS_PSK_WITH_AES_256_CBC_SHA
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x008D'
    - item_type: preproc_def
      name: TLS_PSK_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00AE'
    - item_type: preproc_def
      name: TLS_PSK_WITH_AES_256_CBC_SHA384
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00AF'
    - item_type: preproc_def
      name: TLS_PSK_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00A8'
    - item_type: preproc_def
      name: TLS_PSK_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00A9'
    - item_type: preproc_def
      name: TLS_PSK_WITH_AES_128_CCM
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0A4'
    - item_type: preproc_def
      name: TLS_PSK_WITH_AES_256_CCM
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0A5'
    - item_type: preproc_def
      name: TLS_PSK_WITH_AES_128_CCM_8
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0A8'
    - item_type: preproc_def
      name: TLS_PSK_WITH_AES_256_CCM_8
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0A9'
    - item_type: preproc_def
      name: TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC094'
    - item_type: preproc_def
      name: TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC095'
    - item_type: preproc_def
      name: TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC08E'
    - item_type: preproc_def
      name: TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC08F'
    - item_type: preproc_def
      name: TLS_PSK_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC064'
    - item_type: preproc_def
      name: TLS_PSK_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC065'
    - item_type: preproc_def
      name: TLS_PSK_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC06A'
    - item_type: preproc_def
      name: TLS_PSK_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC06B'
    - item_type: preproc_def
      name: TLS_PSK_WITH_CHACHA20_POLY1305_SHA256
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xCCAB'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_NULL_SHA
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x002E'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_NULL_SHA256
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00B8'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_NULL_SHA384
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00B9'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_RC4_128_SHA
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0092'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0093'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_AES_128_CBC_SHA
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0094'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_AES_256_CBC_SHA
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0095'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00B6'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00B7'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00AC'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00AD'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC098'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC099'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC092'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC093'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC068'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC069'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC06E'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC06F'
    - item_type: preproc_def
      name: TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xCCAE'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_NULL_SHA
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x002D'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_NULL_SHA256
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00B4'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_NULL_SHA384
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00B5'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_RC4_128_SHA
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x008E'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x008F'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_AES_128_CBC_SHA
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0090'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_AES_256_CBC_SHA
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0091'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00B2'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00B3'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00AA'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00AB'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_AES_128_CCM
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0A6'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_AES_256_CCM
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0A7'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_AES_128_CCM_8
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0AA'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_AES_256_CCM_8
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0AB'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC096'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC097'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC090'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC091'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC066'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC067'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC06C'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC06D'
    - item_type: preproc_def
      name: TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xCCAD'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_NULL_SHA
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC039'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_NULL_SHA256
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC03A'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_NULL_SHA384
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC03B'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_RC4_128_SHA
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC033'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC034'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC035'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC036'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC037'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC038'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xD001'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xD002'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xD005'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xD003'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC09A'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC09B'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC070'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC071'
    - item_type: preproc_def
      name: TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xCCAC'
    - item_type: preproc_def
      name: TLS_KRB5_EXPORT_WITH_RC4_40_MD5
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x002B'
    - item_type: preproc_def
      name: TLS_KRB5_EXPORT_WITH_RC4_40_SHA
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0028'
    - item_type: preproc_def
      name: TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x002A'
    - item_type: preproc_def
      name: TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0027'
    - item_type: preproc_def
      name: TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0029'
    - item_type: preproc_def
      name: TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0026'
    - item_type: preproc_def
      name: TLS_KRB5_WITH_RC4_128_MD5
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0024'
    - item_type: preproc_def
      name: TLS_KRB5_WITH_RC4_128_SHA
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: TLS_KRB5_WITH_IDEA_CBC_MD5
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0025'
    - item_type: preproc_def
      name: TLS_KRB5_WITH_IDEA_CBC_SHA
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0021'
    - item_type: preproc_def
      name: TLS_KRB5_WITH_DES_CBC_MD5
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0022'
    - item_type: preproc_def
      name: TLS_KRB5_WITH_DES_CBC_SHA
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x001E'
    - item_type: preproc_def
      name: TLS_KRB5_WITH_3DES_EDE_CBC_MD5
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0023'
    - item_type: preproc_def
      name: TLS_KRB5_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x001F'
    - item_type: preproc_def
      name: TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC01A'
    - item_type: preproc_def
      name: TLS_SRP_SHA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC01D'
    - item_type: preproc_def
      name: TLS_SRP_SHA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC020'
    - item_type: preproc_def
      name: TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC01B'
    - item_type: preproc_def
      name: TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC01E'
    - item_type: preproc_def
      name: TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC021'
    - item_type: preproc_def
      name: TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC01C'
    - item_type: preproc_def
      name: TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC01F'
    - item_type: preproc_def
      name: TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC022'
    - item_type: preproc_def
      name: TLS_ECCPWD_WITH_AES_128_GCM_SHA256
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0B0'
    - item_type: preproc_def
      name: TLS_ECCPWD_WITH_AES_256_GCM_SHA384
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0B1'
    - item_type: preproc_def
      name: TLS_ECCPWD_WITH_AES_128_CCM_SHA256
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0B2'
    - item_type: preproc_def
      name: TLS_ECCPWD_WITH_AES_256_CCM_SHA384
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0B3'
    - item_type: preproc_def
      name: TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC100'
    - item_type: preproc_def
      name: TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC101'
    - item_type: preproc_def
      name: TLS_GOSTR341112_256_WITH_28147_CNT_IMIT
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC102'
    - item_type: preproc_def
      name: TLS_AES_128_GCM_SHA256
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x1301'
    - item_type: preproc_def
      name: TLS_AES_256_GCM_SHA384
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x1302'
    - item_type: preproc_def
      name: TLS_AES_128_CCM_SHA256
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x1304'
    - item_type: preproc_def
      name: TLS_AES_128_CCM_8_SHA256
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x1305'
    - item_type: preproc_def
      name: TLS_CHACHA20_POLY1305_SHA256
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x1303'
    - item_type: preproc_def
      name: TLS_SM4_GCM_SM3
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00C6'
    - item_type: preproc_def
      name: TLS_SM4_CCM_SM3
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00C7'
    - item_type: preproc_def
      name: TLS_SHA256_SHA256
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0B4'
    - item_type: preproc_def
      name: TLS_SHA384_SHA384
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xC0B5'
    - item_type: preproc_def
      name: TLS_EMPTY_RENEGOTIATION_INFO_SCSV
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x00FF'
    - item_type: preproc_def
      name: TLS_FALLBACK_SCSV
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x5600'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_0
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0A0A'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_1
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x1A1A'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_2
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x2A2A'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_3
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x3A3A'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_4
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x4A4A'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_5
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x5A5A'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_6
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x6A6A'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_7
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x7A7A'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_8
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x8A8A'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_9
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x9A9A'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_A
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xAAAA'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_B
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xBABA'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_C
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xCACA'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_D
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xDADA'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_E
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xEAEA'
    - item_type: preproc_def
      name: TLS_CIPHER_GREASE_RESERVED_F
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0xFAFA'
    - item_type: preproc_def
      name: RSA_PKCS1_SHA1
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0201'
    - item_type: preproc_def
      name: ECDSA_SHA1
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0203'
    - item_type: preproc_def
      name: RSA_PKCS1_SHA256
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0401'
    - item_type: preproc_def
      name: ECDSA_SECP256R1_SHA256
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0403'
    - item_type: preproc_def
      name: RSA_PKCS1_SHA384
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0501'
    - item_type: preproc_def
      name: ECDSA_SECP384R1_SHA384
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0503'
    - item_type: preproc_def
      name: RSA_PKCS1_SHA512
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0601'
    - item_type: preproc_def
      name: ECDSA_SECP521R1_SHA512
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0603'
    - item_type: preproc_def
      name: RSA_PSS_RSAE_SHA256
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0804'
    - item_type: preproc_def
      name: RSA_PSS_RSAE_SHA384
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0805'
    - item_type: preproc_def
      name: RSA_PSS_RSAE_SHA512
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0806'
    - item_type: preproc_def
      name: ED25519
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0807'
    - item_type: preproc_def
      name: ED448
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0808'
    - item_type: preproc_def
      name: RSA_PSS_PSS_SHA256
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x0809'
    - item_type: preproc_def
      name: RSA_PSS_PSS_SHA384
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x080A'
    - item_type: preproc_def
      name: RSA_PSS_PSS_SHA512
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/ndpi/src/include/ndpi_encryption.h
      type_or_value: '0x080B'
    structs: []
    typedefs: []
    union: []
- function_names:
  - printf
  - fprintf
  - printf
  - fprintf
  source_file: /src/ndpi/src/include/ndpi_replace_printf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_isalpha
  - ndpi_isdigit
  - ndpi_isalnum
  - ndpi_isspace
  - ndpi_isprint
  - ndpi_ispunct
  source_file: /src/ndpi/src/include/ndpi_api.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZEOF_FLOW_STRUCT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/include/ndpi_api.h
      type_or_value: ( sizeof(struct ndpi_flow_struct) )
    - item_type: preproc_def
      name: NDPI_DETECTION_ONLY_IPV4
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/src/include/ndpi_api.h
      type_or_value: ( 1 << 0 )
    - item_type: preproc_def
      name: NDPI_DETECTION_ONLY_IPV6
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/include/ndpi_api.h
      type_or_value: ( 1 << 1 )
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/include/ndpi_classify.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_PARAMETERS_SPLT_LOGREG
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/ndpi/src/include/ndpi_classify.h
      type_or_value: '208'
    - item_type: preproc_def
      name: NUM_PARAMETERS_BD_LOGREG
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/src/include/ndpi_classify.h
      type_or_value: '464'
    - item_type: preproc_def
      name: MC_BINS_LEN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/src/include/ndpi_classify.h
      type_or_value: '10'
    - item_type: preproc_def
      name: MC_BINS_TIME
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/ndpi/src/include/ndpi_classify.h
      type_or_value: '10'
    - item_type: preproc_def
      name: MC_BIN_SIZE_TIME
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/include/ndpi_classify.h
      type_or_value: '50'
    - item_type: preproc_def
      name: MC_BIN_SIZE_LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/src/include/ndpi_classify.h
      type_or_value: '150'
    - item_type: preproc_def
      name: MAX_BIN_LEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/include/ndpi_classify.h
      type_or_value: '1500'
    - item_type: preproc_def
      name: NUM_BD_VALUES
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/ndpi/src/include/ndpi_classify.h
      type_or_value: '256'
    - item_type: preproc_def
      name: NDPI_TIMESTAMP_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/include/ndpi_classify.h
      type_or_value: '64'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/include/ndpi_unix.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/include/ndpi_protocol_ids.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_PROTOCOL_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/include/ndpi_protocol_ids.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NDPI_PROTOCOL_STACK_SIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/include/ndpi_protocol_ids.h
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LINE_STARTS
  - LINE_ENDS
  - NDPI_PARSE_PACKET_LINE_INFO
  - NDPI_LOG
  - NDPI_LOG_ERR
  - NDPI_LOG_INFO
  - NDPI_LOG_DBG
  - NDPI_LOG_DBG2
  - NDPI_LOG
  - NDPI_LOG_ERR
  - NDPI_LOG_INFO
  - NDPI_LOG_DBG
  - NDPI_LOG_DBG2
  - NDPI_LOG_ERR
  source_file: /src/ndpi/src/include/ndpi_private.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_MAX_PARSE_LINES_PER_PACKET
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: '64'
    - item_type: preproc_def
      name: CFG_MAX_LEN
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: '256'
    - item_type: preproc_def
      name: NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: NDPI_PROTOCOL_MATCHED_BY_CONTENT
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: NDPI_HOSTNAME_NORM_LC
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NDPI_HOSTNAME_NORM_REPLACE_IC
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NDPI_HOSTNAME_NORM_STRIP_EOLSP
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NDPI_HOSTNAME_NORM_STRIP_PORT
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: '8 '
    - item_type: preproc_def
      name: NDPI_HOSTNAME_NORM_ALL
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_HOSTNAME_NORM_LC | NDPI_HOSTNAME_NORM_REPLACE_IC | NDPI_HOSTNAME_NORM_STRIP_EOLSP)
    - item_type: preproc_def
      name: NDPI_DEFAULT_MAX_TCP_RETRANSMISSION_WINDOW_SIZE
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: '0x10000'
    - item_type: preproc_def
      name: MAX_PACKET_COUNTER
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: '65000'
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: NDPI_PROTOCOL_UNKNOWN
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_IP
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_INT_TCP
      pos:
        line_end: 592
        line_start: 591
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_INT_UDP
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_INT_TCP_OR_UDP
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_HAS_PAYLOAD
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_IPV6
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_IPV4_OR_IPV6
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_COMPLETE_TRAFFIC
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_TCP
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_IP | NDPI_SELECTION_BITMASK_PROTOCOL_INT_TCP)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_UDP
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_IP | NDPI_SELECTION_BITMASK_PROTOCOL_INT_UDP)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_TCP_OR_UDP
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_IP | NDPI_SELECTION_BITMASK_PROTOCOL_INT_TCP_OR_UDP)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V6_TCP
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_IPV6 | NDPI_SELECTION_BITMASK_PROTOCOL_INT_TCP)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V6_UDP
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_IPV6 | NDPI_SELECTION_BITMASK_PROTOCOL_INT_UDP)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V6_TCP_OR_UDP
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_IPV6 | NDPI_SELECTION_BITMASK_PROTOCOL_INT_TCP_OR_UDP)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_IPV4_OR_IPV6 | NDPI_SELECTION_BITMASK_PROTOCOL_INT_TCP)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_UDP
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_IPV4_OR_IPV6 | NDPI_SELECTION_BITMASK_PROTOCOL_INT_UDP)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_OR_UDP
      pos:
        line_end: 615
        line_start: 614
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_IPV4_OR_IPV6 | NDPI_SELECTION_BITMASK_PROTOCOL_INT_TCP_OR_UDP)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_UDP_WITH_PAYLOAD
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_UDP | NDPI_SELECTION_BITMASK_PROTOCOL_HAS_PAYLOAD)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V6_UDP_WITH_PAYLOAD
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_V6_UDP | NDPI_SELECTION_BITMASK_PROTOCOL_HAS_PAYLOAD)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_UDP_WITH_PAYLOAD
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_UDP | NDPI_SELECTION_BITMASK_PROTOCOL_HAS_PAYLOAD)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_TCP_WITHOUT_RETRANSMISSION
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_TCP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V6_TCP_WITHOUT_RETRANSMISSION
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_V6_TCP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_WITHOUT_RETRANSMISSION
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_TCP_OR_UDP_WITHOUT_RETRANSMISSION
      pos:
        line_end: 626
        line_start: 625
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_TCP_OR_UDP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V6_TCP_OR_UDP_WITHOUT_RETRANSMISSION
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_V6_TCP_OR_UDP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_OR_UDP_WITHOUT_RETRANSMISSION
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_OR_UDP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_TCP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_TCP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION
        | NDPI_SELECTION_BITMASK_PROTOCOL_HAS_PAYLOAD)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V6_TCP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION
      pos:
        line_end: 631
        line_start: 630
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_V6_TCP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION
        | NDPI_SELECTION_BITMASK_PROTOCOL_HAS_PAYLOAD)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION
      pos:
        line_end: 632
        line_start: 631
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION
        | NDPI_SELECTION_BITMASK_PROTOCOL_HAS_PAYLOAD)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_TCP_OR_UDP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION
      pos:
        line_end: 634
        line_start: 633
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_TCP_OR_UDP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION
        | NDPI_SELECTION_BITMASK_PROTOCOL_HAS_PAYLOAD)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V6_TCP_OR_UDP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION
      pos:
        line_end: 635
        line_start: 634
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_V6_TCP_OR_UDP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION
        | NDPI_SELECTION_BITMASK_PROTOCOL_HAS_PAYLOAD)
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_OR_UDP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/ndpi/src/include/ndpi_private.h
      type_or_value: (NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_OR_UDP | NDPI_SELECTION_BITMASK_PROTOCOL_NO_TCP_RETRANSMISSION
        | NDPI_SELECTION_BITMASK_PROTOCOL_HAS_PAYLOAD)
    structs:
    - fields:
      - name: '*key'
        type: char
      - name: '*left'
        type: struct node_t
      item_type: struct
      name: node_t
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/ndpi/src/include/ndpi_private.h
    - fields:
      - name: '*string_to_match'
        type: char
      - name: protocol_category
        type: ndpi_protocol_category_t
      - name: protocol_breed
        type: ndpi_protocol_breed_t
      item_type: struct
      name: ndpi_category_match
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/ndpi/src/include/ndpi_private.h
    - fields:
      - name: '*string_to_match'
        type: char
      - name: protocol_id
        type: u_int16_t
      item_type: struct
      name: ndpi_tls_cert_name_match
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/ndpi/src/include/ndpi_private.h
    - fields:
      - name: name[16]
        type: char
      - name: (*func) (struct ndpi_detection_module_struct *, struct ndpi_flow_struct
          *flow)
        type: void
      - name: ndpi_selection_bitmask
        type: NDPI_SELECTION_BITMASK_PROTOCOL_SIZE
      - name: dissector_idx
        type: u_int16_t
      - name: first_protocol_id
        type: u_int16_t
      item_type: struct
      name: call_function_struct
      pos:
        line_end: 64
        line_start: 55
        source_file: /src/ndpi/src/include/ndpi_private.h
    - fields:
      - name: proto_idx
        type: u_int16_t
      - name: customUserProto
        type: u_int8_t
      - name: default_port
        type: u_int16_t
      item_type: struct
      name: default_ports_tree_node
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/ndpi/src/include/ndpi_private.h
    - fields:
      - name: '*ptr'
        type: u_int8_t
      - name: len
        type: u_int16_t
      item_type: struct
      name: ndpi_int_one_line_struct
      pos:
        line_end: 89
        line_start: 86
        source_file: /src/ndpi/src/include/ndpi_private.h
    - fields:
      - name: '*iph'
        type: struct ndpi_iphdr
      - name: '*iphv6'
        type: struct ndpi_ipv6hdr
      - name: '*tcp'
        type: struct ndpi_tcphdr
      - name: '*udp'
        type: struct ndpi_udphdr
      - name: '*payload'
        type: u_int8_t
      - name: current_time_ms
        type: u_int64_t
      - name: line[NDPI_MAX_PARSE_LINES_PER_PACKET]
        type: struct ndpi_int_one_line_struct
      - name: host_line
        type: struct ndpi_int_one_line_struct
      - name: forwarded_line
        type: struct ndpi_int_one_line_struct
      - name: referer_line
        type: struct ndpi_int_one_line_struct
      - name: content_line
        type: struct ndpi_int_one_line_struct
      - name: content_disposition_line
        type: struct ndpi_int_one_line_struct
      - name: accept_line
        type: struct ndpi_int_one_line_struct
      - name: authorization_line
        type: struct ndpi_int_one_line_struct
      - name: user_agent_line
        type: struct ndpi_int_one_line_struct
      - name: http_url_name
        type: struct ndpi_int_one_line_struct
      - name: http_origin
        type: struct ndpi_int_one_line_struct
      - name: server_line
        type: struct ndpi_int_one_line_struct
      - name: http_method
        type: struct ndpi_int_one_line_struct
      - name: upgrade_line
        type: struct ndpi_int_one_line_struct
      - name: http_response
        type: struct ndpi_int_one_line_struct
      - name: bootid
        type: struct ndpi_int_one_line_struct
      - name: usn
        type: struct ndpi_int_one_line_struct
      - name: cache_controle
        type: struct ndpi_int_one_line_struct
      - name: location
        type: struct ndpi_int_one_line_struct
      - name: household_smart_speaker_audio
        type: struct ndpi_int_one_line_struct
      - name: rincon_household
        type: struct ndpi_int_one_line_struct
      - name: rincon_bootseq
        type: struct ndpi_int_one_line_struct
      - name: rincon_wifimode
        type: struct ndpi_int_one_line_struct
      - name: rincon_variant
        type: struct ndpi_int_one_line_struct
      - name: sonos_securelocation
        type: struct ndpi_int_one_line_struct
      - name: securelocation_upnp
        type: struct ndpi_int_one_line_struct
      - name: location_smart_speaker_audio
        type: struct ndpi_int_one_line_struct
      - name: nt
        type: struct ndpi_int_one_line_struct
      - name: nts
        type: struct ndpi_int_one_line_struct
      - name: man
        type: struct ndpi_int_one_line_struct
      - name: mx
        type: struct ndpi_int_one_line_struct
      - name: st
        type: struct ndpi_int_one_line_struct
      - name: l3_packet_len
        type: u_int16_t
      - name: payload_packet_len
        type: u_int16_t
      - name: parsed_lines
        type: u_int16_t
      - name: empty_line_position
        type: u_int16_t
      - name: tcp_retransmission
        type: u_int8_t
      - name: packet_lines_parsed_complete
        type: u_int8_t
      item_type: struct
      name: ndpi_packet_struct
      pos:
        line_end: 143
        line_start: 91
        source_file: /src/ndpi/src/include/ndpi_private.h
    - fields:
      - name: '*value'
        type: char
      - name: '*next'
        type: struct ndpi_list_struct
      item_type: struct
      name: ndpi_list_struct
      pos:
        line_end: 148
        line_start: 145
        source_file: /src/ndpi/src/include/ndpi_private.h
    - fields:
      - name: '*tree'
        type: void
      - name: l7_protocol
        type: u_int16_t
      item_type: struct
      name: nbpf_filter
      pos:
        line_end: 154
        line_start: 151
        source_file: /src/ndpi/src/include/ndpi_private.h
    - fields:
      - name: ookla_cache_is_global
        type: int
      - name: '*ookla_global_cache'
        type: struct ndpi_lru_cache
      - name: '*bittorrent_global_cache'
        type: struct ndpi_lru_cache
      - name: '*stun_global_cache'
        type: struct ndpi_lru_cache
      - name: '*tls_cert_global_cache'
        type: struct ndpi_lru_cache
      - name: '*mining_global_cache'
        type: struct ndpi_lru_cache
      - name: '*msteams_global_cache'
        type: struct ndpi_lru_cache
      - name: '*fpc_dns_global_cache'
        type: struct ndpi_lru_cache
      - name: '*signal_global_cache'
        type: struct ndpi_lru_cache
      item_type: struct
      name: ndpi_global_context
      pos:
        line_end: 185
        line_start: 157
        source_file: /src/ndpi/src/include/ndpi_private.h
    - fields:
      - name: max_packets_to_process
        type: int
      - name: direction_detect_enabled
        type: int
      - name: tcp_ack_paylod_heuristic
        type: int
      - name: fully_encrypted_heuristic
        type: int
      - name: track_payload_enabled
        type: int
      - name: libgcrypt_init
        type: int
      - name: guess_on_giveup
        type: int
      - name: compute_entropy
        type: int
      - name: address_cache_size
        type: int
      - name: fpc_enabled
        type: int
      - name: hostname_dns_check_enabled
        type: int
      - name: guess_ip_before_port
        type: int
      - name: use_client_ip_in_guess
        type: int
      - name: use_client_port_in_guess
        type: int
      - name: tcp_fingerprint_format
        type: ndpi_tcp_fingerprint_format
      - name: tcp_fingerprint_enabled
        type: int
      - name: tcp_fingerprint_raw_enabled
        type: int
      - name: ndpi_fingerprint_enabled
        type: int
      - name: ndpi_fingerprint_format
        type: ndpi_fingerprint_format
      - name: filename_config[CFG_MAX_LEN]
        type: char
      - name: log_level
        type: int
      - name: ookla_cache_num_entries
        type: int
      - name: ookla_cache_ttl
        type: int
      - name: ookla_cache_scope
        type: int
      - name: bittorrent_cache_num_entries
        type: int
      - name: bittorrent_cache_ttl
        type: int
      - name: bittorrent_cache_scope
        type: int
      - name: stun_cache_num_entries
        type: int
      - name: stun_cache_ttl
        type: int
      - name: stun_cache_scope
        type: int
      - name: tls_cert_cache_num_entries
        type: int
      - name: tls_cert_cache_ttl
        type: int
      - name: tls_cert_cache_scope
        type: int
      - name: mining_cache_num_entries
        type: int
      - name: mining_cache_ttl
        type: int
      - name: mining_cache_scope
        type: int
      - name: msteams_cache_num_entries
        type: int
      - name: msteams_cache_ttl
        type: int
      - name: msteams_cache_scope
        type: int
      - name: fpc_dns_cache_num_entries
        type: int
      - name: fpc_dns_cache_ttl
        type: int
      - name: fpc_dns_cache_scope
        type: int
      - name: signal_cache_num_entries
        type: int
      - name: signal_cache_ttl
        type: int
      - name: signal_cache_scope
        type: int
      - name: http_request_content_type_enabled
        type: int
      - name: http_referer_enabled
        type: int
      - name: http_host_enabled
        type: int
      - name: http_username_enabled
        type: int
      - name: http_password_enabled
        type: int
      - name: http_resp_content_type_enabled
        type: int
      - name: http_resp_server_enabled
        type: int
      - name: tls_certificate_expire_in_x_days
        type: int
      - name: tls_app_blocks_tracking_enabled
        type: int
      - name: tls_heuristics
        type: int
      - name: tls_heuristics_max_packets
        type: int
      - name: tls_versions_supported_enabled
        type: int
      - name: tls_alpn_negotiated_enabled
        type: int
      - name: tls_cipher_enabled
        type: int
      - name: tls_sha1_fingerprint_enabled
        type: int
      - name: tls_cert_server_names_enabled
        type: int
      - name: tls_cert_validity_enabled
        type: int
      - name: tls_cert_issuer_enabled
        type: int
      - name: tls_cert_subject_enabled
        type: int
      - name: tls_broswer_enabled
        type: int
      - name: tls_ja3s_fingerprint_enabled
        type: int
      - name: tls_ja4c_fingerprint_enabled
        type: int
      - name: tls_ja4r_fingerprint_enabled
        type: int
      - name: tls_subclassification_enabled
        type: int
      - name: tls_blocks_analysis_enabled
        type: int
      - name: quic_subclassification_enabled
        type: int
      - name: smtp_opportunistic_tls_enabled
        type: int
      - name: imap_opportunistic_tls_enabled
        type: int
      - name: pop_opportunistic_tls_enabled
        type: int
      - name: ftp_opportunistic_tls_enabled
        type: int
      - name: sip_attribute_from_enabled
        type: int
      - name: sip_attribute_from_imsi_enabled
        type: int
      - name: sip_attribute_to_enabled
        type: int
      - name: sip_attribute_to_imsi_enabled
        type: int
      - name: stun_opportunistic_tls_enabled
        type: int
      - name: stun_max_packets_extra_dissection
        type: int
      - name: rtp_max_packets_extra_dissection
        type: int
      - name: stun_mapped_address_enabled
        type: int
      - name: stun_response_origin_enabled
        type: int
      - name: stun_other_address_enabled
        type: int
      - name: stun_relayed_address_enabled
        type: int
      - name: stun_peer_address_enabled
        type: int
      - name: bittorrent_hash_enabled
        type: int
      - name: ssdp_metadata_enabled
        type: int
      - name: dns_subclassification_enabled
        type: int
      - name: dns_parse_response_enabled
        type: int
      - name: http_parse_response_enabled
        type: int
      - name: http_subclassification_enabled
        type: int
      - name: ookla_aggressiveness
        type: int
      - name: zoom_max_packets_extra_dissection
        type: int
      - name: rtp_search_for_stun
        type: int
      - name: openvpn_heuristics
        type: int
      - name: openvpn_heuristics_num_msgs
        type: int
      - name: openvpn_subclassification_by_ip
        type: int
      - name: wireguard_subclassification_by_ip
        type: int
      - name: detection_bitmask
        type: struct ndpi_bitmask
      - name: debug_bitmask
        type: struct ndpi_bitmask
      - name: ip_list_bitmask
        type: struct ndpi_bitmask
      - name: monitoring
        type: struct ndpi_bitmask
      - name: flowrisk_bitmask
        type: struct ndpi_bitmask
      - name: flowrisk_info_bitmask
        type: struct ndpi_bitmask
      - name: flow_risk_lists_enabled
        type: int
      - name: risk_anonymous_subscriber_list_icloudprivaterelay_enabled
        type: int
      - name: risk_anonymous_subscriber_list_tor_exit_nodes_enabled
        type: int
      - name: risk_crawler_bot_list_enabled
        type: int
      item_type: struct
      name: ndpi_detection_module_config_struct
      pos:
        line_end: 361
        line_start: 208
        source_file: /src/ndpi/src/include/ndpi_private.h
    - fields:
      - name: current_ts
        type: u_int64_t
      - name: num_tls_blocks_to_follow
        type: u_int16_t
      - name: skip_tls_blocks_until_change_cipher
        type: u_int8_t
      - name: tls_certificate_expire_in_x_days
        type: u_int8_t
      - name: '*user_data'
        type: void
      - name: custom_category_labels[NUM_CUSTOM_CATEGORIES][CUSTOM_CATEGORY_LABEL_LEN]
        type: char
      - name: '*callback_buffer'
        type: struct call_function_struct
      - name: '*callback_buffer_tcp_no_payload'
        type: struct call_function_struct
      - name: '*callback_buffer_tcp_payload'
        type: struct call_function_struct
      - name: '*callback_buffer_udp'
        type: struct call_function_struct
      - name: '*callback_buffer_non_tcp_udp'
        type: struct call_function_struct
      - name: callback_buffer_size
        type: u_int32_t
      - name: callback_buffer_size_tcp_no_payload
        type: u_int32_t
      - name: callback_buffer_size_tcp_payload
        type: u_int32_t
      - name: callback_buffer_size_udp
        type: u_int32_t
      - name: callback_buffer_size_non_tcp_udp
        type: u_int32_t
      - name: callback_buffer_num
        type: u_int32_t
      - name: current_dissector_idx
        type: u_int32_t
      - name: '*tcpRoot'
        type: default_ports_tree_node_t
      - name: tcp_max_retransmission_window_size
        type: u_int32_t
      - name: num_supported_protocols
        type: u_int
      - name: num_custom_protocols
        type: u_int
      - name: num_internal_protocols
        type: u_int
      - name: host_automa
        type: ndpi_automa
      - name: '*malicious_ja4_hashmap'
        type: ndpi_str_hash
      - name: '*trusted_issuer_dn'
        type: ndpi_list
      - name: '*ip_risk_mask'
        type: ndpi_ptree_t
      - name: custom_categories
        type: "struct {\n    ndpi_domain_classify *sc_hostnames, *sc_hostnames_shadow;\n
          \   void *ipAddresses, *ipAddresses_shadow; /* Patricia */\n    void *ipAddresses6,
          *ipAddresses6_shadow; /* Patricia IPv6*/\n    u_int8_t categories_loaded;\n
          \ }"
      - name: ip_version_limit
        type: u_int8_t
      - name: '*g_ctx'
        type: struct ndpi_global_context
      - name: cfg
        type: struct ndpi_detection_module_config_struct
      - name: '*tinc_cache'
        type: struct cache
      - name: '*ookla_cache'
        type: struct ndpi_lru_cache
      - name: '*signal_cache'
        type: struct ndpi_lru_cache
      - name: '*bittorrent_cache'
        type: struct ndpi_lru_cache
      - name: '*stun_cache'
        type: struct ndpi_lru_cache
      - name: '*tls_cert_cache'
        type: struct ndpi_lru_cache
      - name: '*mining_cache'
        type: struct ndpi_lru_cache
      - name: '*msteams_cache'
        type: struct ndpi_lru_cache
      - name: '*fpc_dns_cache'
        type: struct ndpi_lru_cache
      - name: '*ndpi_to_user_proto_id'
        type: u_int16_t
      - name: ndpi_to_user_proto_id_num_allocated
        type: u_int16_t
      - name: '*proto_defaults'
        type: ndpi_proto_defaults_t
      - name: proto_defaults_num_allocated
        type: u_int16_t
      - name: '*mmdb_city'
        type: void
      - name: mmdb_city_loaded
        type: u_int8_t
      - name: packet
        type: struct ndpi_packet_struct
      - name: '*input_info'
        type: struct ndpi_flow_input_info
      - name: max_payload_track_len
        type: u_int16_t
      - name: '*public_domain_suffixes'
        type: ndpi_str_hash
      - name: '*address_cache'
        type: struct ndpi_address_cache
      - name: dns_hostname
        type: "struct {\n    ndpi_filter *cache, *cache_shadow;\n  }"
      item_type: struct
      name: ndpi_detection_module_struct
      pos:
        line_end: 491
        line_start: 363
        source_file: /src/ndpi/src/include/ndpi_private.h
    typedefs: []
    union: []
- function_names:
  - ndpi_match_strprefix
  - NDPI_ENTROPY_PLAINTEXT
  - NDPI_ENTROPY_EXECUTABLE
  - NDPI_ENTROPY_EXECUTABLE_PACKED
  - NDPI_ENTROPY_EXECUTABLE_ENCRYPTED
  - NDPI_ENTROPY_ENCRYPTED_OR_RANDOM
  source_file: /src/ndpi/src/include/ndpi_main.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_chdlc
  - ndpi_slarp
  - ndpi_cdp
  - ndpi_ethhdr
  - ndpi_arphdr
  - ndpi_dhcphdr
  - ndpi_mdns_rsp_entry
  - ndpi_snap_extension
  - ndpi_llc_header_snap
  - ndpi_radiotap_header
  - ndpi_wifi_header
  - ndpi_mpls_header
  - ndpi_iphdr
  - ndpi_in6_addr
  - ndpi_ip6_hdrctl
  - ndpi_ipv6hdr
  - ndpi_tcphdr
  - ndpi_udphdr
  - ndpi_dns_packet_header
  - ndpi_icmphdr
  - ndpi_icmp6hdr
  - ndpi_vxlanhdr
  - NDPI_GRE_IS_CSUM
  - NDPI_GRE_IS_ROUTING
  - NDPI_GRE_IS_KEY
  - NDPI_GRE_IS_SEQ
  - NDPI_GRE_IS_STRICT
  - NDPI_GRE_IS_REC
  - NDPI_GRE_IS_FLAGS
  - NDPI_GRE_IS_ACK
  - NDPI_GRE_IS_VERSION_0
  - NDPI_GRE_IS_VERSION_1
  - ndpi_gre_basehdr
  - ndpi_binary_bitmap_entry
  source_file: /src/ndpi/src/include/ndpi_typedefs.h
  types:
    enum:
    - enumerators:
      - name: NDPI_STATE_INSPECTING
        value: '0'
      - name: NDPI_STATE_PARTIAL
      - name: NDPI_STATE_MONITORING
      - name: NDPI_STATE_CLASSIFIED
      item_type: enum
      name: ndpi_classification_state
      pos:
        line_end: 1310
        line_start: 1302
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - enumerators:
      - name: ndpi_bin_family8
      - name: ndpi_bin_family32
      - name: ndpi_bin_family16
      - name: ndpi_bin_family64
      - name: kMaxValue
        value: ndpi_bin_family64
      item_type: enum
      name: ndpi_bin_family
      pos:
        line_end: 1999
        line_start: 1992
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NUM_RISK_INFOS
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NDPI_MAX_NUM_DISSECTORS
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '288      '
    - item_type: preproc_def
      name: NDPI_NUM_FDS_DISSECTORS
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: howmanybits(NDPI_MAX_NUM_DISSECTORS, 32)
    - item_type: preproc_def
      name: NDPI_NUM_FDS_DISSECTORS
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PACK_ON
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: __pragma(pack(push, 1))
    - item_type: preproc_def
      name: PACK_OFF
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: __pragma(pack(pop))
    - item_type: preproc_def
      name: PACK_OFF
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: __attribute__((packed))
    - item_type: preproc_def
      name: IPPROTO_GRE
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '47'
    - item_type: preproc_def
      name: NDPI_GRE_CSUM
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ntohs(0x8000)
    - item_type: preproc_def
      name: NDPI_GRE_ROUTING
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ntohs(0x4000)
    - item_type: preproc_def
      name: NDPI_GRE_KEY
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ntohs(0x2000)
    - item_type: preproc_def
      name: NDPI_GRE_SEQ
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ntohs(0x1000)
    - item_type: preproc_def
      name: NDPI_GRE_STRICT
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ntohs(0x0800)
    - item_type: preproc_def
      name: NDPI_GRE_REC
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ntohs(0x0700)
    - item_type: preproc_def
      name: NDPI_GRE_ACK
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ntohs(0x0080)
    - item_type: preproc_def
      name: NDPI_GRE_FLAGS
      pos:
        line_end: 615
        line_start: 614
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ntohs(0x0078)
    - item_type: preproc_def
      name: NDPI_GRE_VERSION
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ntohs(0x0007)
    - item_type: preproc_def
      name: NDPI_GRE_PROTO_PPP
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ntohs(0x880b)
    - item_type: preproc_def
      name: NDPI_PPP_HDRLEN
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: NDPI_IN_PKT_DIR_UNKNOWN
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: NDPI_IN_PKT_DIR_C_TO_S
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: NDPI_IN_PKT_DIR_S_TO_C
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: NDPI_FLOW_BEGINNING_UNKNOWN
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: NDPI_FLOW_BEGINNING_SEEN
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: NDPI_FLOW_BEGINNING_NOT_SEEN
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: TINC_CACHE_MAX_SIZE
      pos:
        line_end: 696
        line_start: 695
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: NDPI_GIVEUP_GUESS_BY_PORT
      pos:
        line_end: 815
        line_start: 814
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: NDPI_GIVEUP_GUESS_BY_IP
      pos:
        line_end: 816
        line_start: 815
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: NDPI_AGGRESSIVENESS_DISABLED
      pos:
        line_end: 820
        line_start: 819
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '0x00 '
    - item_type: preproc_def
      name: NDPI_AGGRESSIVENESS_OOKLA_TLS
      pos:
        line_end: 823
        line_start: 822
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: NDPI_HEURISTICS_OPENVPN_OPCODE
      pos:
        line_end: 826
        line_start: 825
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: NDPI_HEURISTICS_TLS_OBFUSCATED_PLAIN
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: NDPI_HEURISTICS_TLS_OBFUSCATED_TLS
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: NDPI_HEURISTICS_TLS_OBFUSCATED_HTTP
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: QUIC_SERVER_CID_HEURISTIC_LENGTH
      pos:
        line_end: 1006
        line_start: 1005
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NDPI_NUM_BREEDS
      pos:
        line_end: 1095
        line_start: 1094
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: (NDPI_PROTOCOL_TRACKER_ADS+1)
    - item_type: preproc_def
      name: NUM_CUSTOM_CATEGORIES
      pos:
        line_end: 1325
        line_start: 1324
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: CUSTOM_CATEGORY_LABEL_LEN
      pos:
        line_end: 1326
        line_start: 1325
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: MAX_NUM_NDPI_DOMAIN_CLASSIFICATIONS
      pos:
        line_end: 1340
        line_start: 1339
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_NUM_TLS_SIGNATURE_ALGORITHMS
      pos:
        line_end: 1352
        line_start: 1351
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MAX_NUM_DNS_RSP_ADDRESSES
      pos:
        line_end: 1353
        line_start: 1352
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: OPENVPN_HEUR_MAX_NUM_OPCODES
      pos:
        line_end: 1761
        line_start: 1760
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NDPI_PROTOCOL_DEFAULT_LEVEL
      pos:
        line_end: 1800
        line_start: 1799
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NDPI_SERIALIZER_DEFAULT_HEADER_SIZE
      pos:
        line_end: 1863
        line_start: 1862
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: NDPI_SERIALIZER_DEFAULT_BUFFER_SIZE
      pos:
        line_end: 1864
        line_start: 1863
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '256'
    - item_type: preproc_def
      name: NDPI_SERIALIZER_DEFAULT_BUFFER_INCR
      pos:
        line_end: 1865
        line_start: 1864
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: NDPI_SERIALIZER_STATUS_COMMA
      pos:
        line_end: 1867
        line_start: 1866
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: NDPI_SERIALIZER_STATUS_ARRAY
      pos:
        line_end: 1868
        line_start: 1867
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: NDPI_SERIALIZER_STATUS_EOR
      pos:
        line_end: 1869
        line_start: 1868
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: NDPI_SERIALIZER_STATUS_SOB
      pos:
        line_end: 1870
        line_start: 1869
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: NDPI_SERIALIZER_STATUS_NOT_EMPTY
      pos:
        line_end: 1871
        line_start: 1870
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: NDPI_SERIALIZER_STATUS_LIST
      pos:
        line_end: 1872
        line_start: 1871
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: NDPI_SERIALIZER_STATUS_SOL
      pos:
        line_end: 1873
        line_start: 1872
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: NDPI_SERIALIZER_STATUS_HDR_DONE
      pos:
        line_end: 1874
        line_start: 1873
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: NDPI_SERIALIZER_STATUS_CEOB
      pos:
        line_end: 1875
        line_start: 1874
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: (1 << 8)
    - item_type: preproc_def
      name: ndpi_private_deserializer
      pos:
        line_end: 1905
        line_start: 1904
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ndpi_private_serializer
    - item_type: preproc_def
      name: ndpi_deserializer
      pos:
        line_end: 1913
        line_start: 1912
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: ndpi_serializer
    - item_type: preproc_def
      name: DEFAULT_SERIES_LEN
      pos:
        line_end: 1933
        line_start: 1932
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '64'
    - item_type: preproc_def
      name: MAX_SERIES_LEN
      pos:
        line_end: 1934
        line_start: 1933
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '512'
    - item_type: preproc_def
      name: MIN_SERIES_LEN
      pos:
        line_end: 1935
        line_start: 1934
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: AF_MAC
      pos:
        line_end: 1957
        line_start: 1956
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '99'
    - item_type: preproc_def
      name: HW_HISTORY_LEN
      pos:
        line_end: 2033
        line_start: 2032
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MAX_SQUARE_ERROR_ITERATIONS
      pos:
        line_end: 2034
        line_start: 2033
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '64 '
    - item_type: preproc_def
      name: NDPI_RANKING_VERSION
      pos:
        line_end: 2106
        line_start: 2105
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type_or_value: '1'
    structs:
    - fields:
      - name: id
        type: ndpi_risk_param_id
      - name: '*value'
        type: void
      item_type: struct
      name: ndpi_risk_params
      pos:
        line_end: 200
        line_start: 197
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: risk
        type: ndpi_risk_enum
      - name: severity
        type: ndpi_risk_severity
      - name: default_client_risk_pctg
        type: risk_percentage
      - name: accountability
        type: ndpi_risk_accountability
      item_type: struct
      name: ndpi_risk_info
      pos:
        line_end: 240
        line_start: 235
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: max_bits
        type: u_int16_t
      - name: num_fds
        type: u_int16_t
      - name: '*fds'
        type: ndpi_ndpi_mask
      item_type: struct
      name: ndpi_bitmask
      pos:
        line_end: 269
        line_start: 265
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: fds[NDPI_NUM_FDS_DISSECTORS]
        type: ndpi_ndpi_mask
      item_type: struct
      name: ndpi_dissector_bitmask
      pos:
        line_end: 283
        line_start: 281
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: in_pkt_dir
        type: unsigned char
      - name: seen_flow_beginning
        type: unsigned char
      item_type: struct
      name: ndpi_flow_input_info
      pos:
        line_end: 662
        line_start: 659
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: '*buffer'
        type: u_int8_t
      - name: buffer_len
        type: u_int
      - name: next_seq
        type: u_int32_t
      item_type: struct
      name: message
      pos:
        line_end: 692
        line_start: 688
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: n_search
        type: u_int64_t
      - name: n_found
        type: u_int64_t
      item_type: struct
      name: ndpi_automa_stats
      pos:
        line_end: 754
        line_start: 751
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: n_search
        type: u_int64_t
      - name: n_found
        type: u_int64_t
      item_type: struct
      name: ndpi_str_hash_stats
      pos:
        line_end: 771
        line_start: 768
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: key
        type: u_int64_t
      - name: is_full
        type: u_int32_t
      - name: timestamp
        type: u_int32_t
      item_type: struct
      name: ndpi_lru_cache_entry
      pos:
        line_end: 794
        line_start: 790
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: n_insert
        type: u_int64_t
      - name: n_search
        type: u_int64_t
      - name: n_found
        type: u_int64_t
      item_type: struct
      name: ndpi_lru_cache_stats
      pos:
        line_end: 800
        line_start: 796
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: num_entries
        type: u_int32_t
      - name: ttl
        type: u_int32_t
      - name: stats
        type: struct ndpi_lru_cache_stats
      - name: '*entries'
        type: struct ndpi_lru_cache_entry
      item_type: struct
      name: ndpi_lru_cache
      pos:
        line_end: 812
        line_start: 802
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: block_type
        type: u_int8_t
      - name: len
        type: int16_t
      item_type: struct
      name: ndpi_tls_block
      pos:
        line_end: 837
        line_start: 834
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: next_tcp_seq_nr[2]
        type: u_int32_t
      - name: last_tcp_pkt_payload_len
        type: u_int16_t
      - name: cli2srv_tcp_flags
        type: u_int8_t
      - name: ftp_imap_pop_smtp
        type: "struct {\n    u_int8_t auth_found:1, auth_failed:1, auth_tls:1, auth_done:1,
          _pad:4;\n    char username[32], password[16];\n  }"
      - name: tls
        type: "struct {\n    /* NDPI_PROTOCOL_TLS */\n    u_int8_t app_data_seen[2];\n
          \   u_int8_t num_tls_blocks, num_processed_tls_blocks /* used internally
          for dissection */;\n    struct ndpi_tls_block tls_blocks[NDPI_MAX_NUM_TLS_APPL_BLOCKS];\n
          \ }"
      - name: smtp_command_bitmask
        type: u_int16_t
      - name: pop_command_bitmask
        type: u_int16_t
      - name: rtmp_client_buffer_len
        type: u_int16_t
      - name: hcl_notes_packet_id
        type: u_int8_t
      - name: wa_matched_so_far
        type: u_int8_t
      - name: irc_stage
        type: u_int8_t
      - name: nest_log_sink_matches
        type: u_int8_t
      - name: memcached_matches
        type: u_int8_t
      - name: seen_syn
        type: u_int64_t
      - name: irc_3a_counter
        type: u_int64_t
      - name: usenet_stage
        type: u_int64_t
      - name: http_stage
        type: u_int64_t
      - name: http_asymmetric_stage
        type: u_int64_t
      - name: gnutella_stage
        type: u_int64_t
      - name: ssh_stage
        type: u_int64_t
      - name: vnc_stage
        type: u_int64_t
      - name: radmin_stage
        type: u_int64_t
      - name: ftp_control_stage
        type: u_int64_t
      - name: soap_stage
        type: u_int64_t
      - name: socks5_stage
        type: u_int64_t
      - name: socks4_stage
        type: u_int64_t
      - name: z3950_stage
        type: u_int64_t
      - name: rtmp_stage
        type: u_int64_t
      - name: postgres_stage
        type: u_int64_t
      - name: icecast_stage
        type: u_int64_t
      - name: mail_pop_stage
        type: u_int64_t
      - name: mail_imap_stage
        type: u_int64_t
      - name: mail_imap_starttls
        type: u_int64_t
      - name: reserved
        type: u_int64_t
      item_type: struct
      name: ndpi_flow_tcp_struct
      pos:
        line_end: 944
        line_start: 839
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: tftp_stage
        type: u_int32_t
      - name: xbox_stage
        type: u_int32_t
      - name: quic_server_cid_stage
        type: u_int32_t
      - name: quic_0rtt_found
        type: u_int32_t
      - name: quic_vn_pair
        type: u_int32_t
      - name: lolwildrift_stage
        type: u_int32_t
      - name: zoom_p2p
        type: u_int32_t
      - name: raknet_custom
        type: u_int32_t
      - name: mumble_stage
        type: u_int32_t
      - name: hamachi_stage
        type: u_int32_t
      - name: epicgames_stage
        type: u_int32_t
      - name: epicgames_word
        type: u_int32_t
      - name: rx_conn_epoch
        type: u_int32_t
      - name: rx_conn_id
        type: u_int32_t
      - name: wireguard_peer_index[2]
        type: u_int32_t
      - name: wireguard_stage
        type: u_int8_t
      - name: memcached_matches
        type: u_int8_t
      - name: eaq_pkt_id
        type: u_int8_t
      - name: eaq_sequence
        type: u_int32_t
      - name: mumble_ident
        type: u_int64_t
      - name: hamachi_long[2]
        type: u_int32_t
      - name: hamachi_short[2]
        type: u_int16_t
      - name: '*quic_reasm_buf'
        type: u_int8_t
      - name: '*quic_reasm_buf_bitmap'
        type: u_int8_t
      - name: quic_reasm_buf_last_pos
        type: u_int32_t
      - name: quic_server_cid[QUIC_SERVER_CID_HEURISTIC_LENGTH]
        type: u_int8_t
      - name: quic_client_last_byte
        type: u_int8_t
      - name: quic_orig_dest_conn_id[20]
        type: u_int8_t
      - name: quic_orig_dest_conn_id_len
        type: u_int8_t
      - name: rdp_to_srv[3]
        type: u_int8_t
      - name: imo_last_one_byte_pkt
        type: u_int8_t
      - name: line_pkts[2]
        type: u_int8_t
      - name: line_base_cnt[2]
        type: u_int8_t
      - name: tftp_data_num
        type: u_int16_t
      - name: tftp_ack_num
        type: u_int16_t
      item_type: struct
      name: ndpi_flow_udp_struct
      pos:
        line_end: 1026
        line_start: 948
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: port_low
        type: u_int16_t
      - name: is_custom
        type: u_int8_t
      item_type: struct
      name: ndpi_port_range
      pos:
        line_end: 1038
        line_start: 1035
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: protoName[32]
        type: char
      - name: protoCategory
        type: ndpi_protocol_category_t
      - name: isClearTextProto
        type: u_int8_t
      - name: '*subprotocols'
        type: u_int16_t
      - name: subprotocol_count
        type: u_int32_t
      - name: protoId
        type: u_int16_t
      - name: tcp_default_ports[MAX_DEFAULT_PORTS]
        type: ndpi_port_range
      - name: protoBreed
        type: ndpi_protocol_breed_t
      - name: qoeCategory
        type: ndpi_protocol_qoe_category_t
      item_type: struct
      name: ndpi_proto_defaults
      pos:
        line_end: 1269
        line_start: 1259
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: '*ac_automa'
        type: void
      - name: stats
        type: struct ndpi_automa_stats
      item_type: struct
      name: _ndpi_automa
      pos:
        line_end: 1275
        line_start: 1272
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: '*priv'
        type: void
      - name: stats
        type: struct ndpi_str_hash_stats
      item_type: struct
      name: ndpi_str_hash
      pos:
        line_end: 1280
        line_start: 1277
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: master_protocol
        type: u_int16_t
      item_type: struct
      name: ndpi_master_app_protocol
      pos:
        line_end: 1289
        line_start: 1282
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: proto
        type: ndpi_master_app_protocol
      - name: confidence
        type: ndpi_fpc_confidence_t
      item_type: struct
      name: ndpi_fpc_info
      pos:
        line_end: 1294
        line_start: 1291
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: protos[NDPI_PROTOCOL_STACK_SIZE]
        type: u_int16_t
      - name: protos_num
        type: u_int16_t
      item_type: struct
      name: ndpi_proto_stack
      pos:
        line_end: 1299
        line_start: 1296
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: proto
        type: ndpi_master_app_protocol
      - name: protocol_stack
        type: struct ndpi_proto_stack
      - name: protocol_by_ip
        type: u_int16_t
      - name: category
        type: ndpi_protocol_category_t
      - name: breed
        type: ndpi_protocol_breed_t
      - name: fpc
        type: struct ndpi_fpc_info
      - name: '*custom_category_userdata'
        type: void
      - name: state
        type: ndpi_classification_state
      item_type: struct
      name: ndpi_proto
      pos:
        line_end: 1321
        line_start: 1312
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: num_allocated_entries
        type: u_int32_t
      - name: '*entries'
        type: struct ndpi_binary_bitmap_entry
      - name: is_compressed
        type: bool
      item_type: struct
      name: ndpi_binary_bitmap
      pos:
        line_end: 1337
        line_start: 1333
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: '*domains'
        type: ndpi_str_hash
      item_type: struct
      name: ndpi_domain_classify
      pos:
        line_end: 1343
        line_start: 1341
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: address
        type: "union {\n    u_int32_t v4;\n    u_int8_t v6[16];\n  }"
      - name: port
        type: u_int16_t
      - name: is_ipv6
        type: u_int16_t
      item_type: struct
      name: ndpi_address_port
      pos:
        line_end: 1362
        line_start: 1354
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: is_safari_tls
        type: u_int8_t
      item_type: struct
      name: tls_heuristics
      pos:
        line_end: 1370
        line_start: 1364
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: id
        type: ndpi_risk_enum
      - name: '*info'
        type: char
      item_type: struct
      name: ndpi_risk_information
      pos:
        line_end: 1375
        line_start: 1372
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: protos
        type: "union {\n    struct {\n      ndpi_address_port mapped_address;\n      ndpi_address_port
          peer_address;\n      ndpi_address_port relayed_address;\n      ndpi_address_port
          response_origin;\n      ndpi_address_port other_address;\n    } dtls_stun_rtp;\n
          \ }"
      item_type: struct
      name: ndpi_metadata_monitoring
      pos:
        line_end: 1387
        line_start: 1377
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: '*fingerprint'
        type: char
      - name: os
        type: ndpi_os
      item_type: struct
      name: os_fingerprint
      pos:
        line_end: 1403
        line_start: 1400
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: payload_type
        type: u_int8_t
      - name: payload_detected
        type: bool
      - name: evs_subtype
        type: u_int32_t
      item_type: struct
      name: rtp_info
      pos:
        line_end: 1409
        line_start: 1405
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: detected_protocol_stack[NDPI_PROTOCOL_SIZE]
        type: u_int16_t
      - name: protocol_stack
        type: struct ndpi_proto_stack
      - name: state
        type: ndpi_classification_state
      - name: guessed_protocol_id
        type: u_int16_t
      - name: guessed_protocol_id_by_ip
        type: u_int16_t
      - name: fast_callback_protocol_id
        type: u_int16_t
      - name: guessed_header_category
        type: u_int16_t
      - name: l4_proto
        type: u_int8_t
      - name: already_gaveup
        type: u_int8_t
      - name: '*custom_category_userdata'
        type: void
      - name: num_dissector_calls
        type: u_int16_t
      - name: confidence
        type: ndpi_confidence_t
      - name: fpc
        type: struct ndpi_fpc_info
      - name: c_address
        type: "union {\n    u_int32_t v4;\n    u_int8_t v6[16];\n  }"
      - name: c_port
        type: u_int16_t
      - name: max_extra_packets_to_check
        type: u_int8_t
      - name: num_extra_packets_checked
        type: u_int8_t
      - name: num_processed_pkts
        type: u_int16_t
      - name: (*extra_packets_func) (struct ndpi_detection_module_struct *, struct
          ndpi_flow_struct *flow)
        type: int
      - name: last_packet_time_ms
        type: u_int64_t
      - name: category
        type: ndpi_protocol_category_t
      - name: breed
        type: ndpi_protocol_breed_t
      - name: packet_counter
        type: u_int16_t
      - name: packet_direction_counter[2]
        type: u_int16_t
      - name: all_packets_counter
        type: u_int16_t
      - name: packet_direction_complete_counter[2]
        type: u_int16_t
      - name: l4
        type: "union {\n    struct ndpi_flow_tcp_struct tcp;\n    struct ndpi_flow_udp_struct
          udp;\n  }"
      - name: entropy
        type: float
      - name: host_server_name[80]
        type: char
      - name: initial_binary_bytes[8]
        type: u_int8_t
      - name: risk_checked
        type: u_int8_t
      - name: risk_mask
        type: ndpi_risk
      - name: risk
        type: ndpi_risk
      - name: risk_infos[MAX_NUM_RISK_INFOS]
        type: struct ndpi_risk_information
      - name: num_risk_infos
        type: u_int8_t
      - name: tcp
        type: "struct {\n    char *fingerprint;\n    char *fingerprint_raw;\n    ndpi_os
          os_hint;\n  }"
      - name: ndpi
        type: "struct {\n    char *fingerprint;\n  }"
      - name: http
        type: "struct {\n    ndpi_http_method method;\n    u_int8_t request_version;
          /* 0=1.0 and 1=1.1. Create an enum for this? */\n    u_int8_t websocket:1,
          request_header_observed:1, first_payload_after_header_observed:1, is_form:1,
          _pad:4;\n    u_int16_t response_status_code; /* 200, 404, etc. */\n    char
          *url, *content_type /* response */, *request_content_type /* e.g. for POST
          */, *user_agent, *server, *referer, *host;\n    char *detected_os; /* Via
          HTTP/QUIC User-Agent */\n    char *nat_ip; /* Via HTTP X-Forwarded-For */\n
          \   char *filename; /* Via HTTP Content-Disposition */\n    char *username,
          *password;\n  }"
      - name: flow_multimedia_types
        type: u_int8_t
      - name: kerberos_buf
        type: "struct {\n    char *pktbuf;\n    u_int16_t pktbuf_maxlen, pktbuf_currlen;\n
          \ }"
      - name: stun
        type: "struct {\n    u_int8_t maybe_dtls:1, rtcp_seen:1, is_turn : 1, is_client_controlling:1,
          pad : 4;\n    ndpi_address_port mapped_address, peer_address, relayed_address,
          response_origin, other_address;\n    u_int8_t num_xor_relayed_addresses,
          num_xor_mapped_addresses;\n    u_int8_t num_non_stun_pkt, non_stun_pkt_len[2];\n
          \   u_int16_t rtp_counters[2];\n    u_int32_t t_start, t_end;\n  }"
      - name: tls_quic
        type: "struct {\n    message_t message[2]; /* Directions */\n    u_int8_t
          certificate_processed:1, change_cipher_from_client:1, change_cipher_from_server:1,
          from_opportunistic_tls:1, from_rdp:1, pad:3;\n    struct tls_obfuscated_heuristic_state
          *obfuscated_heur_state;\n  }"
      - name: rtp[2 /* directions */]
        type: struct rtp_info
      - name: protos
        type: "union {\n    /* the only fields useful for nDPI and ntopng */\n    struct
          {\n      u_int8_t num_queries, num_answers, reply_code, num_rsp_addr;\n
          \     u_int8_t is_query:1, pad:7;\n      u_int16_t transaction_id, query_type,
          query_class, rsp_type, edns0_udp_payload_size;\n      u_int8_t is_rsp_addr_ipv6[MAX_NUM_DNS_RSP_ADDRESSES];\n
          \     ndpi_ip_addr_t rsp_addr[MAX_NUM_DNS_RSP_ADDRESSES]; /* The first num_rsp_addr
          address in a DNS response packet (A and AAAA) */\n      u_int32_t rsp_addr_ttl[MAX_NUM_DNS_RSP_ADDRESSES];\n
          \     char geolocation_iata_code[4];\n      char ptr_domain_name[64 /* large
          enough but smaller than { } tls */];\n    } dns;\n\n    struct {\n      u_int8_t
          version;\n      u_int8_t mode;\n    } ntp;\n\n    struct {\n      char hostname[48],
          domain[48], username[48];\n    } kerberos;\n\n    struct {\n      char ip[16];\n
          \     char port[6];\n      char hostname[48];\n      char fqdn[48];\n    }
          softether;\n\n    struct {\n      char currency[16];\n    } mining;\n\n
          \   struct {\n      char *server_names, *advertised_alpns, *negotiated_alpn,
          *tls_supported_versions, *issuerDN, *subjectDN;\n      u_int32_t notBefore,
          notAfter;\n      char ja3_server[33], ja4_client[37], *ja4_client_raw;\n
          \     u_int16_t server_cipher;\n      u_int8_t sha1_certificate_fingerprint[20];\n
          \     u_int8_t client_hello_processed:1, ch_direction:1, subprotocol_detected:1,\n\tserver_hello_processed:1,
          fingerprint_set:1, webrtc:1,\n\tpq_key_share:1, pq_supported_groups:1;\n\n#ifdef
          TLS_HANDLE_SIGNATURE_ALGORITMS\n      /* Under #ifdef to save memory for
          those who do not need them */\n      u_int8_t num_tls_signature_algorithms;\n
          \     u_int16_t client_signature_algorithms[MAX_NUM_TLS_SIGNATURE_ALGORITHMS];\n#endif\n\n
          \     struct tls_heuristics browser_heuristics;\n      u_int16_t ssl_version,
          server_names_len;\n\n      struct {\n        u_int16_t version;\n      }
          encrypted_ch;\n\n      ndpi_cipher_weakness server_unsafe_cipher;\n\n      u_int32_t
          quic_version;\n      u_int32_t quic_idle_timeout_sec;\n    } tls_quic; /*
          Used also by DTLS and POPS/IMAPS/SMTPS/FTPS */\n\n    struct {\n      char
          client_signature[48], server_signature[48];\n      char hassh_client[33],
          hassh_server[33];\n    } ssh;\n\n    struct {\n      char filename[128];\n
          \   } tftp;\n\n    struct {\n      u_int8_t username_detected:1, username_found:1,\n\tpassword_detected:1,
          password_found:1,\n\t_pad:4;\n      u_int8_t character_id;\n      char username[32],
          password[32];\n    } telnet;\n\n    struct {\n      char client_username[32];\n
          \     char server_username[32];\n      char command[48];\n    } rsh;\n\n
          \   struct {\n      char client_username[32];\n    } collectd;\n\n    struct
          {\n      char client_ip[16];\n    } discord;\n\n    struct {\n      char
          version[64];\n    } ubntac2;\n\n    /* In TLS.Bittorent flows there is no
          hash.\n       Nonetheless, we must pay attention to NOT write to /read from
          this field\n       with these flows */\n    struct {\n      /* Bittorrent
          hash */\n      u_char hash[20];\n    } bittorrent;\n\n    struct {\n      char
          options[48];\n      char fingerprint[48];\n      char class_ident[48];\n
          \   } dhcp;\n\n    struct {\n      u_int8_t version;   /* 0 = SNMPv1, 1
          = SNMPv2c, 3 = SNMPv3 */\n      u_int8_t primitive; /* GET, SET... */\n
          \     u_int8_t error_status;\n    } snmp;\n\n    struct {\n      char identity_uuid[37];\n
          \     char machine[48];\n      char platform[32];\n      char services[48];\n
          \   } tivoconnect;\n\n    struct {\n      u_int16_t result_code;\n      u_int16_t
          internal_port;\n      u_int16_t external_port;\n      ndpi_ip_addr_t external_address;\n
          \   } natpmp;\n\n    struct {\n      u_int8_t message_type;\n      char
          method[64];\n    } thrift;\n\n    struct {\n      u_int8_t url_count;\n
          \     char url[4][48];\n    } slp;\n\n    struct {\n      char *from;\n
          \     char from_imsi[16]; /* IMSI is 15 digit long, at most; + 1 for NULL
          terminator */\n      char *to;\n      char to_imsi[16];\n    } sip;\n\n
          \   struct {\n      char mac_addr[6], identity[16], version[48], sw_id[16],
          board[32], iface_name[32];\n      u_int32_t ipv4_addr, uptime;\n      struct
          ndpi_in6_addr ipv6_addr;\n    } mikrotik;\n\n    struct {\n      char *method;\n
          \     char *bootid;\n      char *usn;\n      char *cache_controle;\n      char
          *location;\n      char *household_smart_speaker_audio;\n      char *rincon_household;\n
          \     char *rincon_bootseq;\n      char *rincon_wifimode;\n      char *rincon_variant;\n
          \     char *sonos_securelocation;\n      char *securelocation_upnp;\n      char
          *location_smart_speaker_audio;\n      char *nt;\n      char *nts;\n      char
          *server;\n      char *man;\n      char *mx;\n      char *st;\n      char
          *user_agent;\n    } ssdp;\n\n    struct {\n      ndpi_http_method method;\n
          \     char user_agent[32];\n      char url[64];\n    } fast_cgi;\n\n    struct
          {\n      u_int32_t conference_id;\n      u_int16_t user_id;\n    } bfcp;\n\n
          \ }"
      - name: '*monit'
        type: struct ndpi_metadata_monitoring
      - name: excluded_dissectors_bitmask
        type: struct ndpi_dissector_bitmask
      - name: bittorrent_stage
        type: u_int8_t
      - name: bt_check_performed
        type: u_int8_t
      - name: zattoo_stage
        type: u_int8_t
      - name: ookla_stage
        type: u_int8_t
      - name: teamviewer_stage
        type: u_int8_t
      - name: ovpn_session_id[2][8]
        type: u_int8_t
      - name: ovpn_alg_standard_state
        type: u_int8_t
      - name: ovpn_alg_heur_opcode_state
        type: u_int8_t
      - name: ovpn_heur_opcode__codes_num
        type: u_int8_t
      - name: ovpn_heur_opcode__num_msgs
        type: u_int8_t
      - name: ovpn_heur_opcode__codes[OPENVPN_HEUR_MAX_NUM_OPCODES]
        type: u_int8_t
      - name: ovpn_heur_opcode__resets[2]
        type: u_int8_t
      - name: ovpn_heur_opcode__missing_bytes[2]
        type: u_int16_t
      - name: tinc_state
        type: u_int8_t
      - name: rtcp_stage
        type: u_int8_t
      - name: rtp_stage
        type: u_int8_t
      - name: rtp_seq_set[2]
        type: u_int8_t
      - name: rtp_seq[2]
        type: u_int16_t
      - name: flow_payload_len
        type: u_int16_t
      - name: '*flow_payload'
        type: char
      - name: priv_data[16]
        type: u_int8_t
      item_type: struct
      name: ndpi_flow_struct
      pos:
        line_end: 1786
        line_start: 1411
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: '*string_to_match'
        type: char
      - name: protocol_id
        type: u_int16_t
      - name: protocol_category
        type: ndpi_protocol_category_t
      - name: protocol_breed
        type: ndpi_protocol_breed_t
      - name: level
        type: int
      item_type: struct
      name: ndpi_protocol_match
      pos:
        line_end: 1807
        line_start: 1801
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: network
        type: u_int32_t
      - name: cidr
        type: u_int8_t
      - name: value
        type: u_int16_t
      item_type: struct
      name: ndpi_network
      pos:
        line_end: 1813
        line_start: 1809
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: '*network'
        type: char
      - name: cidr
        type: u_int8_t
      - name: value
        type: u_int16_t
      item_type: struct
      name: ndpi_network6
      pos:
        line_end: 1819
        line_start: 1815
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: protocol_id
        type: u_int32_t
      - name: protocol_category
        type: ndpi_protocol_category_t
      - name: protocol_breed
        type: ndpi_protocol_breed_t
      item_type: struct
      name: ndpi_protocol_match_result
      pos:
        line_end: 1825
        line_start: 1821
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: size_used
        type: u_int32_t
      item_type: struct
      name: ndpi_private_serializer_buffer_status
      pos:
        line_end: 1878
        line_start: 1876
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: flags
        type: u_int32_t
      - name: buffer
        type: ndpi_private_serializer_buffer_status
      - name: header
        type: ndpi_private_serializer_buffer_status
      item_type: struct
      name: ndpi_private_serializer_status
      pos:
        line_end: 1884
        line_start: 1880
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: initial_size
        type: u_int32_t
      - name: size
        type: u_int32_t
      - name: '*data'
        type: u_int8_t
      item_type: struct
      name: ndpi_private_serializer_buffer
      pos:
        line_end: 1890
        line_start: 1886
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: status
        type: ndpi_private_serializer_status
      - name: buffer
        type: ndpi_private_serializer_buffer
      - name: header
        type: ndpi_private_serializer_buffer
      - name: fmt
        type: ndpi_serialization_format
      - name: csv_separator[2]
        type: char
      - name: has_snapshot
        type: u_int8_t
      - name: multiline_json_array
        type: u_int8_t
      - name: inner_json
        type: u_int8_t
      - name: snapshot
        type: ndpi_private_serializer_status
      item_type: struct
      name: ndpi_private_serializer
      pos:
        line_end: 1902
        line_start: 1892
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: c[72]
        type: char
      item_type: struct
      name: ndpi_serializer
      pos:
        line_end: 1907
        line_start: 1907
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: c[sizeof(ndpi_private_serializer)]
        type: char
      item_type: struct
      name: ndpi_serializer
      pos:
        line_end: 1909
        line_start: 1909
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: '*str'
        type: char
      - name: str_len
        type: u_int16_t
      item_type: struct
      name: ndpi_string
      pos:
        line_end: 1917
        line_start: 1914
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: '*values'
        type: u_int64_t
      - name: min_val
        type: u_int64_t
      - name: num_data_entries
        type: u_int32_t
      - name: num_values_array_len
        type: u_int16_t
      - name: stddev
        type: "struct {\n    u_int64_t sum_square_total;\n  }"
      item_type: struct
      name: ndpi_analyze_struct
      pos:
        line_end: 1930
        line_start: 1921
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: empty
        type: u_int8_t
      - name: num_values
        type: u_int16_t
      - name: '*gains'
        type: u_int32_t
      - name: last_value
        type: u_int32_t
      item_type: struct
      name: ndpi_rsi_struct
      pos:
        line_end: 1943
        line_start: 1938
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: empty
        type: u_int8_t
      - name: num_values
        type: u_int16_t
      - name: '*observations'
        type: float
      item_type: struct
      name: ndpi_jitter_struct
      pos:
        line_end: 1951
        line_start: 1947
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: '*v4'
        type: ndpi_patricia_tree_t
      - name: '*v6'
        type: ndpi_patricia_tree_t
      item_type: struct
      name: ndpi_ptree
      pos:
        line_end: 1969
        line_start: 1965
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: bits
        type: u_int8_t
      - name: size
        type: size_t
      - name: '*registers'
        type: u_int8_t
      item_type: struct
      name: ndpi_hll
      pos:
        line_end: 1977
        line_start: 1973
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: num_hashes
        type: u_int16_t
      - name: num_hash_buckets
        type: u_int32_t
      - name: '*tables'
        type: u_int32_t
      item_type: struct
      name: ndpi_cm_sketch
      pos:
        line_end: 1983
        line_start: 1979
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: pop_count
        type: u_int64_t
      - name: tot_bytes_count
        type: u_int64_t
      item_type: struct
      name: ndpi_popcount
      pos:
        line_end: 1988
        line_start: 1985
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: is_empty
        type: u_int8_t
      - name: num_bins
        type: u_int16_t
      - name: family
        type: enum ndpi_bin_family
      - name: u
        type: "union {\n    u_int8_t  *bins8; /* num_bins bins */\n    u_int16_t *bins16;
          /* num_bins bins */\n    u_int32_t *bins32; /* num_bins bins */\n    u_int64_t
          *bins64; /* num_bins bins */\n  }"
      item_type: struct
      name: ndpi_bin
      pos:
        line_end: 2012
        line_start: 2001
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: '**distances'
        type: double
      - name: '**indices'
        type: int
      - name: n_samples
        type: int
      - name: n_neighbors
        type: int
      item_type: struct
      name: ndpi_knn
      pos:
        line_end: 2028
        line_start: 2023
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: params
        type: "struct {\n    u_int8_t use_hw_additive_seasonal;\n    double alpha,
          beta, gamma, ro;\n    u_int16_t num_season_periods; /* num of values of
          a season */\n  }"
      - name: prev_error
        type: "struct {\n    double sum_square_error;\n    u_int8_t num_values_rollup;\n
          \ }"
      - name: num_values
        type: u_int32_t
      - name: u
        type: double
      - name: '*y'
        type: u_int64_t
      - name: '*s'
        type: double
      item_type: struct
      name: ndpi_hw_struct
      pos:
        line_end: 2053
        line_start: 2035
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: params
        type: "struct {\n    double alpha, ro;\n  }"
      - name: prev_error
        type: "struct {\n    double sum_square_error;\n    u_int8_t num_values_rollup;\n
          \ }"
      - name: num_values
        type: u_int32_t
      - name: sum_square_error
        type: double
      item_type: struct
      name: ndpi_ses_struct
      pos:
        line_end: 2067
        line_start: 2055
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: params
        type: "struct {\n    double alpha, beta, ro;\n  }"
      - name: prev_error
        type: "struct {\n    double sum_square_error;\n    u_int8_t num_values_rollup;\n
          \ }"
      - name: num_values
        type: u_int32_t
      - name: sum_square_error
        type: double
      item_type: struct
      name: ndpi_des_struct
      pos:
        line_end: 2081
        line_start: 2069
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: addr
        type: ndpi_ip_addr_t
      - name: '*hostname'
        type: char
      - name: expire_epoch
        type: u_int32_t
      - name: '*next'
        type: struct ndpi_address_cache_item
      item_type: struct
      name: ndpi_address_cache_item
      pos:
        line_end: 2090
        line_start: 2085
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: num_cached_addresses
        type: u_int32_t
      - name: num_entries
        type: u_int32_t
      - name: '**address_cache_root'
        type: struct ndpi_address_cache_item
      item_type: struct
      name: ndpi_address_cache
      pos:
        line_end: 2096
        line_start: 2092
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: item_unique_id
        type: u_int32_t
      - name: value
        type: u_int64_t
      item_type: struct
      name: ndpi_ranking_epoch_entry
      pos:
        line_end: 2110
        line_start: 2107
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: epoch
        type: u_int32_t
      - name: '*entries'
        type: ndpi_ranking_epoch_entry
      item_type: struct
      name: ndpi_ranking_epoch
      pos:
        line_end: 2117
        line_start: 2114
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: ranking_version
        type: u_int8_t
      - name: epochs_memory_len
        type: u_int32_t
      - name: max_num_entries
        type: u_int16_t
      - name: num_epochs
        type: u_int8_t
      - name: next_epoch_id
        type: u_int8_t
      item_type: struct
      name: ndpi_ranking_header
      pos:
        line_end: 2125
        line_start: 2119
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: header
        type: ndpi_ranking_header
      - name: '*epochs'
        type: char
      - name: num_updates_without_ranking_changes
        type: u_int32_t
      item_type: struct
      name: ndpi_ranking
      pos:
        line_end: 2131
        line_start: 2127
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    typedefs:
    - item_type: typedef
      name: u_char
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: unsigned char
    - item_type: typedef
      name: u_short
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: unsigned short
    - item_type: typedef
      name: u_int
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: unsigned int
    - item_type: typedef
      name: u_char
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: unsigned char
    - item_type: typedef
      name: u_short
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: unsigned short
    - item_type: typedef
      name: u_int
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: unsigned int
    - item_type: typedef
      name: ndpi_risk
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: u_int64_t
    - item_type: typedef
      name: ndpi_ndpi_mask
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: u_int32_t
    - item_type: typedef
      name: "(*ndpi_debug_function_ptr) (u_int16_t protocol, struct ndpi_detection_module_struct
        *module_struct,\n\t\t\t\t\t ndpi_log_level_t log_level, const char *file,\n\t\t\t\t\t
        const char *func, unsigned line,\n\t\t\t\t\t const char *format, ...)"
      pos:
        line_end: 291
        line_start: 288
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: ndpi_bitmap
      pos:
        line_end: 1327
        line_start: 1327
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: ndpi_bitmap64
      pos:
        line_end: 1328
        line_start: 1328
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: ndpi_bitmap64_fuse
      pos:
        line_end: 1329
        line_start: 1329
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: ndpi_bitmap_iterator
      pos:
        line_end: 1330
        line_start: 1330
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: ndpi_filter
      pos:
        line_end: 1331
        line_start: 1331
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: (*ndpi_void_fn_t)(void *data)
      pos:
        line_end: 1959
        line_start: 1959
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: (*ndpi_void_fn2_t)(ndpi_prefix_t *prefix, void *data)
      pos:
        line_end: 1960
        line_start: 1960
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: (*ndpi_void_fn3_t)(ndpi_patricia_node_t *node, void *data, void *user_data)
      pos:
        line_end: 1961
        line_start: 1961
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: ndpi_kd_tree
      pos:
        line_end: 2017
        line_start: 2017
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: ndpi_kd_tree_result
      pos:
        line_end: 2018
        line_start: 2018
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: ndpi_btree
      pos:
        line_end: 2021
        line_start: 2021
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: void
    - item_type: typedef
      name: (*ndpi_custom_dga_predict_fctn)(const char* domain, int domain_length)
      pos:
        line_end: 2101
        line_start: 2101
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: int
    - item_type: typedef
      name: ndpi_ranking_change
      pos:
        line_end: 2112
        line_start: 2112
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
      type: ndpi_ranking_epoch_entry
    union:
    - fields:
      - name: u6_addr8[16]
        type: u_int8_t
      - name: u6_addr16[8]
        type: u_int16_t
      - name: u6_addr32[4]
        type: u_int32_t
      - name: u6_addr64[2]
        type: u_int64_t
      item_type: union
      name: u6_addr
      pos:
        line_end: 497
        line_start: 492
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: echo
        type: "struct {\n      u_int16_t id;\n      u_int16_t sequence;\n    }"
      - name: gateway
        type: u_int32_t
      - name: frag
        type: "struct {\n      u_int16_t _unused;\n      u_int16_t mtu;\n    }"
      item_type: union
      name: un
      pos:
        line_end: 576
        line_start: 565
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: icmp6_un_data32[1]
        type: u_int32_t
      - name: icmp6_un_data16[2]
        type: u_int16_t
      - name: icmp6_un_data8[4]
        type: u_int8_t
      item_type: union
      name: icmp6_dataun
      pos:
        line_end: 590
        line_start: 586
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
    - fields:
      - name: ipv4
        type: u_int32_t
      - name: ipv6
        type: struct ndpi_in6_addr
      item_type: union
      name: ndpi_ip_addr_t
      pos:
        line_end: 685
        line_start: 681
        source_file: /src/ndpi/src/include/ndpi_typedefs.h
- function_names:
  - __sync_fetch_and_add
  source_file: /src/ndpi/src/include/ndpi_win32.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __mingw_forceinline
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type_or_value: __inline__ __attribute__((__always_inline__,__gnu_inline__))
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type_or_value: _WIN32_WINNT_WIN8
    - item_type: preproc_def
      name: IPVERSION
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: gettimeofday
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type_or_value: mingw_gettimeofday
    - item_type: preproc_def
      name: strncasecmp
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type_or_value: _strnicmp
    - item_type: preproc_def
      name: strcasecmp
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type_or_value: _stricmp
    - item_type: preproc_def
      name: strdup
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type_or_value: _strdup
    - item_type: preproc_def
      name: F_OK
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type_or_value: '0'
    - item_type: preproc_def
      name: timegm
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type_or_value: _mkgmtime
    - item_type: preproc_def
      name: __builtin_popcount
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type_or_value: __popcnt
    structs: []
    typedefs:
    - item_type: typedef
      name: u_char
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type: unsigned char
    - item_type: typedef
      name: u_short
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type: unsigned short
    - item_type: typedef
      name: uint
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type: unsigned int
    - item_type: typedef
      name: u_long
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type: unsigned long
    - item_type: typedef
      name: u_int8_t
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type: u_char
    - item_type: typedef
      name: u_int16_t
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type: u_short
    - item_type: typedef
      name: u_int32_t
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type: uint
    - item_type: typedef
      name: u_int
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type: uint
    - item_type: typedef
      name: u_int64_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/ndpi/src/include/ndpi_win32.h
      type: unsigned       __int64
    union: []
- function_names:
  - ndpi_load_domain_suffixes
  - ndpi_get_host_domain_suffix
  - ndpi_get_host_domain
  source_file: /src/ndpi/src/lib/ndpi_domains.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_lru_cache_init
  - ndpi_lru_free_cache
  - __lru_cache_lock
  - __lru_cache_unlock
  - ndpi_lru_find_cache
  - ndpi_lru_add_to_cache
  - ndpi_lru_get_stats
  - ndpi_get_lru_cache_stats
  - ndpi_init_address_cache
  - ndpi_free_addr_item
  - ndpi_term_address_cache
  - ndpi_address_cache_flush_expired
  - ndpi_address_cache_find
  - ndpi_address_cache_insert
  - ndpi_address_cache_dump
  - ndpi_address_cache_restore
  - ndpi_cache_address
  - ndpi_cache_address_find
  - ndpi_cache_address_dump
  - ndpi_cache_address_restore
  - ndpi_cache_address_flush_expired
  - ndpi_cache_hash_hostname_ip
  - ndpi_cache_hostname_ip
  - ndpi_cache_find_hostname_ip
  - ndpi_cache_hostname_ip_swap
  - ndpi_cache_enable
  source_file: /src/ndpi/src/lib/ndpi_cache.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_bitmap64_fuse_alloc
  - ndpi_bitmap64_fuse_entry_compare
  - ndpi_bitmap64_fuse_compress
  - ndpi_bitmap64_fuse_set
  - ndpi_bitmap64_fuse_isset
  - ndpi_bitmap64_fuse_free
  - ndpi_bitmap64_fuse_size
  source_file: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c
      type_or_value: NDPI_PROTOCOL_UNKNOWN
    - item_type: preproc_def
      name: NDPI_BITMAP64_FUSE_REALLOC_SIZE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c
      type_or_value: '4096'
    structs:
    - fields:
      - name: num_allocated_entries
        type: u_int32_t
      - name: '*entries'
        type: u_int64_t
      - name: is_compressed
        type: bool
      - name: bitmap
        type: binary_fuse16_t
      item_type: struct
      name: ndpi_bitmap64_fuse_t
      pos:
        line_end: 41
        line_start: 36
        source_file: /src/ndpi/src/lib/ndpi_bitmap64_fuse.c
    typedefs: []
    union: []
- function_names:
  - ndpi_domain_classify_alloc
  - ndpi_domain_classify_free
  - ndpi_domain_classify_size
  - ndpi_domain_classify_add
  - ndpi_domain_classify_add_domains
  - ndpi_domain_classify_hostname
  source_file: /src/ndpi/src/lib/ndpi_domain_classify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_binary_bitmap_alloc
  - ndpi_binary_bitmap_set
  - ndpi_binary_bitmap_entry_compare
  - ndpi_binary_bitmap_compress
  - ndpi_binary_bitmap_isset
  - ndpi_binary_bitmap_free
  - ndpi_binary_bitmap_size
  - ndpi_binary_bitmap_cardinality
  source_file: /src/ndpi/src/lib/ndpi_binary_bitmap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/ndpi_binary_bitmap.c
      type_or_value: NDPI_PROTOCOL_UNKNOWN
    - item_type: preproc_def
      name: NDPI_BINARY_BITMAP_REALLOC_SIZE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/ndpi_binary_bitmap.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names:
  - flow_is_proto
  - ndpi_flow_malloc
  - ndpi_flow_free
  - ndpi_detection_get_sizeof_ndpi_flow_struct
  - ndpi_get_proto_by_id
  - dissector_bitmask_set
  - dissector_bitmask_is_set
  - ndpi_get_proto_by_name
  - ndpi_get_protocol_by_name
  - ndpi_add_user_proto_id_mapping
  - ndpi_map_user_proto_id_to_ndpi_id
  - ndpi_map_ndpi_id_to_user_proto_id
  - ndpi_build_default_ports_range
  - ndpi_build_default_ports
  - ndpi_set_proto_breed
  - ndpi_set_proto_category
  - is_flow_addr_informative
  - ndpi_is_subprotocol_informative
  - exclude_dissector
  - is_proto_enabled
  - ndpi_set_proto_subprotocols
  - load_default_ports
  - ndpi_set_proto_defaults
  - default_ports_tree_node_t_cmp
  - addDefaultPort
  - ndpi_is_middle_string_char
  - ndpi_domain_level
  - string_to_automa
  - ndpi_add_host_url_subprotocol
  - init_app_protocol
  - load_protocol_match
  - self_check_host_match
  - ndpi_xgrams_init
  - init_string_based_protocols
  - load_string_based_protocols
  - validate_protocol_initialization
  - init_protocol_defaults
  - MATCH_DEBUG_INFO
  - ac_domain_match_handler
  - ndpi_patricia_get_maxbits
  - ndpi_patricia_get_stats
  - ndpi_get_patricia_stats
  - ndpi_fill_prefix_v4
  - ndpi_fill_prefix_v6
  - ndpi_fill_prefix_mac
  - ndpi_patricia_get_node_prefix
  - ndpi_patricia_get_node_bits
  - ndpi_patricia_set_node_data
  - ndpi_patricia_get_node_data
  - ndpi_patricia_set_node_u64
  - ndpi_patricia_get_node_u64
  - ndpi_is_public_ipv4
  - ndpi_network_ptree_match
  - ndpi_network_ptree6_match
  - ndpi_network_port_ptree_match
  - ndpi_network_port_ptree6_match
  - ndpi_network_risk_ptree_match
  - ndpi_network_risk_ptree_match6
  - add_to_ptree
  - ndpi_load_ptree_file
  - ndpi_load_ipv4_ptree
  - ndpi_init_ptree_ipv4
  - ndpi_init_ptree_ipv6
  - ndpi_add_ja4_subprotocol
  - ndpi_add_ndpifp_subprotocol
  - ndpi_add_http_url_subprotocol
  - ndpi_add_host_ip_subprotocol
  - set_ndpi_flow_malloc
  - set_ndpi_flow_free
  - ndpi_debug_printf
  - set_ndpi_debug_function
  - free_ptree_data
  - ndpi_global_init
  - ndpi_global_deinit
  - ndpi_init_detection_module
  - ndpi_add_domain_risk_exceptions
  - is_ip_list_enabled
  - is_monitoring_enabled
  - ndpi_finalize_initialization
  - ndpi_init_automa
  - ndpi_init_automa_domain
  - ndpi_add_string_value_to_automa
  - ndpi_add_string_to_automa
  - ndpi_free_automa
  - ndpi_finalize_automa
  - ndpi_automa_get_stats
  - ndpi_get_automa_stats
  - ndpi_match_string_common
  - ndpi_match_string
  - ndpi_match_string_protocol_id
  - ndpi_match_string_value
  - ndpi_match_custom_category
  - ndpi_get_custom_category_match
  - ndpi_exit_detection_module
  - ndpi_get_guessed_protocol_id
  - guess_protocol_id
  - ndpi_get_num_protocols
  - ndpi_is_custom_protocol
  - strsep
  - ndpi_add_ip_risk_mask
  - ndpi_add_host_risk_mask
  - ndpi_add_trusted_issuer_dn
  - ndpi_handle_rule
  - load_config_file_fd
  - ndpi_load_categories_file
  - load_categories_file_fd
  - ndpi_load_category_file
  - load_category_file_fd
  - load_protocol_id_file_fd
  - ndpi_load_protocol_id_file
  - ndpi_load_categories_dir
  - ndpi_load_protocols_dir
  - ndpi_load_risky_domain
  - ndpi_load_risk_domain_file
  - load_risk_domain_file_fd
  - ndpi_load_malicious_ja4_file
  - load_malicious_ja4_file_fd
  - ndpi_load_malicious_sha1_file
  - load_malicious_sha1_file_fd
  - ndpi_load_protocols_file
  - load_protocols_file_fd
  - register_dissector
  - dissectors_init
  - ndpi_proto_cb_tcp_payload
  - ndpi_proto_cb_tcp_nopayload
  - ndpi_proto_cb_udp
  - ndpi_proto_cb_other
  - ndpi_enabled_callbacks_init
  - ndpi_handle_ipv6_extension_headers
  - iph_is_valid_and_not_fragmented
  - ndpi_detection_get_l4_internal
  - ndpi_free_flow_data
  - ndpi_init_packet
  - ndpi_is_multi_or_broadcast
  - fully_enc_heuristic
  - current_pkt_from_client_to_server
  - current_pkt_from_server_to_client
  - tcp_ack_padding
  - connection_tracking
  - check_ndpi_subprotocols
  - check_ndpi_detection_func
  - check_ndpi_other_flow_func
  - check_ndpi_udp_flow_func
  - check_ndpi_tcp_flow_func
  - ndpi_check_flow_func
  - ndpi_guess_host_protocol_id
  - make_msteams_key
  - ndpi_reconcile_msteams_udp
  - ndpi_reconcile_msteams_call_udp_port
  - ndpi_reconcile_msteams_call_udp
  - ndpi_reconcile_protocols
  - search_into_bittorrent_cache
  - check_tcp_flags
  - check_probing_attempt
  - is_unidir_traffic_exception
  - ndpi_is_cnd_cloud_provider
  - create_public_results
  - internal_giveup
  - ndpi_internal_detection_giveup
  - ndpi_detection_giveup
  - process_extra_packet
  - ndpi_load_ip_category
  - ndpi_load_hostname_category
  - ndpi_load_category
  - ndpi_enable_loaded_categories
  - ndpi_find_ipv4_category_userdata
  - ndpi_find_ipv6_category_userdata
  - ndpi_fill_ip_protocol_category
  - ndpi_fill_ipv6_protocol_category
  - fill_protocol_category_and_breed
  - ndpi_reset_packet_line_info
  - is_ntop_protocol
  - ndpi_search_shellscript
  - ndpi_search_elf
  - ndpi_search_portable_executable
  - check_protocol_port_mismatch_exceptions
  - do_guess
  - fpc_update
  - fpc_check_eval
  - ndpi_expected_ports_str
  - check_proto_on_non_std_port_risk
  - ndpi_internal_detection_process_packet
  - ndpi_detection_process_packet
  - ndpi_bytestream_to_number
  - ndpi_bytestream_to_number64
  - ndpi_bytestream_dec_or_hex_to_number64
  - ndpi_bytestream_to_ipv4
  - parse_single_packet_line
  - ndpi_parse_packet_line_info
  - ndpi_parse_packet_line_info_any
  - ndpi_detection_get_l4
  - ndpi_set_detected_protocol_keeping_master
  - ndpi_set_detected_protocol
  - reset_detected_protocol
  - ndpi_get_flow_masterprotocol
  - ndpi_get_flow_appprotocol
  - ndpi_get_flow_category
  - ndpi_get_flow_ndpi_proto
  - proto_stack_push
  - proto_stack_reset
  - proto_stack_update
  - ndpi_stack_get_upper_proto
  - ndpi_stack_get_lower_proto
  - ndpi_stack_contains
  - ndpi_stack_is_tls_like
  - ndpi_stack_is_http_like
  - ndpi_int_change_flow_protocol
  - ndpi_int_change_protocol
  - change_category
  - ndpi_is_ipv6
  - ndpi_get_ip_string
  - ndpi_parse_ip_string
  - ntohs_ndpi_bytestream_to_number
  - ndpi_is_proto
  - ndpi_is_proto_unknown
  - ndpi_is_proto_equals
  - ndpi_get_lower_proto
  - ndpi_get_upper_proto
  - ndpi_internal_guess_undetected_protocol
  - ndpi_guess_undetected_protocol_v4
  - ndpi_guess_undetected_protocol
  - ndpi_protocol2id
  - ndpi_protocol2name
  - ndpi_is_custom_category
  - ndpi_category_set_name
  - ndpi_confidence_get_name
  - ndpi_fpc_confidence_get_name
  - ndpi_category_get_name
  - category_or_breed_depends_on_master
  - ndpi_get_proto_category
  - get_proto_category
  - ndpi_get_proto_name
  - ndpi_get_proto_breed
  - get_proto_breed
  - ndpi_get_proto_breed_name
  - ndpi_get_breed_by_name
  - ndpi_get_protocol_id
  - ndpi_get_category_id
  - default_ports_string
  - ndpi_dump_protocols
  - ndpi_generate_options
  - ndpi_dump_risks_score
  - ndpi_strnstr
  - ndpi_strncasestr
  - ndpi_match_prefix
  - ndpi_match_string_subprotocol
  - ndpi_automa_match_string_subprotocol
  - ndpi_check_subprotocol_risk
  - ndpi_match_host_subprotocol
  - ndpi_match_hostname_protocol
  - ndpi_match_xgram
  - ndpi_match_bigram
  - ndpi_match_impossible_bigram
  - ndpi_match_trigram
  - ndpi_free_flow
  - ndpi_revision
  - ndpi_get_api_version
  - ndpi_get_gcrypt_version
  - ndpi_get_proto_defaults
  - ndpi_get_ndpi_detection_module_size
  - ndpi_get_current_time
  - ndpi_get_l4_proto_name
  - ndpi_get_l4_proto_info
  - ndpi_ptree_create
  - ndpi_ptree_destroy
  - ndpi_ptree_insert
  - ndpi_ptree_match_addr
  - ndpi_md5
  - ndpi_sha256
  - enough
  - ends_with
  - ndpi_is_trigram_char
  - ndpi_is_vowel
  - ndpi_check_dga_name
  - ndpi_risk2severity
  - ndpi_hostname_sni_set
  - ndpi_user_agent_set
  - ndpi_seen_flow_beginning
  - ndpi_set_user_data
  - ndpi_get_user_data
  - __get_proto_id
  - __get_flowrisk_id
  - _set_param_enable_disable
  - _set_param_int
  - _get_param_int
  - _get_param_string
  - _set_param_filename
  - _set_param_filename_config
  - _get_param_protocol_enable_disable
  - _set_param_protocol_enable_disable
  - _get_param_flowrisk_enable_disable
  - _set_param_flowrisk_enable_disable
  - clbk_only_with_global_ctx
  - __OFF
  - set_default_config
  - ndpi_set_config
  - ndpi_set_config_u64
  - ndpi_get_config
  - ndpi_dump_config
  - ndpi_memmem
  - ndpi_strlcpy
  - ndpi_memcasecmp
  - ndpi_stack2str
  source_file: /src/ndpi/src/lib/ndpi_main.c
  types:
    enum:
    - enumerators:
      - name: CFG_PARAM_ENABLE_DISABLE
        value: '0'
      - name: CFG_PARAM_FLOWRISK_ENABLE_DISABLE
      - name: CFG_PARAM_FILENAME_CONFIG
      - name: CFG_PARAM_PROTOCOL_ENABLE_DISABLE
      - name: CFG_PARAM_INT
      item_type: enum
      name: cfg_param_type
      pos:
        line_end: 13365
        line_start: 13359
        source_file: /src/ndpi/src/lib/ndpi_main.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type_or_value: NDPI_PROTOCOL_UNKNOWN
    - item_type: preproc_def
      name: TH_FIN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: TH_SYN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: TH_RST
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: TH_PUSH
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: TH_ACK
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: TH_URG
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: TH_ECE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: TH_CWR
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: XGRAMS_C
      pos:
        line_end: 1036
        line_start: 1035
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type_or_value: '26'
    - item_type: preproc_def
      name: MAX_STR_LEN
      pos:
        line_end: 3831
        line_start: 3830
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type_or_value: '250'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*line'
        type: struct ndpi_int_one_line_struct
      item_type: struct
      name: header_line
      pos:
        line_end: 10706
        line_start: 10703
        source_file: /src/ndpi/src/lib/ndpi_main.c
    - fields:
      - name: type
        type: enum cfg_param_type
      - name: fn_set
        type: cfg_set
      - name: fn_get
        type: cfg_get
      item_type: struct
      name: cfg_op
      pos:
        line_end: 13378
        line_start: 13374
        source_file: /src/ndpi/src/lib/ndpi_main.c
    - fields:
      - name: '*proto'
        type: char
      - name: '*param'
        type: char
      - name: '*default_value'
        type: char
      - name: '*min_value'
        type: char
      - name: '*max_value'
        type: char
      - name: type
        type: enum cfg_param_type
      - name: offset
        type: int
      - name: fn_callback
        type: cfg_calback
      item_type: struct
      name: cfg_param
      pos:
        line_end: 13397
        line_start: 13388
        source_file: /src/ndpi/src/lib/ndpi_main.c
    typedefs:
    - item_type: typedef
      name: "(*cfg_set)(struct ndpi_detection_module_struct *ndpi_str,\n                                  void
        *_variable, const char *value,\n                                  const char
        *min_value, const char *max_value,\n                                  const
        char *proto, const char *param)"
      pos:
        line_end: 13370
        line_start: 13367
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type: ndpi_cfg_error
    - item_type: typedef
      name: '*(*cfg_get)(struct ndpi_detection_module_struct *ndpi_str, void *_variable,
        const char *proto, char *buf, int buf_len)'
      pos:
        line_end: 13371
        line_start: 13371
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type: char
    - item_type: typedef
      name: (*cfg_calback)(struct ndpi_detection_module_struct *ndpi_str, void *_variable,
        const char *proto, const char *param)
      pos:
        line_end: 13372
        line_start: 13372
        source_file: /src/ndpi/src/lib/ndpi_main.c
      type: int
    union: []
- function_names:
  - ndpi_load_geoip
  - ndpi_free_geoip
  - ndpi_get_geoip_asn
  - ndpi_get_geoip_aso
  - ndpi_get_geoip_country_continent
  - ndpi_get_geoip_country_continent_city
  source_file: /src/ndpi/src/lib/ndpi_geoip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_ndpi_malloc
  - set_ndpi_free
  - ndpi_get_tot_allocated_memory
  - ndpi_malloc
  - ndpi_calloc
  - ndpi_free
  - ndpi_realloc
  - ndpi_strdup
  source_file: /src/ndpi/src/lib/ndpi_memory.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/ndpi_memory.c
      type_or_value: NDPI_PROTOCOL_UNKNOWN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_murmur_hash
  - ndpi_quick_hash
  - ndpi_quick_hash64
  - ndpi_hash_string
  - ndpi_rev_hash_string
  - ndpi_hash_string_len
  - ROR64
  - ndpi_quick_16_byte_hash
  source_file: /src/ndpi/src/lib/ndpi_hash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - min
  - ndpi_merge_splt_arrays
  - ndpi_get_mc_rep_lens
  - ndpi_get_mc_rep_times
  - ndpi_classify
  - ndpi_update_params
  - ndpi_timer_eq
  - ndpi_timer_lt
  - ndpi_timer_sub
  - ndpi_timer_clear
  - ndpi_timeval_to_milliseconds
  - ndpi_timeval_to_microseconds
  - ndpi_log_timestamp
  source_file: /src/ndpi/src/lib/ndpi_classify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_init_data_analysis
  - ndpi_alloc_data_analysis
  - ndpi_alloc_data_analysis_from_series
  - ndpi_free_data_analysis
  - ndpi_reset_data_analysis
  - ndpi_data_add_value
  - ndpi_data_average
  - ndpi_data_last
  - ndpi_data_min
  - ndpi_data_max
  - ndpi_data_variance
  - ndpi_data_stddev
  - ndpi_data_mean
  - ndpi_data_jitter
  - ndpi_data_window_average
  - ndpi_data_window_variance
  - ndpi_data_window_stddev
  - ndpi_data_entropy
  - ndpi_data_print_window_values
  - ndpi_data_ratio
  - ndpi_data_ratio2str
  - ndpi_hll_init
  - ndpi_hll_destroy
  - ndpi_hll_reset
  - ndpi_hll_add
  - ndpi_hll_add_number
  - ndpi_hll_count
  - ndpi_init_bin
  - ndpi_free_bin
  - ndpi_clone_bin
  - ndpi_set_bin
  - ndpi_inc_bin
  - ndpi_get_bin_value
  - ndpi_reset_bin
  - ndpi_normalize_bin
  - ndpi_print_bin
  - ndpi_bin_similarity
  - ndpi_cluster_bins
  - ndpi_alloc_rsi
  - ndpi_free_rsi
  - ndpi_rsi_add_value
  - ndpi_rational_approximation
  - ndpi_normal_cdf_inverse
  - ndpi_avg_inline
  - ndpi_hw_init
  - ndpi_hw_free
  - ndpi_hw_add_value
  - ndpi_hw_reset
  - ndpi_jitter_init
  - ndpi_jitter_free
  - ndpi_jitter_add_value
  - ndpi_ses_init
  - ndpi_ses_add_value
  - ndpi_ses_reset
  - ndpi_ses_fitting
  - ndpi_des_init
  - ndpi_des_reset
  - ndpi_des_add_value
  - ndpi_des_fitting
  - ndpi_find_outliers
  - ndpi_is_outlier
  - ndpi_predict_linear
  - ndpi_pearson_correlation
  - __crc16
  - ndpi_crc16_ccit
  - ndpi_crc16_ccit_false
  - ndpi_crc16_xmodem
  - ndpi_crc16_x25
  - ndpi_crc32
  - ndpi_cm_sketch_init
  - ndpi_simple_hash
  - ndpi_cm_sketch_add
  - ndpi_cm_sketch_count
  - ndpi_cm_sketch_destroy
  - ndpi_popcount_init
  - ndpi_popcount_count
  - ndpi_kd_create
  - ndpi_kd_free
  - ndpi_kd_clear
  - ndpi_kd_insert
  - ndpi_kd_nearest
  - ndpi_kd_num_results
  - ndpi_kd_result_get_item
  - ndpi_kd_result_free
  - ndpi_kd_distance
  - ndpi_btree_init
  - ndpi_btree_query
  - ndpi_free_knn
  - ndpi_free_btree
  - ndpi_mahalanobis_distance
  - ndpi_init_ranking
  - ndpi_term_ranking
  - ndpi_serialize_ranking
  - ndpi_deserialize_ranking
  - ndpi_print_ranking
  - _comp
  - ndpi_ranking_add_epoch
  source_file: /src/ndpi/src/lib/ndpi_analyze.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NUM_CLUSTERS
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/ndpi/src/lib/ndpi_analyze.c
      type_or_value: '128'
    - item_type: preproc_def
      name: NDPI_COUNT_MIN_SKETCH_NUM_BUCKETS
      pos:
        line_end: 1968
        line_start: 1967
        source_file: /src/ndpi/src/lib/ndpi_analyze.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_check_punycode_string
  - ndpi_tsearch
  - ndpi_tdelete
  - ndpi_trecurse
  - ndpi_twalk
  - ndpi_tfind
  - ndpi_tdestroy_recurse
  - ndpi_tdestroy
  - ndpi_net_match
  - ndpi_ips_match
  - ndpi_is_safe_ssl_cipher
  - ndpi_cipher2str
  - ndpi_is_other_char
  - _ndpi_is_valid_char
  - _ndpi_is_valid_char_init
  - ndpi_is_valid_char
  - ndpi_find_non_eng_bigrams
  - ndpi_has_human_readable_string
  - ndpi_get_flow_info_by_proto_id
  - ndpi_get_flow_info
  - ndpi_multimedia_flowtype2str
  - ndpi_ssl_version2str
  - ndpi_patchIPv6Address
  - ndpi_user_pwd_payload_copy
  - ndpi_base64_decode
  - ndpi_base64_encode
  - ndpi_hex_encode
  - ndpi_hex_decode
  - ndpi_serialize_risk
  - ndpi_serialize_risk_score
  - ndpi_serialize_confidence
  - ndpi_serialize_proto
  - ndpi_tls2json
  - print_ndpi_address_port
  - ndpi_dpi2json
  - ndpi_get_ip_proto_name
  - ndpi_flow2json
  - ndpi_tunnel2str
  - ishex
  - ndpi_url_decode
  - ndpi_is_sql_injection
  - ndpi_is_xss_injection
  - ndpi_compile_rce_regex
  - ndpi_is_rce_injection
  - ndpi_validate_url
  - ndpi_is_protocol_detected
  - ndpi_risk2str
  - STRINGIFY
  - ndpi_risk2code
  - ndpi_code2risk
  - ndpi_severity2str
  - ndpi_risk2score
  - ndpi_http_method2str
  - ndpi_http_str2method
  - ndpi_hash_init
  - ndpi_hash_free
  - HASH_ITER
  - ndpi_hash_find_entry
  - ndpi_hash_add_entry
  - ndpi_hash_get_stats
  - ndpi_get_hash_stats
  - ndpi_host_ip_risk_ptree_match
  - ndpi_host_ip_risk_ptree_match6
  - ndpi_check_issuerdn_risk_exception
  - ndpi_check_hostname_risk_exception
  - ndpi_check_ipv4_exception
  - ndpi_check_ipv6_exception
  - is_flowrisk_enabled
  - is_flowrisk_info_enabled
  - ndpi_handle_risk_exceptions
  - ndpi_set_risk
  - ndpi_unset_risk
  - ndpi_isset_risk
  - ndpi_is_printable_buffer
  - ndpi_normalize_printable_string
  - ndpi_is_valid_hostname
  - ndpi_entropy
  - ndpi_entropy2str
  - ndpi_entropy2risk
  - get_n16bit
  - icmp4_checksum
  - ndpi_get_flow_name
  - load_common_alpns
  - is_a_common_alpn
  - ndpi_is_valid_protoId
  - ndpi_is_encrypted_proto
  - ndpi_get_flow_error_code
  - ndpi_vsnprintf
  - ndpi_gmtime_r
  - ndpi_snprintf
  - risk_infos_pair_cmp
  - ndpi_get_flow_risk_info
  - ndpi_check_flow_risk_exceptions
  - asn1_ber_decode_length
  - ndpi_intoav4
  - ndpi_intoav6
  - ndpi_nearest_power_of_two
  - tpkt_verify_hdr
  - ndpi_strtonum
  - ndpi_strrstr
  - ndpi_memrchr
  - ndpi_str_endswith
  - ndpi_lru_cache_idx_to_name
  - ndpi_compress_str
  - ndpi_decompress_str
  - ndpi_domain_mapper_init
  - ndpi_encode_domain
  - is_ndpi_proto
  - ndpi_serialize_flow_fingerprint
  - ndpi_hex2bin
  - ndpi_bin2hex
  - ndpi_quick_encrypt
  - ndpi_quick_decrypt
  - ndpi_fill_randombytes
  - ndpi_print_os_hint
  - ndpi_strndup
  - ndpi_strip_leading_trailing_spaces
  - ndpi_find_protocol_qoe
  - ndpi_rtp_payload_type2str
  - ndpi_str_to_utf8
  - ndpi_is_master_only_protocol
  - ndpi_normalize_protocol
  - ndpi_bitmask_alloc
  - ndpi_bitmask_free
  - ndpi_bitmask_set
  - ndpi_bitmask_clear
  - ndpi_bitmask_is_set
  - ndpi_bitmask_set_all
  - ndpi_bitmask_reset
  - ndpi_check_is_numeric_ip
  - ndpi_tls_refine_master_protocol
  - ndpi_get_master_proto
  - ndpi_compute_ndpi_flow_fingerprint
  source_file: /src/ndpi/src/lib/ndpi_utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/ndpi_utils.c
      type_or_value: NDPI_PROTOCOL_UNKNOWN
    - item_type: preproc_def
      name: NDPI_CONST_GENERIC_PROTOCOL_NAME
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/src/lib/ndpi_utils.c
      type_or_value: '"GenericProtocol"'
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/ndpi/src/lib/ndpi_utils.c
      type_or_value: '8'
    - item_type: preproc_def
      name: IGNORE_CHAR
      pos:
        line_end: 4066
        line_start: 4065
        source_file: /src/ndpi/src/lib/ndpi_utils.c
      type_or_value: '0xFF'
    - item_type: preproc_def
      name: NUM_BITS_NIBBLE
      pos:
        line_end: 4067
        line_start: 4066
        source_file: /src/ndpi/src/lib/ndpi_utils.c
      type_or_value: '6 '
    - item_type: preproc_def
      name: NIBBLE_ELEM_OFFSET
      pos:
        line_end: 4068
        line_start: 4067
        source_file: /src/ndpi/src/lib/ndpi_utils.c
      type_or_value: '24'
    structs:
    - fields:
      - name: '*compiled'
        type: pcre2_code
      item_type: struct
      name: pcre2_struct
      pos:
        line_end: 69
        line_start: 67
        source_file: /src/ndpi/src/lib/ndpi_utils.c
    - fields:
      - name: '*key'
        type: char
      - name: value64
        type: u_int64_t
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: ndpi_str_hash_priv
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/ndpi/src/lib/ndpi_utils.c
    typedefs: []
    union: []
- function_names:
  - ndpi_htonll
  - ndpi_ntohll
  - ndpi_is_number
  - ndpi_json_string_escape
  - ndpi_reset_serializer
  - ndpi_serializer_skip_header
  - ndpi_init_serializer_buffer
  - ndpi_init_serializer_ll
  - ndpi_init_serializer
  - ndpi_extend_serializer_buffer
  - ndpi_serializer_check_header_room
  - ndpi_serializer_header_uint32
  - ndpi_serializer_header_string
  - ndpi_serializer_get_buffer
  - ndpi_serializer_get_buffer_len
  - ndpi_serializer_get_internal_buffer_size
  - ndpi_serializer_set_buffer_len
  - ndpi_serializer_get_header
  - ndpi_serializer_get_format
  - ndpi_serializer_set_csv_separator
  - ndpi_term_serializer
  - ndpi_serialize_single_uint8
  - ndpi_serialize_single_uint16
  - ndpi_serialize_single_uint32
  - ndpi_serialize_single_uint64
  - ndpi_serialize_single_float
  - ndpi_serialize_single_double
  - ndpi_serialize_single_string
  - ndpi_deserialize_single_uint8
  - ndpi_deserialize_single_uint16
  - ndpi_deserialize_single_uint32
  - ndpi_deserialize_single_int8
  - ndpi_deserialize_single_int16
  - ndpi_deserialize_single_int32
  - ndpi_deserialize_single_uint64
  - ndpi_deserialize_single_int64
  - ndpi_deserialize_single_float
  - ndpi_deserialize_single_double
  - ndpi_deserialize_single_string
  - ndpi_serialize_raw_record
  - ndpi_serialize_end_of_record
  - ndpi_serialize_csv_pre
  - ndpi_serialize_json_pre
  - ndpi_serialize_json_post
  - ndpi_serialize_key_uint32
  - ndpi_serialize_uint32_uint32
  - ndpi_serialize_uint32_uint64
  - ndpi_serialize_uint32_int32
  - ndpi_serialize_uint32_int64
  - ndpi_serialize_uint32_float
  - ndpi_serialize_uint32_double
  - ndpi_serialize_uint32_binary
  - ndpi_serialize_uint32_string
  - ndpi_serialize_uint32_boolean
  - ndpi_serialize_binary_int32
  - ndpi_serialize_string_int32
  - ndpi_serialize_binary_int64
  - ndpi_serialize_string_int64
  - ndpi_serialize_binary_uint32
  - ndpi_serialize_string_uint32
  - ndpi_serialize_string_uint32_format
  - ndpi_serialize_binary_uint64
  - ndpi_serialize_string_uint64
  - ndpi_serialize_binary_float
  - ndpi_serialize_binary_double
  - ndpi_serialize_string_float
  - ndpi_serialize_string_double
  - ndpi_serialize_binary_raw
  - ndpi_serialize_binary_binary
  - ndpi_serialize_string_binary
  - ndpi_serialize_string_string_len
  - ndpi_serialize_string_string
  - ndpi_serialize_string_raw
  - ndpi_serialize_binary_boolean
  - ndpi_serialize_string_boolean
  - ndpi_serialize_start_of_list_binary
  - ndpi_serialize_start_of_list
  - ndpi_serialize_end_of_list
  - ndpi_serialize_start_of_block_binary
  - ndpi_serialize_start_of_block
  - ndpi_serialize_start_of_block_uint32
  - ndpi_serialize_end_of_block
  - ndpi_serializer_create_snapshot
  - ndpi_serializer_rollback_snapshot
  - ndpi_init_deserializer_buf
  - ndpi_init_deserializer
  - ndpi_deserialize_get_format
  - ndpi_deserialize_get_key_subtype
  - ndpi_deserialize_get_value_subtype
  - ndpi_deserialize_get_item_type
  - ndpi_deserialize_get_single_string_size
  - ndpi_deserialize_get_single_size
  - ndpi_deserialize_next
  - ndpi_deserialize_key_uint32
  - ndpi_deserialize_key_string
  - ndpi_deserialize_value_uint32
  - ndpi_deserialize_value_uint64
  - ndpi_deserialize_value_int32
  - ndpi_deserialize_value_int64
  - ndpi_deserialize_value_float
  - ndpi_deserialize_value_double
  - ndpi_deserialize_value_string
  - ndpi_deserialize_clone_item
  - ndpi_deserialize_clone_all
  source_file: /src/ndpi/src/lib/ndpi_serializer.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_I64_FORMAT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/ndpi/src/lib/ndpi_serializer.c
      type_or_value: '"%I64d"'
    - item_type: preproc_def
      name: NDPI_U64_FORMAT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/ndpi/src/lib/ndpi_serializer.c
      type_or_value: '"%I64u"'
    - item_type: preproc_def
      name: NDPI_I64_FORMAT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/ndpi/src/lib/ndpi_serializer.c
      type_or_value: '"%lld"'
    - item_type: preproc_def
      name: NDPI_U64_FORMAT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/src/lib/ndpi_serializer.c
      type_or_value: '"%llu"'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: lv[2]
        type: u_int32_t
      - name: llv
        type: u_int64_t
      item_type: union
      name: u
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/ndpi/src/lib/ndpi_serializer.c
    - fields:
      - name: lv[2]
        type: u_int32_t
      - name: llv
        type: u_int64_t
      item_type: union
      name: u
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/ndpi/src/lib/ndpi_serializer.c
- function_names:
  - ndpi_community_id_buf_copy
  - ndpi_community_id_icmp_type_to_code_v4
  - ndpi_community_id_icmp_type_to_code_v6
  - ndpi_community_id_peer_v4_is_less_than
  - ndpi_community_id_peer_v6_is_less_than
  - ndpi_string_sha1_hash
  - ndpi_community_id_finalize_and_compute_hash
  - ndpi_flowv4_flow_hash
  - ndpi_flowv6_flow_hash
  source_file: /src/ndpi/src/lib/ndpi_community_id.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_ICMP6_ECHO_REQUEST
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '128'
    - item_type: preproc_def
      name: NDPI_ICMP6_ECHO_REPLY
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '129'
    - item_type: preproc_def
      name: NDPI_MLD_LISTENER_QUERY
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '130'
    - item_type: preproc_def
      name: NDPI_MLD_LISTENER_REPORT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '131'
    - item_type: preproc_def
      name: NDPI_ROUTER_SOLICIT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '133'
    - item_type: preproc_def
      name: NDPI_ROUTER_ADVERT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '134'
    - item_type: preproc_def
      name: NDPI_NEIGHBOR_SOLICIT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '135'
    - item_type: preproc_def
      name: NDPI_NEIGHBOR_ADVERT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '136'
    - item_type: preproc_def
      name: NDPI_ICMP_ECHOREPLY
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NDPI_ICMP_ECHO
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '8'
    - item_type: preproc_def
      name: NDPI_ICMP_ROUTERADVERT
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '9'
    - item_type: preproc_def
      name: NDPI_ICMP_ROUTERSOLICIT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '10'
    - item_type: preproc_def
      name: NDPI_ICMP_TIMESTAMP
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '13'
    - item_type: preproc_def
      name: NDPI_ICMP_TIMESTAMPREPLY
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '14'
    - item_type: preproc_def
      name: NDPI_ICMP_INFO_REQUEST
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '15'
    - item_type: preproc_def
      name: NDPI_ICMP_INFO_REPLY
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '16'
    - item_type: preproc_def
      name: NDPI_ICMP_MASKREQ
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '17'
    - item_type: preproc_def
      name: NDPI_ICMP_MASKREPLY
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '18'
    - item_type: preproc_def
      name: NDPI_ICMP6_WRUREQUEST
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '139'
    - item_type: preproc_def
      name: NDPI_ICMP6_WRUREPLY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/src/lib/ndpi_community_id.c
      type_or_value: '140'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_filter_alloc
  - ndpi_filter_add
  - ndpi_filter_add_string
  - ndpi_filter_contains
  - ndpi_filter_contains_string
  - ndpi_filter_free
  - ndpi_filter_size
  - ndpi_filter_cardinality
  source_file: /src/ndpi/src/lib/ndpi_filter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/ndpi_filter.c
      type_or_value: NDPI_PROTOCOL_UNKNOWN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_load_tcp_fingerprints
  - ndpi_get_os_from_tcp_fingerprint
  - ndpi_add_tcp_fingerprint
  - ndpi_load_tcp_fingerprint_file
  - load_tcp_fingerprint_file_fd
  source_file: /src/ndpi/src/lib/ndpi_fingerprint.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/ndpi_fingerprint.c
      type_or_value: NDPI_PROTOCOL_UNKNOWN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_bitmap_alloc
  - ndpi_bitmap_free
  - ndpi_bitmap_copy
  - ndpi_bitmap_cardinality
  - ndpi_bitmap_set
  - ndpi_bitmap_unset
  - ndpi_bitmap_isset
  - ndpi_bitmap_serialize
  - ndpi_bitmap_deserialize
  - ndpi_bitmap_and
  - ndpi_bitmap_and_alloc
  - ndpi_bitmap_andnot
  - ndpi_bitmap_or
  - ndpi_bitmap_or_alloc
  - ndpi_bitmap_xor
  - ndpi_bitmap_optimize
  - ndpi_bitmap_iterator_alloc
  - ndpi_bitmap_iterator_free
  - ndpi_bitmap_is_empty
  - ndpi_bitmap_iterator_next
  source_file: /src/ndpi/src/lib/ndpi_bitmap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/ndpi_bitmap.c
      type_or_value: NDPI_PROTOCOL_UNKNOWN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_DeleteEntry
  - ndpi_prefix_tochar
  - ndpi_comp_with_mask
  - ndpi_my_inet_pton
  - THREAD_SPECIFIC_DATA
  - ndpi_prefix_toa2
  - ndpi_prefix_toa
  - ndpi_New_Prefix2
  - ndpi_New_Prefix
  - ndpi_Ref_Prefix
  - ndpi_Deref_Prefix
  - ndpi_patricia_new
  - ndpi_Clear_Patricia
  - ndpi_patricia_destroy
  - ndpi_patricia_process
  - ndpi_patricia_clone_walk
  - ndpi_patricia_clone
  - ndpi_patricia_walk_inorder
  - ndpi_patricia_walk_tree_inorder
  - ndpi_patricia_search_exact
  - ndpi_patricia_search_best2
  - ndpi_patricia_search_best
  - ndpi_patricia_lookup
  - ndpi_patricia_remove
  - ndpi_ascii2prefix
  - ndpi_make_and_lookup
  - ndpi_try_search_exact
  - ndpi_lookup_then_remove
  source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATRICIA_MAX_THREADS
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
      type_or_value: '16'
    structs:
    - fields:
      - name: buffs[PATRICIA_MAX_THREADS][48+5]
        type: char
      - name: i
        type: u_int
      item_type: struct
      name: buffer
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_patricia.c
    typedefs: []
    union: []
- function_names:
  - _blsr_u64
  - __builtin_ctzll
  - __builtin_clzll
  - __builtin_unreachable
  - ALIGNED
  - ALIGNED
  - hammingbackup
  - hamming
  - UINT64_C
  - UINT32_C
  - STRINGIFY_IMPLEMENTATION_
  - STRINGIFY
  - CROARING_TARGET_REGION
  - CROARING_TARGET_REGION
  - cpuid
  - dynamic_croaring_detect_supported_architectures
  - croaring_detect_supported_architectures
  - croaring_detect_supported_architectures
  - croaring_detect_supported_architectures
  - croaring_detect_supported_architectures
  - croaring_avx2
  - croaring_avx2
  - croaring_avx2
  - STRUCT_CONTAINER
  - STRUCT_CONTAINER
  - CAST
  - movable_CAST
  - roaring::internal::movable_CAST_HELPER
  - CAST
  - movable_CAST
  - movable_CAST_base
  - STRUCT_CONTAINER
  - STRUCT_CONTAINER
  - CAST
  - movable_CAST
  - roaring::internal::movable_CAST_HELPER
  - CAST
  - movable_CAST
  - movable_CAST_base
  - STRUCT_CONTAINER
  - STRUCT_CONTAINER
  - CAST
  - movable_CAST
  - roaring::internal::movable_CAST_HELPER
  - CAST
  - movable_CAST
  - movable_CAST_base
  - STRUCT_CONTAINER
  - STRUCT_CONTAINER
  - CAST
  - movable_CAST
  - roaring::internal::movable_CAST_HELPER
  - CAST
  - movable_CAST
  - movable_CAST_base
  - roaring::internal::binarySearch
  - roaring::internal::advanceUntil
  - roaring::internal::count_less
  - roaring::internal::count_greater
  - roaring::internal::binarySearch
  - roaring::internal::advanceUntil
  - roaring::internal::count_less
  - roaring::internal::count_greater
  - roaring::internal::binarySearch
  - roaring::internal::advanceUntil
  - roaring::internal::count_less
  - roaring::internal::count_greater
  - roaring::internal::binarySearch
  - roaring::internal::advanceUntil
  - roaring::internal::count_less
  - roaring::internal::count_greater
  - ASM_SHIFT_RIGHT
  - ASM_INPLACESHIFT_RIGHT
  - ASM_SHIFT_LEFT
  - ASM_SET_BIT_INC_WAS_CLEAR
  - ASM_CLEAR_BIT_DEC_WAS_SET
  - ASM_SHIFT_RIGHT
  - ASM_INPLACESHIFT_RIGHT
  - ASM_SHIFT_LEFT
  - ASM_SET_BIT_INC_WAS_CLEAR
  - ASM_CLEAR_BIT_DEC_WAS_SET
  - roaring::internal::bitset_set_range
  - roaring::internal::bitset_lenrange_cardinality
  - roaring::internal::bitset_lenrange_empty
  - roaring::internal::bitset_set_lenrange
  - roaring::internal::bitset_flip_range
  - roaring::internal::bitset_reset_range
  - roaring::internal::popcount256
  - roaring::internal::CSA
  - roaring::internal::avx2_harley_seal_popcount256
  - AVXPOPCNTFNC
  - roaring::internal::bitset_set_range
  - roaring::internal::bitset_lenrange_cardinality
  - roaring::internal::bitset_lenrange_empty
  - roaring::internal::bitset_set_lenrange
  - roaring::internal::bitset_flip_range
  - roaring::internal::bitset_reset_range
  - roaring::internal::popcount256
  - roaring::internal::CSA
  - roaring::internal::avx2_harley_seal_popcount256
  - AVXPOPCNTFNC
  - roaring::internal::bitset_set_range
  - roaring::internal::bitset_lenrange_cardinality
  - roaring::internal::bitset_lenrange_empty
  - roaring::internal::bitset_set_lenrange
  - roaring::internal::bitset_flip_range
  - roaring::internal::bitset_reset_range
  - roaring::internal::popcount256
  - roaring::internal::CSA
  - roaring::internal::avx2_harley_seal_popcount256
  - AVXPOPCNTFNC
  - roaring::internal::bitset_set_range
  - roaring::internal::bitset_lenrange_cardinality
  - roaring::internal::bitset_lenrange_empty
  - roaring::internal::bitset_set_lenrange
  - roaring::internal::bitset_flip_range
  - roaring::internal::bitset_reset_range
  - roaring::internal::popcount256
  - roaring::internal::CSA
  - roaring::internal::avx2_harley_seal_popcount256
  - AVXPOPCNTFNC
  - roaring::internal::STRUCT_CONTAINER
  - CAST_array
  - const_CAST_array
  - movable_CAST_array
  - roaring::internal::array_container_cardinality
  - roaring::internal::array_container_nonzero_cardinality
  - roaring::internal::array_container_empty
  - roaring::internal::array_container_full
  - roaring::internal::array_container_serialized_size_in_bytes
  - roaring::internal::array_container_size_in_bytes
  - roaring::internal::array_container_equals
  - roaring::internal::array_container_select
  - roaring::internal::array_container_append
  - roaring::internal::array_container_try_add
  - roaring::internal::array_container_add
  - roaring::internal::array_container_remove
  - roaring::internal::array_container_contains
  - roaring::internal::array_container_contains_range
  - roaring::internal::array_container_minimum
  - roaring::internal::array_container_maximum
  - roaring::internal::array_container_rank
  - roaring::internal::array_container_index_equalorlarger
  - roaring::internal::array_container_add_range_nvals
  - roaring::internal::array_container_remove_range
  - roaring::internal::STRUCT_CONTAINER
  - CAST_array
  - const_CAST_array
  - movable_CAST_array
  - roaring::internal::array_container_cardinality
  - roaring::internal::array_container_nonzero_cardinality
  - roaring::internal::array_container_empty
  - roaring::internal::array_container_full
  - roaring::internal::array_container_serialized_size_in_bytes
  - roaring::internal::array_container_size_in_bytes
  - roaring::internal::array_container_equals
  - roaring::internal::array_container_select
  - roaring::internal::array_container_append
  - roaring::internal::array_container_try_add
  - roaring::internal::array_container_add
  - roaring::internal::array_container_remove
  - roaring::internal::array_container_contains
  - roaring::internal::array_container_contains_range
  - roaring::internal::array_container_minimum
  - roaring::internal::array_container_maximum
  - roaring::internal::array_container_rank
  - roaring::internal::array_container_index_equalorlarger
  - roaring::internal::array_container_add_range_nvals
  - roaring::internal::array_container_remove_range
  - roaring::internal::STRUCT_CONTAINER
  - CAST_array
  - const_CAST_array
  - movable_CAST_array
  - roaring::internal::array_container_cardinality
  - roaring::internal::array_container_nonzero_cardinality
  - roaring::internal::array_container_empty
  - roaring::internal::array_container_full
  - roaring::internal::array_container_serialized_size_in_bytes
  - roaring::internal::array_container_size_in_bytes
  - roaring::internal::array_container_equals
  - roaring::internal::array_container_select
  - roaring::internal::array_container_append
  - roaring::internal::array_container_try_add
  - roaring::internal::array_container_add
  - roaring::internal::array_container_remove
  - roaring::internal::array_container_contains
  - roaring::internal::array_container_contains_range
  - roaring::internal::array_container_minimum
  - roaring::internal::array_container_maximum
  - roaring::internal::array_container_rank
  - roaring::internal::array_container_index_equalorlarger
  - roaring::internal::array_container_add_range_nvals
  - roaring::internal::array_container_remove_range
  - roaring::internal::STRUCT_CONTAINER
  - CAST_array
  - const_CAST_array
  - movable_CAST_array
  - roaring::internal::array_container_cardinality
  - roaring::internal::array_container_nonzero_cardinality
  - roaring::internal::array_container_empty
  - roaring::internal::array_container_full
  - roaring::internal::array_container_serialized_size_in_bytes
  - roaring::internal::array_container_size_in_bytes
  - roaring::internal::array_container_equals
  - roaring::internal::array_container_select
  - roaring::internal::array_container_append
  - roaring::internal::array_container_try_add
  - roaring::internal::array_container_add
  - roaring::internal::array_container_remove
  - roaring::internal::array_container_contains
  - roaring::internal::array_container_contains_range
  - roaring::internal::array_container_minimum
  - roaring::internal::array_container_maximum
  - roaring::internal::array_container_rank
  - roaring::internal::array_container_index_equalorlarger
  - roaring::internal::array_container_add_range_nvals
  - roaring::internal::array_container_remove_range
  - roaring::internal::STRUCT_CONTAINER
  - CAST_bitset
  - const_CAST_bitset
  - movable_CAST_bitset
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_get_range
  - roaring::internal::bitset_container_contains
  - roaring::internal::bitset_container_contains_range
  - roaring::internal::bitset_container_cardinality
  - roaring::internal::bitset_container_empty
  - roaring::internal::bitset_container_const_nonzero_cardinality
  - roaring::internal::bitset_container_serialized_size_in_bytes
  - roaring::internal::bitset_container_size_in_bytes
  - roaring::internal::STRUCT_CONTAINER
  - CAST_bitset
  - const_CAST_bitset
  - movable_CAST_bitset
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_get_range
  - roaring::internal::bitset_container_contains
  - roaring::internal::bitset_container_contains_range
  - roaring::internal::bitset_container_cardinality
  - roaring::internal::bitset_container_empty
  - roaring::internal::bitset_container_const_nonzero_cardinality
  - roaring::internal::bitset_container_serialized_size_in_bytes
  - roaring::internal::bitset_container_size_in_bytes
  - roaring::internal::STRUCT_CONTAINER
  - CAST_bitset
  - const_CAST_bitset
  - movable_CAST_bitset
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_get_range
  - roaring::internal::bitset_container_contains
  - roaring::internal::bitset_container_contains_range
  - roaring::internal::bitset_container_cardinality
  - roaring::internal::bitset_container_empty
  - roaring::internal::bitset_container_const_nonzero_cardinality
  - roaring::internal::bitset_container_serialized_size_in_bytes
  - roaring::internal::bitset_container_size_in_bytes
  - roaring::internal::STRUCT_CONTAINER
  - CAST_bitset
  - const_CAST_bitset
  - movable_CAST_bitset
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_get_range
  - roaring::internal::bitset_container_contains
  - roaring::internal::bitset_container_contains_range
  - roaring::internal::bitset_container_cardinality
  - roaring::internal::bitset_container_empty
  - roaring::internal::bitset_container_const_nonzero_cardinality
  - roaring::internal::bitset_container_serialized_size_in_bytes
  - roaring::internal::bitset_container_size_in_bytes
  - MAKE_RLE16
  - MAKE_RLE16
  - roaring::internal::STRUCT_CONTAINER
  - CAST_run
  - const_CAST_run
  - movable_CAST_run
  - roaring::internal::recoverRoomAtIndex
  - roaring::internal::interleavedBinarySearch
  - roaring::internal::rle16_find_run
  - roaring::internal::rle16_count_less
  - roaring::internal::rle16_count_greater
  - roaring::internal::makeRoomAtIndex
  - roaring::internal::run_container_remove
  - roaring::internal::run_container_contains
  - roaring::internal::run_container_contains_range
  - roaring::internal::run_container_nonzero_cardinality
  - roaring::internal::run_container_empty
  - roaring::internal::run_container_append
  - roaring::internal::run_container_append_first
  - roaring::internal::run_container_append_value
  - roaring::internal::run_container_append_value_first
  - roaring::internal::run_container_is_full
  - roaring::internal::run_container_serialized_size_in_bytes
  - roaring::internal::run_container_size_in_bytes
  - roaring::internal::run_container_equals
  - roaring::internal::run_container_create_range
  - roaring::internal::run_container_minimum
  - roaring::internal::run_container_maximum
  - roaring::internal::run_container_index_equalorlarger
  - roaring::internal::run_container_add_range_nruns
  - roaring::internal::run_container_shift_tail
  - roaring::internal::run_container_remove_range
  - MAKE_RLE16
  - MAKE_RLE16
  - roaring::internal::STRUCT_CONTAINER
  - CAST_run
  - const_CAST_run
  - movable_CAST_run
  - roaring::internal::recoverRoomAtIndex
  - roaring::internal::interleavedBinarySearch
  - roaring::internal::rle16_find_run
  - roaring::internal::rle16_count_less
  - roaring::internal::rle16_count_greater
  - roaring::internal::makeRoomAtIndex
  - roaring::internal::run_container_remove
  - roaring::internal::run_container_contains
  - roaring::internal::run_container_contains_range
  - roaring::internal::run_container_nonzero_cardinality
  - roaring::internal::run_container_empty
  - roaring::internal::run_container_append
  - roaring::internal::run_container_append_first
  - roaring::internal::run_container_append_value
  - roaring::internal::run_container_append_value_first
  - roaring::internal::run_container_is_full
  - roaring::internal::run_container_serialized_size_in_bytes
  - roaring::internal::run_container_size_in_bytes
  - roaring::internal::run_container_equals
  - roaring::internal::run_container_create_range
  - roaring::internal::run_container_minimum
  - roaring::internal::run_container_maximum
  - roaring::internal::run_container_index_equalorlarger
  - roaring::internal::run_container_add_range_nruns
  - roaring::internal::run_container_shift_tail
  - roaring::internal::run_container_remove_range
  - MAKE_RLE16
  - MAKE_RLE16
  - roaring::internal::STRUCT_CONTAINER
  - CAST_run
  - const_CAST_run
  - movable_CAST_run
  - roaring::internal::recoverRoomAtIndex
  - roaring::internal::interleavedBinarySearch
  - roaring::internal::rle16_find_run
  - roaring::internal::rle16_count_less
  - roaring::internal::rle16_count_greater
  - roaring::internal::makeRoomAtIndex
  - roaring::internal::run_container_remove
  - roaring::internal::run_container_contains
  - roaring::internal::run_container_contains_range
  - roaring::internal::run_container_nonzero_cardinality
  - roaring::internal::run_container_empty
  - roaring::internal::run_container_append
  - roaring::internal::run_container_append_first
  - roaring::internal::run_container_append_value
  - roaring::internal::run_container_append_value_first
  - roaring::internal::run_container_is_full
  - roaring::internal::run_container_serialized_size_in_bytes
  - roaring::internal::run_container_size_in_bytes
  - roaring::internal::run_container_equals
  - roaring::internal::run_container_create_range
  - roaring::internal::run_container_minimum
  - roaring::internal::run_container_maximum
  - roaring::internal::run_container_index_equalorlarger
  - roaring::internal::run_container_add_range_nruns
  - roaring::internal::run_container_shift_tail
  - roaring::internal::run_container_remove_range
  - MAKE_RLE16
  - MAKE_RLE16
  - roaring::internal::STRUCT_CONTAINER
  - CAST_run
  - const_CAST_run
  - movable_CAST_run
  - roaring::internal::recoverRoomAtIndex
  - roaring::internal::interleavedBinarySearch
  - roaring::internal::rle16_find_run
  - roaring::internal::rle16_count_less
  - roaring::internal::rle16_count_greater
  - roaring::internal::makeRoomAtIndex
  - roaring::internal::run_container_remove
  - roaring::internal::run_container_contains
  - roaring::internal::run_container_contains_range
  - roaring::internal::run_container_nonzero_cardinality
  - roaring::internal::run_container_empty
  - roaring::internal::run_container_append
  - roaring::internal::run_container_append_first
  - roaring::internal::run_container_append_value
  - roaring::internal::run_container_append_value_first
  - roaring::internal::run_container_is_full
  - roaring::internal::run_container_serialized_size_in_bytes
  - roaring::internal::run_container_size_in_bytes
  - roaring::internal::run_container_equals
  - roaring::internal::run_container_create_range
  - roaring::internal::run_container_minimum
  - roaring::internal::run_container_maximum
  - roaring::internal::run_container_index_equalorlarger
  - roaring::internal::run_container_add_range_nruns
  - roaring::internal::run_container_shift_tail
  - roaring::internal::run_container_remove_range
  - PAIR_CONTAINER_TYPES
  - CONTAINER_PAIR
  - roaring::internal::STRUCT_CONTAINER
  - CAST_shared
  - const_CAST_shared
  - movable_CAST_shared
  - roaring::internal::container_unwrap_shared
  - roaring::internal::container_mutable_unwrap_shared
  - roaring::internal::get_container_type
  - roaring::internal::get_writable_copy_if_shared
  - roaring::internal::container_to_bitset
  - roaring::internal::get_full_container_name
  - roaring::internal::container_get_cardinality
  - roaring::internal::container_is_full
  - roaring::internal::container_shrink_to_fit
  - roaring::internal::container_range_of_ones
  - roaring::internal::container_from_range
  - roaring::internal::container_repair_after_lazy
  - roaring::internal::container_write
  - roaring::internal::container_size_in_bytes
  - roaring::internal::container_nonzero_cardinality
  - roaring::internal::container_to_uint32_array
  - roaring::internal::container_add
  - roaring::internal::container_remove
  - roaring::internal::container_contains
  - roaring::internal::container_contains_range
  - roaring::internal::container_equals
  - roaring::internal::container_is_subset
  - roaring::internal::container_and
  - roaring::internal::container_and_cardinality
  - roaring::internal::container_intersect
  - roaring::internal::container_iand
  - roaring::internal::container_or
  - roaring::internal::container_lazy_or
  - roaring::internal::container_ior
  - roaring::internal::container_lazy_ior
  - roaring::internal::container_xor
  - roaring::internal::container_add_offset
  - roaring::internal::container_lazy_xor
  - roaring::internal::container_ixor
  - roaring::internal::container_lazy_ixor
  - roaring::internal::container_andnot
  - roaring::internal::container_iandnot
  - roaring::internal::container_iterate
  - roaring::internal::container_iterate64
  - roaring::internal::container_not
  - roaring::internal::container_not_range
  - roaring::internal::container_inot
  - roaring::internal::container_inot_range
  - roaring::internal::container_select
  - roaring::internal::container_maximum
  - roaring::internal::container_minimum
  - roaring::internal::container_rank
  - roaring::internal::container_add_range
  - roaring::internal::container_remove_range
  - PAIR_CONTAINER_TYPES
  - CONTAINER_PAIR
  - roaring::internal::STRUCT_CONTAINER
  - CAST_shared
  - const_CAST_shared
  - movable_CAST_shared
  - roaring::internal::container_unwrap_shared
  - roaring::internal::container_mutable_unwrap_shared
  - roaring::internal::get_container_type
  - roaring::internal::get_writable_copy_if_shared
  - roaring::internal::container_to_bitset
  - roaring::internal::get_full_container_name
  - roaring::internal::container_get_cardinality
  - roaring::internal::container_is_full
  - roaring::internal::container_shrink_to_fit
  - roaring::internal::container_range_of_ones
  - roaring::internal::container_from_range
  - roaring::internal::container_repair_after_lazy
  - roaring::internal::container_write
  - roaring::internal::container_size_in_bytes
  - roaring::internal::container_nonzero_cardinality
  - roaring::internal::container_to_uint32_array
  - roaring::internal::container_add
  - roaring::internal::container_remove
  - roaring::internal::container_contains
  - roaring::internal::container_contains_range
  - roaring::internal::container_equals
  - roaring::internal::container_is_subset
  - roaring::internal::container_and
  - roaring::internal::container_and_cardinality
  - roaring::internal::container_intersect
  - roaring::internal::container_iand
  - roaring::internal::container_or
  - roaring::internal::container_lazy_or
  - roaring::internal::container_ior
  - roaring::internal::container_lazy_ior
  - roaring::internal::container_xor
  - roaring::internal::container_add_offset
  - roaring::internal::container_lazy_xor
  - roaring::internal::container_ixor
  - roaring::internal::container_lazy_ixor
  - roaring::internal::container_andnot
  - roaring::internal::container_iandnot
  - roaring::internal::container_iterate
  - roaring::internal::container_iterate64
  - roaring::internal::container_not
  - roaring::internal::container_not_range
  - roaring::internal::container_inot
  - roaring::internal::container_inot_range
  - roaring::internal::container_select
  - roaring::internal::container_maximum
  - roaring::internal::container_minimum
  - roaring::internal::container_rank
  - roaring::internal::container_add_range
  - roaring::internal::container_remove_range
  - PAIR_CONTAINER_TYPES
  - CONTAINER_PAIR
  - roaring::internal::STRUCT_CONTAINER
  - CAST_shared
  - const_CAST_shared
  - movable_CAST_shared
  - roaring::internal::container_unwrap_shared
  - roaring::internal::container_mutable_unwrap_shared
  - roaring::internal::get_container_type
  - roaring::internal::get_writable_copy_if_shared
  - roaring::internal::container_to_bitset
  - roaring::internal::get_full_container_name
  - roaring::internal::container_get_cardinality
  - roaring::internal::container_is_full
  - roaring::internal::container_shrink_to_fit
  - roaring::internal::container_range_of_ones
  - roaring::internal::container_from_range
  - roaring::internal::container_repair_after_lazy
  - roaring::internal::container_write
  - roaring::internal::container_size_in_bytes
  - roaring::internal::container_nonzero_cardinality
  - roaring::internal::container_to_uint32_array
  - roaring::internal::container_add
  - roaring::internal::container_remove
  - roaring::internal::container_contains
  - roaring::internal::container_contains_range
  - roaring::internal::container_equals
  - roaring::internal::container_is_subset
  - roaring::internal::container_and
  - roaring::internal::container_and_cardinality
  - roaring::internal::container_intersect
  - roaring::internal::container_iand
  - roaring::internal::container_or
  - roaring::internal::container_lazy_or
  - roaring::internal::container_ior
  - roaring::internal::container_lazy_ior
  - roaring::internal::container_xor
  - roaring::internal::container_add_offset
  - roaring::internal::container_lazy_xor
  - roaring::internal::container_ixor
  - roaring::internal::container_lazy_ixor
  - roaring::internal::container_andnot
  - roaring::internal::container_iandnot
  - roaring::internal::container_iterate
  - roaring::internal::container_iterate64
  - roaring::internal::container_not
  - roaring::internal::container_not_range
  - roaring::internal::container_inot
  - roaring::internal::container_inot_range
  - roaring::internal::container_select
  - roaring::internal::container_maximum
  - roaring::internal::container_minimum
  - roaring::internal::container_rank
  - roaring::internal::container_add_range
  - roaring::internal::container_remove_range
  - PAIR_CONTAINER_TYPES
  - CONTAINER_PAIR
  - roaring::internal::STRUCT_CONTAINER
  - CAST_shared
  - const_CAST_shared
  - movable_CAST_shared
  - roaring::internal::container_unwrap_shared
  - roaring::internal::container_mutable_unwrap_shared
  - roaring::internal::get_container_type
  - roaring::internal::get_writable_copy_if_shared
  - roaring::internal::container_to_bitset
  - roaring::internal::get_full_container_name
  - roaring::internal::container_get_cardinality
  - roaring::internal::container_is_full
  - roaring::internal::container_shrink_to_fit
  - roaring::internal::container_range_of_ones
  - roaring::internal::container_from_range
  - roaring::internal::container_repair_after_lazy
  - roaring::internal::container_write
  - roaring::internal::container_size_in_bytes
  - roaring::internal::container_nonzero_cardinality
  - roaring::internal::container_to_uint32_array
  - roaring::internal::container_add
  - roaring::internal::container_remove
  - roaring::internal::container_contains
  - roaring::internal::container_contains_range
  - roaring::internal::container_equals
  - roaring::internal::container_is_subset
  - roaring::internal::container_and
  - roaring::internal::container_and_cardinality
  - roaring::internal::container_intersect
  - roaring::internal::container_iand
  - roaring::internal::container_or
  - roaring::internal::container_lazy_or
  - roaring::internal::container_ior
  - roaring::internal::container_lazy_ior
  - roaring::internal::container_xor
  - roaring::internal::container_add_offset
  - roaring::internal::container_lazy_xor
  - roaring::internal::container_ixor
  - roaring::internal::container_lazy_ixor
  - roaring::internal::container_andnot
  - roaring::internal::container_iandnot
  - roaring::internal::container_iterate
  - roaring::internal::container_iterate64
  - roaring::internal::container_not
  - roaring::internal::container_not_range
  - roaring::internal::container_inot
  - roaring::internal::container_inot_range
  - roaring::internal::container_select
  - roaring::internal::container_maximum
  - roaring::internal::container_minimum
  - roaring::internal::container_rank
  - roaring::internal::container_add_range
  - roaring::internal::container_remove_range
  - roaring::internal::ra_get_index
  - roaring::internal::ra_get_container_at_index
  - roaring::internal::ra_get_key_at_index
  - roaring::internal::ra_set_container_at_index
  - roaring::internal::ra_get_size
  - roaring::internal::ra_advance_until
  - roaring::internal::ra_replace_key_and_container_at_index
  - roaring::internal::ra_unshare_container_at_index
  - roaring::internal::ra_get_index
  - roaring::internal::ra_get_container_at_index
  - roaring::internal::ra_get_key_at_index
  - roaring::internal::ra_set_container_at_index
  - roaring::internal::ra_get_size
  - roaring::internal::ra_advance_until
  - roaring::internal::ra_replace_key_and_container_at_index
  - roaring::internal::ra_unshare_container_at_index
  - roaring::internal::ra_get_index
  - roaring::internal::ra_get_container_at_index
  - roaring::internal::ra_get_key_at_index
  - roaring::internal::ra_set_container_at_index
  - roaring::internal::ra_get_size
  - roaring::internal::ra_advance_until
  - roaring::internal::ra_replace_key_and_container_at_index
  - roaring::internal::ra_unshare_container_at_index
  - roaring::internal::ra_get_index
  - roaring::internal::ra_get_container_at_index
  - roaring::internal::ra_get_key_at_index
  - roaring::internal::ra_set_container_at_index
  - roaring::internal::ra_get_size
  - roaring::internal::ra_advance_until
  - roaring::internal::ra_replace_key_and_container_at_index
  - roaring::internal::ra_unshare_container_at_index
  - roaring::internal::intersect_vector16
  - roaring::internal::intersect_vector16_cardinality
  - roaring::internal::difference_vector16
  - roaring::internal::binarySearch4
  - roaring::internal::binarySearch2
  - roaring::internal::intersect_skewed_uint16
  - roaring::internal::intersect_skewed_uint16_cardinality
  - roaring::internal::intersect_skewed_uint16_nonempty
  - roaring::internal::intersect_uint16
  - roaring::internal::intersect_uint16_cardinality
  - roaring::internal::intersect_uint16_nonempty
  - roaring::internal::intersection_uint32
  - roaring::internal::intersection_uint32_card
  - roaring::internal::union_uint16
  - roaring::internal::difference_uint16
  - roaring::internal::xor_uint16
  - roaring::internal::sse_merge
  - roaring::internal::store_unique
  - roaring::internal::unique
  - roaring::internal::uint16_compare
  - roaring::internal::union_vector16
  - roaring::internal::store_unique_xor
  - roaring::internal::unique_xor
  - roaring::internal::xor_vector16
  - roaring::internal::union_uint32
  - roaring::internal::union_uint32_card
  - roaring::internal::fast_union_uint16
  - roaring::internal::_avx2_memequals
  - roaring::internal::memequals
  - roaring::internal::intersect_vector16
  - roaring::internal::intersect_vector16_cardinality
  - roaring::internal::difference_vector16
  - roaring::internal::binarySearch4
  - roaring::internal::binarySearch2
  - roaring::internal::intersect_skewed_uint16
  - roaring::internal::intersect_skewed_uint16_cardinality
  - roaring::internal::intersect_skewed_uint16_nonempty
  - roaring::internal::intersect_uint16
  - roaring::internal::intersect_uint16_cardinality
  - roaring::internal::intersect_uint16_nonempty
  - roaring::internal::intersection_uint32
  - roaring::internal::intersection_uint32_card
  - roaring::internal::union_uint16
  - roaring::internal::difference_uint16
  - roaring::internal::xor_uint16
  - roaring::internal::sse_merge
  - roaring::internal::store_unique
  - roaring::internal::unique
  - roaring::internal::uint16_compare
  - roaring::internal::union_vector16
  - roaring::internal::store_unique_xor
  - roaring::internal::unique_xor
  - roaring::internal::xor_vector16
  - roaring::internal::union_uint32
  - roaring::internal::union_uint32_card
  - roaring::internal::fast_union_uint16
  - roaring::internal::_avx2_memequals
  - roaring::internal::memequals
  - roaring::internal::intersect_vector16
  - roaring::internal::intersect_vector16_cardinality
  - roaring::internal::difference_vector16
  - roaring::internal::binarySearch4
  - roaring::internal::binarySearch2
  - roaring::internal::intersect_skewed_uint16
  - roaring::internal::intersect_skewed_uint16_cardinality
  - roaring::internal::intersect_skewed_uint16_nonempty
  - roaring::internal::intersect_uint16
  - roaring::internal::intersect_uint16_cardinality
  - roaring::internal::intersect_uint16_nonempty
  - roaring::internal::intersection_uint32
  - roaring::internal::intersection_uint32_card
  - roaring::internal::union_uint16
  - roaring::internal::difference_uint16
  - roaring::internal::xor_uint16
  - roaring::internal::sse_merge
  - roaring::internal::store_unique
  - roaring::internal::unique
  - roaring::internal::uint16_compare
  - roaring::internal::union_vector16
  - roaring::internal::store_unique_xor
  - roaring::internal::unique_xor
  - roaring::internal::xor_vector16
  - roaring::internal::union_uint32
  - roaring::internal::union_uint32_card
  - roaring::internal::fast_union_uint16
  - roaring::internal::_avx2_memequals
  - roaring::internal::memequals
  - roaring::internal::intersect_vector16
  - roaring::internal::intersect_vector16_cardinality
  - roaring::internal::difference_vector16
  - roaring::internal::binarySearch4
  - roaring::internal::binarySearch2
  - roaring::internal::intersect_skewed_uint16
  - roaring::internal::intersect_skewed_uint16_cardinality
  - roaring::internal::intersect_skewed_uint16_nonempty
  - roaring::internal::intersect_uint16
  - roaring::internal::intersect_uint16_cardinality
  - roaring::internal::intersect_uint16_nonempty
  - roaring::internal::intersection_uint32
  - roaring::internal::intersection_uint32_card
  - roaring::internal::union_uint16
  - roaring::internal::difference_uint16
  - roaring::internal::xor_uint16
  - roaring::internal::sse_merge
  - roaring::internal::store_unique
  - roaring::internal::unique
  - roaring::internal::uint16_compare
  - roaring::internal::union_vector16
  - roaring::internal::store_unique_xor
  - roaring::internal::unique_xor
  - roaring::internal::xor_vector16
  - roaring::internal::union_uint32
  - roaring::internal::union_uint32_card
  - roaring::internal::fast_union_uint16
  - roaring::internal::_avx2_memequals
  - roaring::internal::memequals
  - roaring::internal::bitset_extract_setbits_avx2
  - roaring::internal::bitset_extract_setbits
  - roaring::internal::bitset_extract_intersection_setbits_uint16
  - roaring::internal::bitset_extract_setbits_sse_uint16
  - roaring::internal::bitset_extract_setbits_uint16
  - roaring::internal::_asm_bitset_set_list_withcard
  - roaring::internal::_asm_bitset_set_list
  - roaring::internal::_asm_bitset_clear_list
  - roaring::internal::_scalar_bitset_clear_list
  - roaring::internal::_scalar_bitset_set_list_withcard
  - roaring::internal::_scalar_bitset_set_list
  - roaring::internal::bitset_clear_list
  - roaring::internal::bitset_set_list_withcard
  - roaring::internal::bitset_set_list
  - roaring::internal::bitset_clear_list
  - roaring::internal::bitset_set_list_withcard
  - roaring::internal::bitset_set_list
  - roaring::internal::bitset_flip_list_withcard
  - roaring::internal::bitset_flip_list
  - roaring::internal::bitset_extract_setbits_avx2
  - roaring::internal::bitset_extract_setbits
  - roaring::internal::bitset_extract_intersection_setbits_uint16
  - roaring::internal::bitset_extract_setbits_sse_uint16
  - roaring::internal::bitset_extract_setbits_uint16
  - roaring::internal::_asm_bitset_set_list_withcard
  - roaring::internal::_asm_bitset_set_list
  - roaring::internal::_asm_bitset_clear_list
  - roaring::internal::_scalar_bitset_clear_list
  - roaring::internal::_scalar_bitset_set_list_withcard
  - roaring::internal::_scalar_bitset_set_list
  - roaring::internal::bitset_clear_list
  - roaring::internal::bitset_set_list_withcard
  - roaring::internal::bitset_set_list
  - roaring::internal::bitset_clear_list
  - roaring::internal::bitset_set_list_withcard
  - roaring::internal::bitset_set_list
  - roaring::internal::bitset_flip_list_withcard
  - roaring::internal::bitset_flip_list
  - roaring::internal::bitset_extract_setbits_avx2
  - roaring::internal::bitset_extract_setbits
  - roaring::internal::bitset_extract_intersection_setbits_uint16
  - roaring::internal::bitset_extract_setbits_sse_uint16
  - roaring::internal::bitset_extract_setbits_uint16
  - roaring::internal::_asm_bitset_set_list_withcard
  - roaring::internal::_asm_bitset_set_list
  - roaring::internal::_asm_bitset_clear_list
  - roaring::internal::_scalar_bitset_clear_list
  - roaring::internal::_scalar_bitset_set_list_withcard
  - roaring::internal::_scalar_bitset_set_list
  - roaring::internal::bitset_clear_list
  - roaring::internal::bitset_set_list_withcard
  - roaring::internal::bitset_set_list
  - roaring::internal::bitset_clear_list
  - roaring::internal::bitset_set_list_withcard
  - roaring::internal::bitset_set_list
  - roaring::internal::bitset_flip_list_withcard
  - roaring::internal::bitset_flip_list
  - roaring::internal::bitset_extract_setbits_avx2
  - roaring::internal::bitset_extract_setbits
  - roaring::internal::bitset_extract_intersection_setbits_uint16
  - roaring::internal::bitset_extract_setbits_sse_uint16
  - roaring::internal::bitset_extract_setbits_uint16
  - roaring::internal::_asm_bitset_set_list_withcard
  - roaring::internal::_asm_bitset_set_list
  - roaring::internal::_asm_bitset_clear_list
  - roaring::internal::_scalar_bitset_clear_list
  - roaring::internal::_scalar_bitset_set_list_withcard
  - roaring::internal::_scalar_bitset_set_list
  - roaring::internal::bitset_clear_list
  - roaring::internal::bitset_set_list_withcard
  - roaring::internal::bitset_set_list
  - roaring::internal::bitset_clear_list
  - roaring::internal::bitset_set_list_withcard
  - roaring::internal::bitset_set_list
  - roaring::internal::bitset_flip_list_withcard
  - roaring::internal::bitset_flip_list
  - roaring::internal::array_container_create_given_capacity
  - roaring::internal::array_container_create
  - roaring::internal::array_container_create_range
  - roaring::internal::array_container_clone
  - roaring::internal::array_container_offset
  - roaring::internal::array_container_shrink_to_fit
  - roaring::internal::array_container_free
  - roaring::internal::grow_capacity
  - roaring::internal::clamp
  - roaring::internal::array_container_grow
  - roaring::internal::array_container_copy
  - roaring::internal::array_container_add_from_range
  - roaring::internal::array_container_union
  - roaring::internal::array_container_andnot
  - roaring::internal::array_container_xor
  - roaring::internal::minimum_int32
  - roaring::internal::array_container_intersection
  - roaring::internal::array_container_intersection_cardinality
  - roaring::internal::array_container_intersect
  - roaring::internal::array_container_intersection_inplace
  - roaring::internal::array_container_to_uint32_array
  - roaring::internal::array_container_printf
  - roaring::internal::array_container_printf_as_uint32_array
  - roaring::internal::array_container_number_of_runs
  - roaring::internal::array_container_write
  - roaring::internal::array_container_is_subset
  - roaring::internal::array_container_read
  - roaring::internal::array_container_iterate
  - roaring::internal::array_container_iterate64
  - roaring::internal::array_container_create_given_capacity
  - roaring::internal::array_container_create
  - roaring::internal::array_container_create_range
  - roaring::internal::array_container_clone
  - roaring::internal::array_container_offset
  - roaring::internal::array_container_shrink_to_fit
  - roaring::internal::array_container_free
  - roaring::internal::grow_capacity
  - roaring::internal::clamp
  - roaring::internal::array_container_grow
  - roaring::internal::array_container_copy
  - roaring::internal::array_container_add_from_range
  - roaring::internal::array_container_union
  - roaring::internal::array_container_andnot
  - roaring::internal::array_container_xor
  - roaring::internal::minimum_int32
  - roaring::internal::array_container_intersection
  - roaring::internal::array_container_intersection_cardinality
  - roaring::internal::array_container_intersect
  - roaring::internal::array_container_intersection_inplace
  - roaring::internal::array_container_to_uint32_array
  - roaring::internal::array_container_printf
  - roaring::internal::array_container_printf_as_uint32_array
  - roaring::internal::array_container_number_of_runs
  - roaring::internal::array_container_write
  - roaring::internal::array_container_is_subset
  - roaring::internal::array_container_read
  - roaring::internal::array_container_iterate
  - roaring::internal::array_container_iterate64
  - roaring::internal::array_container_create_given_capacity
  - roaring::internal::array_container_create
  - roaring::internal::array_container_create_range
  - roaring::internal::array_container_clone
  - roaring::internal::array_container_offset
  - roaring::internal::array_container_shrink_to_fit
  - roaring::internal::array_container_free
  - roaring::internal::grow_capacity
  - roaring::internal::clamp
  - roaring::internal::array_container_grow
  - roaring::internal::array_container_copy
  - roaring::internal::array_container_add_from_range
  - roaring::internal::array_container_union
  - roaring::internal::array_container_andnot
  - roaring::internal::array_container_xor
  - roaring::internal::minimum_int32
  - roaring::internal::array_container_intersection
  - roaring::internal::array_container_intersection_cardinality
  - roaring::internal::array_container_intersect
  - roaring::internal::array_container_intersection_inplace
  - roaring::internal::array_container_to_uint32_array
  - roaring::internal::array_container_printf
  - roaring::internal::array_container_printf_as_uint32_array
  - roaring::internal::array_container_number_of_runs
  - roaring::internal::array_container_write
  - roaring::internal::array_container_is_subset
  - roaring::internal::array_container_read
  - roaring::internal::array_container_iterate
  - roaring::internal::array_container_iterate64
  - roaring::internal::array_container_create_given_capacity
  - roaring::internal::array_container_create
  - roaring::internal::array_container_create_range
  - roaring::internal::array_container_clone
  - roaring::internal::array_container_offset
  - roaring::internal::array_container_shrink_to_fit
  - roaring::internal::array_container_free
  - roaring::internal::grow_capacity
  - roaring::internal::clamp
  - roaring::internal::array_container_grow
  - roaring::internal::array_container_copy
  - roaring::internal::array_container_add_from_range
  - roaring::internal::array_container_union
  - roaring::internal::array_container_andnot
  - roaring::internal::array_container_xor
  - roaring::internal::minimum_int32
  - roaring::internal::array_container_intersection
  - roaring::internal::array_container_intersection_cardinality
  - roaring::internal::array_container_intersect
  - roaring::internal::array_container_intersection_inplace
  - roaring::internal::array_container_to_uint32_array
  - roaring::internal::array_container_printf
  - roaring::internal::array_container_printf_as_uint32_array
  - roaring::internal::array_container_number_of_runs
  - roaring::internal::array_container_write
  - roaring::internal::array_container_is_subset
  - roaring::internal::array_container_read
  - roaring::internal::array_container_iterate
  - roaring::internal::array_container_iterate64
  - roaring::internal::bitset_container_clear
  - roaring::internal::bitset_container_set_all
  - roaring::internal::bitset_container_create
  - roaring::internal::bitset_container_copy
  - roaring::internal::bitset_container_add_from_range
  - roaring::internal::bitset_container_free
  - roaring::internal::bitset_container_clone
  - roaring::internal::bitset_container_offset
  - roaring::internal::bitset_container_set_range
  - roaring::internal::bitset_container_intersect
  - roaring::internal::_scalar_bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - AVX_BITSET_CONTAINER_FN1
  - AVX_BITSET_CONTAINER_FN2
  - AVX_BITSET_CONTAINER_FN3
  - SCALAR_BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - roaring::internal::bitset_container_to_uint32_array
  - roaring::internal::bitset_container_printf
  - roaring::internal::bitset_container_printf_as_uint32_array
  - roaring::internal::bitset_container_number_of_runs
  - roaring::internal::bitset_container_write
  - roaring::internal::bitset_container_read
  - roaring::internal::bitset_container_iterate
  - roaring::internal::bitset_container_iterate64
  - roaring::internal::_avx2_bitset_container_equals
  - roaring::internal::bitset_container_equals
  - roaring::internal::bitset_container_is_subset
  - roaring::internal::bitset_container_select
  - roaring::internal::bitset_container_minimum
  - roaring::internal::bitset_container_maximum
  - roaring::internal::bitset_container_rank
  - roaring::internal::bitset_container_index_equalorlarger
  - roaring::internal::bitset_container_clear
  - roaring::internal::bitset_container_set_all
  - roaring::internal::bitset_container_create
  - roaring::internal::bitset_container_copy
  - roaring::internal::bitset_container_add_from_range
  - roaring::internal::bitset_container_free
  - roaring::internal::bitset_container_clone
  - roaring::internal::bitset_container_offset
  - roaring::internal::bitset_container_set_range
  - roaring::internal::bitset_container_intersect
  - roaring::internal::_scalar_bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - AVX_BITSET_CONTAINER_FN1
  - AVX_BITSET_CONTAINER_FN2
  - AVX_BITSET_CONTAINER_FN3
  - SCALAR_BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - roaring::internal::bitset_container_to_uint32_array
  - roaring::internal::bitset_container_printf
  - roaring::internal::bitset_container_printf_as_uint32_array
  - roaring::internal::bitset_container_number_of_runs
  - roaring::internal::bitset_container_write
  - roaring::internal::bitset_container_read
  - roaring::internal::bitset_container_iterate
  - roaring::internal::bitset_container_iterate64
  - roaring::internal::_avx2_bitset_container_equals
  - roaring::internal::bitset_container_equals
  - roaring::internal::bitset_container_is_subset
  - roaring::internal::bitset_container_select
  - roaring::internal::bitset_container_minimum
  - roaring::internal::bitset_container_maximum
  - roaring::internal::bitset_container_rank
  - roaring::internal::bitset_container_index_equalorlarger
  - roaring::internal::bitset_container_clear
  - roaring::internal::bitset_container_set_all
  - roaring::internal::bitset_container_create
  - roaring::internal::bitset_container_copy
  - roaring::internal::bitset_container_add_from_range
  - roaring::internal::bitset_container_free
  - roaring::internal::bitset_container_clone
  - roaring::internal::bitset_container_offset
  - roaring::internal::bitset_container_set_range
  - roaring::internal::bitset_container_intersect
  - roaring::internal::_scalar_bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - AVX_BITSET_CONTAINER_FN1
  - AVX_BITSET_CONTAINER_FN2
  - AVX_BITSET_CONTAINER_FN3
  - SCALAR_BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - roaring::internal::bitset_container_to_uint32_array
  - roaring::internal::bitset_container_printf
  - roaring::internal::bitset_container_printf_as_uint32_array
  - roaring::internal::bitset_container_number_of_runs
  - roaring::internal::bitset_container_write
  - roaring::internal::bitset_container_read
  - roaring::internal::bitset_container_iterate
  - roaring::internal::bitset_container_iterate64
  - roaring::internal::_avx2_bitset_container_equals
  - roaring::internal::bitset_container_equals
  - roaring::internal::bitset_container_is_subset
  - roaring::internal::bitset_container_select
  - roaring::internal::bitset_container_minimum
  - roaring::internal::bitset_container_maximum
  - roaring::internal::bitset_container_rank
  - roaring::internal::bitset_container_index_equalorlarger
  - roaring::internal::bitset_container_clear
  - roaring::internal::bitset_container_set_all
  - roaring::internal::bitset_container_create
  - roaring::internal::bitset_container_copy
  - roaring::internal::bitset_container_add_from_range
  - roaring::internal::bitset_container_free
  - roaring::internal::bitset_container_clone
  - roaring::internal::bitset_container_offset
  - roaring::internal::bitset_container_set_range
  - roaring::internal::bitset_container_intersect
  - roaring::internal::_scalar_bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - AVX_BITSET_CONTAINER_FN1
  - AVX_BITSET_CONTAINER_FN2
  - AVX_BITSET_CONTAINER_FN3
  - SCALAR_BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - BITSET_CONTAINER_FN
  - roaring::internal::bitset_container_to_uint32_array
  - roaring::internal::bitset_container_printf
  - roaring::internal::bitset_container_printf_as_uint32_array
  - roaring::internal::bitset_container_number_of_runs
  - roaring::internal::bitset_container_write
  - roaring::internal::bitset_container_read
  - roaring::internal::bitset_container_iterate
  - roaring::internal::bitset_container_iterate64
  - roaring::internal::_avx2_bitset_container_equals
  - roaring::internal::bitset_container_equals
  - roaring::internal::bitset_container_is_subset
  - roaring::internal::bitset_container_select
  - roaring::internal::bitset_container_minimum
  - roaring::internal::bitset_container_maximum
  - roaring::internal::bitset_container_rank
  - roaring::internal::bitset_container_index_equalorlarger
  - roaring::internal::container_free
  - roaring::internal::container_printf
  - roaring::internal::container_printf_as_uint32_array
  - roaring::internal::get_copy_of_container
  - roaring::internal::container_clone
  - roaring::internal::shared_container_extract_copy
  - roaring::internal::shared_container_free
  - roaring::internal::container_free
  - roaring::internal::container_printf
  - roaring::internal::container_printf_as_uint32_array
  - roaring::internal::get_copy_of_container
  - roaring::internal::container_clone
  - roaring::internal::shared_container_extract_copy
  - roaring::internal::shared_container_free
  - roaring::internal::container_free
  - roaring::internal::container_printf
  - roaring::internal::container_printf_as_uint32_array
  - roaring::internal::get_copy_of_container
  - roaring::internal::container_clone
  - roaring::internal::shared_container_extract_copy
  - roaring::internal::shared_container_free
  - roaring::internal::container_free
  - roaring::internal::container_printf
  - roaring::internal::container_printf_as_uint32_array
  - roaring::internal::get_copy_of_container
  - roaring::internal::container_clone
  - roaring::internal::shared_container_extract_copy
  - roaring::internal::shared_container_free
  - roaring::internal::bitset_container_from_array
  - roaring::internal::bitset_container_from_run
  - roaring::internal::array_container_from_run
  - roaring::internal::array_container_from_bitset
  - roaring::internal::add_run
  - roaring::internal::run_container_from_array
  - roaring::internal::convert_to_bitset_or_array_container
  - roaring::internal::convert_run_to_efficient_container
  - roaring::internal::convert_run_to_efficient_container_and_free
  - roaring::internal::convert_run_optimize
  - roaring::internal::container_from_run_range
  - roaring::internal::bitset_container_from_array
  - roaring::internal::bitset_container_from_run
  - roaring::internal::array_container_from_run
  - roaring::internal::array_container_from_bitset
  - roaring::internal::add_run
  - roaring::internal::run_container_from_array
  - roaring::internal::convert_to_bitset_or_array_container
  - roaring::internal::convert_run_to_efficient_container
  - roaring::internal::convert_run_to_efficient_container_and_free
  - roaring::internal::convert_run_optimize
  - roaring::internal::container_from_run_range
  - roaring::internal::bitset_container_from_array
  - roaring::internal::bitset_container_from_run
  - roaring::internal::array_container_from_run
  - roaring::internal::array_container_from_bitset
  - roaring::internal::add_run
  - roaring::internal::run_container_from_array
  - roaring::internal::convert_to_bitset_or_array_container
  - roaring::internal::convert_run_to_efficient_container
  - roaring::internal::convert_run_to_efficient_container_and_free
  - roaring::internal::convert_run_optimize
  - roaring::internal::container_from_run_range
  - roaring::internal::bitset_container_from_array
  - roaring::internal::bitset_container_from_run
  - roaring::internal::array_container_from_run
  - roaring::internal::array_container_from_bitset
  - roaring::internal::add_run
  - roaring::internal::run_container_from_array
  - roaring::internal::convert_to_bitset_or_array_container
  - roaring::internal::convert_run_to_efficient_container
  - roaring::internal::convert_run_to_efficient_container_and_free
  - roaring::internal::convert_run_optimize
  - roaring::internal::container_from_run_range
  - roaring::internal::array_bitset_container_andnot
  - roaring::internal::array_bitset_container_iandnot
  - roaring::internal::bitset_array_container_andnot
  - roaring::internal::bitset_array_container_iandnot
  - roaring::internal::run_bitset_container_andnot
  - roaring::internal::run_bitset_container_iandnot
  - roaring::internal::bitset_run_container_andnot
  - roaring::internal::bitset_run_container_iandnot
  - roaring::internal::run_array_array_subtract
  - roaring::internal::run_array_container_andnot
  - roaring::internal::run_array_container_iandnot
  - roaring::internal::array_run_container_andnot
  - roaring::internal::array_run_container_iandnot
  - roaring::internal::run_run_container_andnot
  - roaring::internal::run_run_container_iandnot
  - roaring::internal::array_array_container_andnot
  - roaring::internal::array_array_container_iandnot
  - roaring::internal::bitset_bitset_container_andnot
  - roaring::internal::bitset_bitset_container_iandnot
  - roaring::internal::array_bitset_container_andnot
  - roaring::internal::array_bitset_container_iandnot
  - roaring::internal::bitset_array_container_andnot
  - roaring::internal::bitset_array_container_iandnot
  - roaring::internal::run_bitset_container_andnot
  - roaring::internal::run_bitset_container_iandnot
  - roaring::internal::bitset_run_container_andnot
  - roaring::internal::bitset_run_container_iandnot
  - roaring::internal::run_array_array_subtract
  - roaring::internal::run_array_container_andnot
  - roaring::internal::run_array_container_iandnot
  - roaring::internal::array_run_container_andnot
  - roaring::internal::array_run_container_iandnot
  - roaring::internal::run_run_container_andnot
  - roaring::internal::run_run_container_iandnot
  - roaring::internal::array_array_container_andnot
  - roaring::internal::array_array_container_iandnot
  - roaring::internal::bitset_bitset_container_andnot
  - roaring::internal::bitset_bitset_container_iandnot
  - roaring::internal::array_bitset_container_andnot
  - roaring::internal::array_bitset_container_iandnot
  - roaring::internal::bitset_array_container_andnot
  - roaring::internal::bitset_array_container_iandnot
  - roaring::internal::run_bitset_container_andnot
  - roaring::internal::run_bitset_container_iandnot
  - roaring::internal::bitset_run_container_andnot
  - roaring::internal::bitset_run_container_iandnot
  - roaring::internal::run_array_array_subtract
  - roaring::internal::run_array_container_andnot
  - roaring::internal::run_array_container_iandnot
  - roaring::internal::array_run_container_andnot
  - roaring::internal::array_run_container_iandnot
  - roaring::internal::run_run_container_andnot
  - roaring::internal::run_run_container_iandnot
  - roaring::internal::array_array_container_andnot
  - roaring::internal::array_array_container_iandnot
  - roaring::internal::bitset_bitset_container_andnot
  - roaring::internal::bitset_bitset_container_iandnot
  - roaring::internal::array_bitset_container_andnot
  - roaring::internal::array_bitset_container_iandnot
  - roaring::internal::bitset_array_container_andnot
  - roaring::internal::bitset_array_container_iandnot
  - roaring::internal::run_bitset_container_andnot
  - roaring::internal::run_bitset_container_iandnot
  - roaring::internal::bitset_run_container_andnot
  - roaring::internal::bitset_run_container_iandnot
  - roaring::internal::run_array_array_subtract
  - roaring::internal::run_array_container_andnot
  - roaring::internal::run_array_container_iandnot
  - roaring::internal::array_run_container_andnot
  - roaring::internal::array_run_container_iandnot
  - roaring::internal::run_run_container_andnot
  - roaring::internal::run_run_container_iandnot
  - roaring::internal::array_array_container_andnot
  - roaring::internal::array_array_container_iandnot
  - roaring::internal::bitset_bitset_container_andnot
  - roaring::internal::bitset_bitset_container_iandnot
  - roaring::internal::array_container_equal_bitset
  - roaring::internal::run_container_equals_array
  - roaring::internal::run_container_equals_bitset
  - roaring::internal::array_container_equal_bitset
  - roaring::internal::run_container_equals_array
  - roaring::internal::run_container_equals_bitset
  - roaring::internal::array_container_equal_bitset
  - roaring::internal::run_container_equals_array
  - roaring::internal::run_container_equals_bitset
  - roaring::internal::array_container_equal_bitset
  - roaring::internal::run_container_equals_array
  - roaring::internal::run_container_equals_bitset
  - roaring::internal::array_bitset_container_intersection
  - roaring::internal::array_bitset_container_intersection_cardinality
  - roaring::internal::array_bitset_container_intersect
  - roaring::internal::array_run_container_intersection
  - roaring::internal::run_bitset_container_intersection
  - roaring::internal::array_run_container_intersection_cardinality
  - roaring::internal::run_bitset_container_intersection_cardinality
  - roaring::internal::array_run_container_intersect
  - roaring::internal::run_bitset_container_intersect
  - roaring::internal::bitset_bitset_container_intersection
  - roaring::internal::bitset_bitset_container_intersection_inplace
  - roaring::internal::array_bitset_container_intersection
  - roaring::internal::array_bitset_container_intersection_cardinality
  - roaring::internal::array_bitset_container_intersect
  - roaring::internal::array_run_container_intersection
  - roaring::internal::run_bitset_container_intersection
  - roaring::internal::array_run_container_intersection_cardinality
  - roaring::internal::run_bitset_container_intersection_cardinality
  - roaring::internal::array_run_container_intersect
  - roaring::internal::run_bitset_container_intersect
  - roaring::internal::bitset_bitset_container_intersection
  - roaring::internal::bitset_bitset_container_intersection_inplace
  - roaring::internal::array_bitset_container_intersection
  - roaring::internal::array_bitset_container_intersection_cardinality
  - roaring::internal::array_bitset_container_intersect
  - roaring::internal::array_run_container_intersection
  - roaring::internal::run_bitset_container_intersection
  - roaring::internal::array_run_container_intersection_cardinality
  - roaring::internal::run_bitset_container_intersection_cardinality
  - roaring::internal::array_run_container_intersect
  - roaring::internal::run_bitset_container_intersect
  - roaring::internal::bitset_bitset_container_intersection
  - roaring::internal::bitset_bitset_container_intersection_inplace
  - roaring::internal::array_bitset_container_intersection
  - roaring::internal::array_bitset_container_intersection_cardinality
  - roaring::internal::array_bitset_container_intersect
  - roaring::internal::array_run_container_intersection
  - roaring::internal::run_bitset_container_intersection
  - roaring::internal::array_run_container_intersection_cardinality
  - roaring::internal::run_bitset_container_intersection_cardinality
  - roaring::internal::array_run_container_intersect
  - roaring::internal::run_bitset_container_intersect
  - roaring::internal::bitset_bitset_container_intersection
  - roaring::internal::bitset_bitset_container_intersection_inplace
  - roaring::internal::array_container_negation
  - roaring::internal::bitset_container_negation
  - roaring::internal::bitset_container_negation_inplace
  - roaring::internal::run_container_negation
  - roaring::internal::run_container_negation_inplace
  - roaring::internal::array_container_negation_range
  - roaring::internal::array_container_negation_range_inplace
  - roaring::internal::bitset_container_negation_range
  - roaring::internal::bitset_container_negation_range_inplace
  - roaring::internal::run_container_negation_range
  - roaring::internal::run_container_negation_range_inplace
  - roaring::internal::array_container_negation
  - roaring::internal::bitset_container_negation
  - roaring::internal::bitset_container_negation_inplace
  - roaring::internal::run_container_negation
  - roaring::internal::run_container_negation_inplace
  - roaring::internal::array_container_negation_range
  - roaring::internal::array_container_negation_range_inplace
  - roaring::internal::bitset_container_negation_range
  - roaring::internal::bitset_container_negation_range_inplace
  - roaring::internal::run_container_negation_range
  - roaring::internal::run_container_negation_range_inplace
  - roaring::internal::array_container_negation
  - roaring::internal::bitset_container_negation
  - roaring::internal::bitset_container_negation_inplace
  - roaring::internal::run_container_negation
  - roaring::internal::run_container_negation_inplace
  - roaring::internal::array_container_negation_range
  - roaring::internal::array_container_negation_range_inplace
  - roaring::internal::bitset_container_negation_range
  - roaring::internal::bitset_container_negation_range_inplace
  - roaring::internal::run_container_negation_range
  - roaring::internal::run_container_negation_range_inplace
  - roaring::internal::array_container_negation
  - roaring::internal::bitset_container_negation
  - roaring::internal::bitset_container_negation_inplace
  - roaring::internal::run_container_negation
  - roaring::internal::run_container_negation_inplace
  - roaring::internal::array_container_negation_range
  - roaring::internal::array_container_negation_range_inplace
  - roaring::internal::bitset_container_negation_range
  - roaring::internal::bitset_container_negation_range_inplace
  - roaring::internal::run_container_negation_range
  - roaring::internal::run_container_negation_range_inplace
  - roaring::internal::array_container_is_subset_bitset
  - roaring::internal::run_container_is_subset_array
  - roaring::internal::array_container_is_subset_run
  - roaring::internal::run_container_is_subset_bitset
  - roaring::internal::bitset_container_is_subset_run
  - roaring::internal::array_container_is_subset_bitset
  - roaring::internal::run_container_is_subset_array
  - roaring::internal::array_container_is_subset_run
  - roaring::internal::run_container_is_subset_bitset
  - roaring::internal::bitset_container_is_subset_run
  - roaring::internal::array_container_is_subset_bitset
  - roaring::internal::run_container_is_subset_array
  - roaring::internal::array_container_is_subset_run
  - roaring::internal::run_container_is_subset_bitset
  - roaring::internal::bitset_container_is_subset_run
  - roaring::internal::array_container_is_subset_bitset
  - roaring::internal::run_container_is_subset_array
  - roaring::internal::array_container_is_subset_run
  - roaring::internal::run_container_is_subset_bitset
  - roaring::internal::bitset_container_is_subset_run
  - roaring::internal::array_bitset_container_union
  - roaring::internal::array_bitset_container_lazy_union
  - roaring::internal::run_bitset_container_union
  - roaring::internal::run_bitset_container_lazy_union
  - roaring::internal::array_run_container_union
  - roaring::internal::array_run_container_inplace_union
  - roaring::internal::array_array_container_union
  - roaring::internal::array_array_container_inplace_union
  - roaring::internal::array_array_container_lazy_union
  - roaring::internal::array_array_container_lazy_inplace_union
  - roaring::internal::array_bitset_container_union
  - roaring::internal::array_bitset_container_lazy_union
  - roaring::internal::run_bitset_container_union
  - roaring::internal::run_bitset_container_lazy_union
  - roaring::internal::array_run_container_union
  - roaring::internal::array_run_container_inplace_union
  - roaring::internal::array_array_container_union
  - roaring::internal::array_array_container_inplace_union
  - roaring::internal::array_array_container_lazy_union
  - roaring::internal::array_array_container_lazy_inplace_union
  - roaring::internal::array_bitset_container_union
  - roaring::internal::array_bitset_container_lazy_union
  - roaring::internal::run_bitset_container_union
  - roaring::internal::run_bitset_container_lazy_union
  - roaring::internal::array_run_container_union
  - roaring::internal::array_run_container_inplace_union
  - roaring::internal::array_array_container_union
  - roaring::internal::array_array_container_inplace_union
  - roaring::internal::array_array_container_lazy_union
  - roaring::internal::array_array_container_lazy_inplace_union
  - roaring::internal::array_bitset_container_union
  - roaring::internal::array_bitset_container_lazy_union
  - roaring::internal::run_bitset_container_union
  - roaring::internal::run_bitset_container_lazy_union
  - roaring::internal::array_run_container_union
  - roaring::internal::array_run_container_inplace_union
  - roaring::internal::array_array_container_union
  - roaring::internal::array_array_container_inplace_union
  - roaring::internal::array_array_container_lazy_union
  - roaring::internal::array_array_container_lazy_inplace_union
  - roaring::internal::array_bitset_container_xor
  - roaring::internal::array_bitset_container_lazy_xor
  - roaring::internal::run_bitset_container_xor
  - roaring::internal::run_bitset_container_lazy_xor
  - roaring::internal::array_run_container_xor
  - roaring::internal::array_run_container_lazy_xor
  - roaring::internal::run_run_container_xor
  - roaring::internal::array_array_container_xor
  - roaring::internal::array_array_container_lazy_xor
  - roaring::internal::bitset_bitset_container_xor
  - roaring::internal::bitset_array_container_ixor
  - roaring::internal::bitset_bitset_container_ixor
  - roaring::internal::array_bitset_container_ixor
  - roaring::internal::run_bitset_container_ixor
  - roaring::internal::bitset_run_container_ixor
  - roaring::internal::array_run_container_ixor
  - roaring::internal::run_array_container_ixor
  - roaring::internal::array_array_container_ixor
  - roaring::internal::run_run_container_ixor
  - roaring::internal::array_bitset_container_xor
  - roaring::internal::array_bitset_container_lazy_xor
  - roaring::internal::run_bitset_container_xor
  - roaring::internal::run_bitset_container_lazy_xor
  - roaring::internal::array_run_container_xor
  - roaring::internal::array_run_container_lazy_xor
  - roaring::internal::run_run_container_xor
  - roaring::internal::array_array_container_xor
  - roaring::internal::array_array_container_lazy_xor
  - roaring::internal::bitset_bitset_container_xor
  - roaring::internal::bitset_array_container_ixor
  - roaring::internal::bitset_bitset_container_ixor
  - roaring::internal::array_bitset_container_ixor
  - roaring::internal::run_bitset_container_ixor
  - roaring::internal::bitset_run_container_ixor
  - roaring::internal::array_run_container_ixor
  - roaring::internal::run_array_container_ixor
  - roaring::internal::array_array_container_ixor
  - roaring::internal::run_run_container_ixor
  - roaring::internal::array_bitset_container_xor
  - roaring::internal::array_bitset_container_lazy_xor
  - roaring::internal::run_bitset_container_xor
  - roaring::internal::run_bitset_container_lazy_xor
  - roaring::internal::array_run_container_xor
  - roaring::internal::array_run_container_lazy_xor
  - roaring::internal::run_run_container_xor
  - roaring::internal::array_array_container_xor
  - roaring::internal::array_array_container_lazy_xor
  - roaring::internal::bitset_bitset_container_xor
  - roaring::internal::bitset_array_container_ixor
  - roaring::internal::bitset_bitset_container_ixor
  - roaring::internal::array_bitset_container_ixor
  - roaring::internal::run_bitset_container_ixor
  - roaring::internal::bitset_run_container_ixor
  - roaring::internal::array_run_container_ixor
  - roaring::internal::run_array_container_ixor
  - roaring::internal::array_array_container_ixor
  - roaring::internal::run_run_container_ixor
  - roaring::internal::array_bitset_container_xor
  - roaring::internal::array_bitset_container_lazy_xor
  - roaring::internal::run_bitset_container_xor
  - roaring::internal::run_bitset_container_lazy_xor
  - roaring::internal::array_run_container_xor
  - roaring::internal::array_run_container_lazy_xor
  - roaring::internal::run_run_container_xor
  - roaring::internal::array_array_container_xor
  - roaring::internal::array_array_container_lazy_xor
  - roaring::internal::bitset_bitset_container_xor
  - roaring::internal::bitset_array_container_ixor
  - roaring::internal::bitset_bitset_container_ixor
  - roaring::internal::array_bitset_container_ixor
  - roaring::internal::run_bitset_container_ixor
  - roaring::internal::bitset_run_container_ixor
  - roaring::internal::array_run_container_ixor
  - roaring::internal::run_array_container_ixor
  - roaring::internal::array_array_container_ixor
  - roaring::internal::run_run_container_ixor
  - roaring::internal::run_container_add
  - roaring::internal::run_container_create_given_capacity
  - roaring::internal::run_container_shrink_to_fit
  - roaring::internal::run_container_create
  - roaring::internal::run_container_clone
  - roaring::internal::run_container_offset
  - roaring::internal::run_container_free
  - roaring::internal::run_container_grow
  - roaring::internal::run_container_copy
  - roaring::internal::run_container_union
  - roaring::internal::run_container_union_inplace
  - roaring::internal::run_container_xor
  - roaring::internal::run_container_intersection
  - roaring::internal::run_container_intersection_cardinality
  - roaring::internal::run_container_intersect
  - roaring::internal::run_container_andnot
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::run_container_printf
  - roaring::internal::run_container_printf_as_uint32_array
  - roaring::internal::run_container_write
  - roaring::internal::run_container_read
  - roaring::internal::run_container_iterate
  - roaring::internal::run_container_iterate64
  - roaring::internal::run_container_is_subset
  - roaring::internal::run_container_smart_append_exclusive
  - roaring::internal::run_container_select
  - roaring::internal::run_container_rank
  - roaring::internal::_avx2_run_container_cardinality
  - roaring::internal::_scalar_run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring::internal::run_container_add
  - roaring::internal::run_container_create_given_capacity
  - roaring::internal::run_container_shrink_to_fit
  - roaring::internal::run_container_create
  - roaring::internal::run_container_clone
  - roaring::internal::run_container_offset
  - roaring::internal::run_container_free
  - roaring::internal::run_container_grow
  - roaring::internal::run_container_copy
  - roaring::internal::run_container_union
  - roaring::internal::run_container_union_inplace
  - roaring::internal::run_container_xor
  - roaring::internal::run_container_intersection
  - roaring::internal::run_container_intersection_cardinality
  - roaring::internal::run_container_intersect
  - roaring::internal::run_container_andnot
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::run_container_printf
  - roaring::internal::run_container_printf_as_uint32_array
  - roaring::internal::run_container_write
  - roaring::internal::run_container_read
  - roaring::internal::run_container_iterate
  - roaring::internal::run_container_iterate64
  - roaring::internal::run_container_is_subset
  - roaring::internal::run_container_smart_append_exclusive
  - roaring::internal::run_container_select
  - roaring::internal::run_container_rank
  - roaring::internal::_avx2_run_container_cardinality
  - roaring::internal::_scalar_run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring::internal::run_container_add
  - roaring::internal::run_container_create_given_capacity
  - roaring::internal::run_container_shrink_to_fit
  - roaring::internal::run_container_create
  - roaring::internal::run_container_clone
  - roaring::internal::run_container_offset
  - roaring::internal::run_container_free
  - roaring::internal::run_container_grow
  - roaring::internal::run_container_copy
  - roaring::internal::run_container_union
  - roaring::internal::run_container_union_inplace
  - roaring::internal::run_container_xor
  - roaring::internal::run_container_intersection
  - roaring::internal::run_container_intersection_cardinality
  - roaring::internal::run_container_intersect
  - roaring::internal::run_container_andnot
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::run_container_printf
  - roaring::internal::run_container_printf_as_uint32_array
  - roaring::internal::run_container_write
  - roaring::internal::run_container_read
  - roaring::internal::run_container_iterate
  - roaring::internal::run_container_iterate64
  - roaring::internal::run_container_is_subset
  - roaring::internal::run_container_smart_append_exclusive
  - roaring::internal::run_container_select
  - roaring::internal::run_container_rank
  - roaring::internal::_avx2_run_container_cardinality
  - roaring::internal::_scalar_run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring::internal::run_container_add
  - roaring::internal::run_container_create_given_capacity
  - roaring::internal::run_container_shrink_to_fit
  - roaring::internal::run_container_create
  - roaring::internal::run_container_clone
  - roaring::internal::run_container_offset
  - roaring::internal::run_container_free
  - roaring::internal::run_container_grow
  - roaring::internal::run_container_copy
  - roaring::internal::run_container_union
  - roaring::internal::run_container_union_inplace
  - roaring::internal::run_container_xor
  - roaring::internal::run_container_intersection
  - roaring::internal::run_container_intersection_cardinality
  - roaring::internal::run_container_intersect
  - roaring::internal::run_container_andnot
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::run_container_printf
  - roaring::internal::run_container_printf_as_uint32_array
  - roaring::internal::run_container_write
  - roaring::internal::run_container_read
  - roaring::internal::run_container_iterate
  - roaring::internal::run_container_iterate64
  - roaring::internal::run_container_is_subset
  - roaring::internal::run_container_smart_append_exclusive
  - roaring::internal::run_container_select
  - roaring::internal::run_container_rank
  - roaring::internal::_avx2_run_container_cardinality
  - roaring::internal::_scalar_run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring_bitmap_aligned_malloc
  - roaring_bitmap_aligned_free
  - roaring_init_memory_hook
  - roaring_malloc
  - roaring_realloc
  - roaring_calloc
  - roaring_free
  - roaring_aligned_malloc
  - roaring_aligned_free
  - roaring::api::is_cow
  - roaring::api::is_frozen
  - roaring::api::containerptr_roaring_bitmap_add
  - roaring::api::roaring_bitmap_create_with_capacity
  - roaring::api::roaring_bitmap_init_with_capacity
  - roaring::api::add_bulk_impl
  - roaring::api::roaring_bitmap_add_many
  - roaring::api::roaring_bitmap_add_bulk
  - roaring::api::roaring_bitmap_contains_bulk
  - roaring::api::roaring_bitmap_of_ptr
  - roaring::api::roaring_bitmap_of
  - roaring::api::minimum_uint32
  - roaring::api::minimum_uint64
  - roaring::api::roaring_bitmap_from_range
  - roaring::api::roaring_bitmap_add_range_closed
  - roaring::api::roaring_bitmap_remove_range_closed
  - roaring::api::roaring_bitmap_printf
  - roaring::api::roaring_bitmap_printf_describe
  - roaring::api::min_max_sum_fnc
  - roaring::api::roaring_bitmap_statistics
  - roaring::api::roaring_bitmap_copy
  - roaring::api::roaring_bitmap_overwrite
  - roaring::api::roaring_bitmap_free
  - roaring::api::roaring_bitmap_clear
  - roaring::api::roaring_bitmap_add
  - roaring::api::roaring_bitmap_add_checked
  - roaring::api::roaring_bitmap_remove
  - roaring::api::roaring_bitmap_remove_checked
  - roaring::api::roaring_bitmap_remove_many
  - roaring::api::roaring_bitmap_and
  - roaring::api::roaring_bitmap_or_many
  - roaring::api::roaring_bitmap_xor_many
  - roaring::api::roaring_bitmap_and_inplace
  - roaring::api::roaring_bitmap_or
  - roaring::api::roaring_bitmap_or_inplace
  - roaring::api::roaring_bitmap_xor
  - roaring::api::roaring_bitmap_xor_inplace
  - roaring::api::roaring_bitmap_andnot
  - roaring::api::roaring_bitmap_andnot_inplace
  - roaring::api::roaring_bitmap_get_cardinality
  - roaring::api::roaring_bitmap_range_cardinality
  - roaring::api::roaring_bitmap_is_empty
  - roaring::api::roaring_bitmap_to_uint32_array
  - roaring::api::roaring_bitmap_range_uint32_array
  - roaring::api::roaring_bitmap_run_optimize
  - roaring::api::roaring_bitmap_shrink_to_fit
  - roaring::api::roaring_bitmap_remove_run_compression
  - roaring::api::roaring_bitmap_serialize
  - roaring::api::roaring_bitmap_size_in_bytes
  - roaring::api::roaring_bitmap_portable_size_in_bytes
  - roaring::api::roaring_bitmap_portable_deserialize_safe
  - roaring::api::roaring_bitmap_portable_deserialize
  - roaring::api::roaring_bitmap_portable_deserialize_size
  - roaring::api::roaring_bitmap_portable_serialize
  - roaring::api::roaring_bitmap_deserialize
  - roaring::api::roaring_iterate
  - roaring::api::roaring_iterate64
  - roaring::api::iter_new_container_partial_init
  - roaring::api::loadfirstvalue
  - roaring::api::loadlastvalue
  - roaring::api::loadfirstvalue_largeorequal
  - roaring::api::roaring_init_iterator
  - roaring::api::roaring_init_iterator_last
  - roaring::api::roaring_create_iterator
  - roaring::api::roaring_copy_uint32_iterator
  - roaring::api::roaring_move_uint32_iterator_equalorlarger
  - roaring::api::roaring_advance_uint32_iterator
  - roaring::api::roaring_previous_uint32_iterator
  - roaring::api::roaring_read_uint32_iterator
  - roaring::api::roaring_free_uint32_iterator
  - roaring::api::roaring_bitmap_equals
  - roaring::api::roaring_bitmap_is_subset
  - roaring::api::insert_flipped_container
  - roaring::api::inplace_flip_container
  - roaring::api::insert_fully_flipped_container
  - roaring::api::inplace_fully_flip_container
  - roaring::api::roaring_bitmap_flip
  - roaring::api::roaring_bitmap_flip_inplace
  - roaring::api::offset_append_with_merge
  - roaring::api::roaring_bitmap_add_offset
  - roaring::api::roaring_bitmap_lazy_or
  - roaring::api::roaring_bitmap_lazy_or_inplace
  - roaring::api::roaring_bitmap_lazy_xor
  - roaring::api::roaring_bitmap_lazy_xor_inplace
  - roaring::api::roaring_bitmap_repair_after_lazy
  - roaring::api::roaring_bitmap_rank
  - roaring::api::roaring_bitmap_minimum
  - roaring::api::roaring_bitmap_maximum
  - roaring::api::roaring_bitmap_select
  - roaring::api::roaring_bitmap_intersect
  - roaring::api::roaring_bitmap_intersect_with_range
  - roaring::api::roaring_bitmap_and_cardinality
  - roaring::api::roaring_bitmap_jaccard_index
  - roaring::api::roaring_bitmap_or_cardinality
  - roaring::api::roaring_bitmap_andnot_cardinality
  - roaring::api::roaring_bitmap_xor_cardinality
  - roaring::api::roaring_bitmap_contains
  - roaring::api::roaring_bitmap_contains_range
  - roaring::api::roaring_bitmap_is_strict_subset
  - roaring::api::roaring_bitmap_frozen_size_in_bytes
  - roaring::api::arena_alloc
  - roaring::api::roaring_bitmap_frozen_serialize
  - roaring::api::roaring_bitmap_frozen_view
  - roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const char *buf)
  - roaring::api::is_cow
  - roaring::api::is_frozen
  - roaring::api::containerptr_roaring_bitmap_add
  - roaring::api::roaring_bitmap_create_with_capacity
  - roaring::api::roaring_bitmap_init_with_capacity
  - roaring::api::add_bulk_impl
  - roaring::api::roaring_bitmap_add_many
  - roaring::api::roaring_bitmap_add_bulk
  - roaring::api::roaring_bitmap_contains_bulk
  - roaring::api::roaring_bitmap_of_ptr
  - roaring::api::roaring_bitmap_of
  - roaring::api::minimum_uint32
  - roaring::api::minimum_uint64
  - roaring::api::roaring_bitmap_from_range
  - roaring::api::roaring_bitmap_add_range_closed
  - roaring::api::roaring_bitmap_remove_range_closed
  - roaring::api::roaring_bitmap_printf
  - roaring::api::roaring_bitmap_printf_describe
  - roaring::api::min_max_sum_fnc
  - roaring::api::roaring_bitmap_statistics
  - roaring::api::roaring_bitmap_copy
  - roaring::api::roaring_bitmap_overwrite
  - roaring::api::roaring_bitmap_free
  - roaring::api::roaring_bitmap_clear
  - roaring::api::roaring_bitmap_add
  - roaring::api::roaring_bitmap_add_checked
  - roaring::api::roaring_bitmap_remove
  - roaring::api::roaring_bitmap_remove_checked
  - roaring::api::roaring_bitmap_remove_many
  - roaring::api::roaring_bitmap_and
  - roaring::api::roaring_bitmap_or_many
  - roaring::api::roaring_bitmap_xor_many
  - roaring::api::roaring_bitmap_and_inplace
  - roaring::api::roaring_bitmap_or
  - roaring::api::roaring_bitmap_or_inplace
  - roaring::api::roaring_bitmap_xor
  - roaring::api::roaring_bitmap_xor_inplace
  - roaring::api::roaring_bitmap_andnot
  - roaring::api::roaring_bitmap_andnot_inplace
  - roaring::api::roaring_bitmap_get_cardinality
  - roaring::api::roaring_bitmap_range_cardinality
  - roaring::api::roaring_bitmap_is_empty
  - roaring::api::roaring_bitmap_to_uint32_array
  - roaring::api::roaring_bitmap_range_uint32_array
  - roaring::api::roaring_bitmap_run_optimize
  - roaring::api::roaring_bitmap_shrink_to_fit
  - roaring::api::roaring_bitmap_remove_run_compression
  - roaring::api::roaring_bitmap_serialize
  - roaring::api::roaring_bitmap_size_in_bytes
  - roaring::api::roaring_bitmap_portable_size_in_bytes
  - roaring::api::roaring_bitmap_portable_deserialize_safe
  - roaring::api::roaring_bitmap_portable_deserialize
  - roaring::api::roaring_bitmap_portable_deserialize_size
  - roaring::api::roaring_bitmap_portable_serialize
  - roaring::api::roaring_bitmap_deserialize
  - roaring::api::roaring_iterate
  - roaring::api::roaring_iterate64
  - roaring::api::iter_new_container_partial_init
  - roaring::api::loadfirstvalue
  - roaring::api::loadlastvalue
  - roaring::api::loadfirstvalue_largeorequal
  - roaring::api::roaring_init_iterator
  - roaring::api::roaring_init_iterator_last
  - roaring::api::roaring_create_iterator
  - roaring::api::roaring_copy_uint32_iterator
  - roaring::api::roaring_move_uint32_iterator_equalorlarger
  - roaring::api::roaring_advance_uint32_iterator
  - roaring::api::roaring_previous_uint32_iterator
  - roaring::api::roaring_read_uint32_iterator
  - roaring::api::roaring_free_uint32_iterator
  - roaring::api::roaring_bitmap_equals
  - roaring::api::roaring_bitmap_is_subset
  - roaring::api::insert_flipped_container
  - roaring::api::inplace_flip_container
  - roaring::api::insert_fully_flipped_container
  - roaring::api::inplace_fully_flip_container
  - roaring::api::roaring_bitmap_flip
  - roaring::api::roaring_bitmap_flip_inplace
  - roaring::api::offset_append_with_merge
  - roaring::api::roaring_bitmap_add_offset
  - roaring::api::roaring_bitmap_lazy_or
  - roaring::api::roaring_bitmap_lazy_or_inplace
  - roaring::api::roaring_bitmap_lazy_xor
  - roaring::api::roaring_bitmap_lazy_xor_inplace
  - roaring::api::roaring_bitmap_repair_after_lazy
  - roaring::api::roaring_bitmap_rank
  - roaring::api::roaring_bitmap_minimum
  - roaring::api::roaring_bitmap_maximum
  - roaring::api::roaring_bitmap_select
  - roaring::api::roaring_bitmap_intersect
  - roaring::api::roaring_bitmap_intersect_with_range
  - roaring::api::roaring_bitmap_and_cardinality
  - roaring::api::roaring_bitmap_jaccard_index
  - roaring::api::roaring_bitmap_or_cardinality
  - roaring::api::roaring_bitmap_andnot_cardinality
  - roaring::api::roaring_bitmap_xor_cardinality
  - roaring::api::roaring_bitmap_contains
  - roaring::api::roaring_bitmap_contains_range
  - roaring::api::roaring_bitmap_is_strict_subset
  - roaring::api::roaring_bitmap_frozen_size_in_bytes
  - roaring::api::arena_alloc
  - roaring::api::roaring_bitmap_frozen_serialize
  - roaring::api::roaring_bitmap_frozen_view
  - roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const char *buf)
  - roaring::api::is_cow
  - roaring::api::is_frozen
  - roaring::api::containerptr_roaring_bitmap_add
  - roaring::api::roaring_bitmap_create_with_capacity
  - roaring::api::roaring_bitmap_init_with_capacity
  - roaring::api::add_bulk_impl
  - roaring::api::roaring_bitmap_add_many
  - roaring::api::roaring_bitmap_add_bulk
  - roaring::api::roaring_bitmap_contains_bulk
  - roaring::api::roaring_bitmap_of_ptr
  - roaring::api::roaring_bitmap_of
  - roaring::api::minimum_uint32
  - roaring::api::minimum_uint64
  - roaring::api::roaring_bitmap_from_range
  - roaring::api::roaring_bitmap_add_range_closed
  - roaring::api::roaring_bitmap_remove_range_closed
  - roaring::api::roaring_bitmap_printf
  - roaring::api::roaring_bitmap_printf_describe
  - roaring::api::min_max_sum_fnc
  - roaring::api::roaring_bitmap_statistics
  - roaring::api::roaring_bitmap_copy
  - roaring::api::roaring_bitmap_overwrite
  - roaring::api::roaring_bitmap_free
  - roaring::api::roaring_bitmap_clear
  - roaring::api::roaring_bitmap_add
  - roaring::api::roaring_bitmap_add_checked
  - roaring::api::roaring_bitmap_remove
  - roaring::api::roaring_bitmap_remove_checked
  - roaring::api::roaring_bitmap_remove_many
  - roaring::api::roaring_bitmap_and
  - roaring::api::roaring_bitmap_or_many
  - roaring::api::roaring_bitmap_xor_many
  - roaring::api::roaring_bitmap_and_inplace
  - roaring::api::roaring_bitmap_or
  - roaring::api::roaring_bitmap_or_inplace
  - roaring::api::roaring_bitmap_xor
  - roaring::api::roaring_bitmap_xor_inplace
  - roaring::api::roaring_bitmap_andnot
  - roaring::api::roaring_bitmap_andnot_inplace
  - roaring::api::roaring_bitmap_get_cardinality
  - roaring::api::roaring_bitmap_range_cardinality
  - roaring::api::roaring_bitmap_is_empty
  - roaring::api::roaring_bitmap_to_uint32_array
  - roaring::api::roaring_bitmap_range_uint32_array
  - roaring::api::roaring_bitmap_run_optimize
  - roaring::api::roaring_bitmap_shrink_to_fit
  - roaring::api::roaring_bitmap_remove_run_compression
  - roaring::api::roaring_bitmap_serialize
  - roaring::api::roaring_bitmap_size_in_bytes
  - roaring::api::roaring_bitmap_portable_size_in_bytes
  - roaring::api::roaring_bitmap_portable_deserialize_safe
  - roaring::api::roaring_bitmap_portable_deserialize
  - roaring::api::roaring_bitmap_portable_deserialize_size
  - roaring::api::roaring_bitmap_portable_serialize
  - roaring::api::roaring_bitmap_deserialize
  - roaring::api::roaring_iterate
  - roaring::api::roaring_iterate64
  - roaring::api::iter_new_container_partial_init
  - roaring::api::loadfirstvalue
  - roaring::api::loadlastvalue
  - roaring::api::loadfirstvalue_largeorequal
  - roaring::api::roaring_init_iterator
  - roaring::api::roaring_init_iterator_last
  - roaring::api::roaring_create_iterator
  - roaring::api::roaring_copy_uint32_iterator
  - roaring::api::roaring_move_uint32_iterator_equalorlarger
  - roaring::api::roaring_advance_uint32_iterator
  - roaring::api::roaring_previous_uint32_iterator
  - roaring::api::roaring_read_uint32_iterator
  - roaring::api::roaring_free_uint32_iterator
  - roaring::api::roaring_bitmap_equals
  - roaring::api::roaring_bitmap_is_subset
  - roaring::api::insert_flipped_container
  - roaring::api::inplace_flip_container
  - roaring::api::insert_fully_flipped_container
  - roaring::api::inplace_fully_flip_container
  - roaring::api::roaring_bitmap_flip
  - roaring::api::roaring_bitmap_flip_inplace
  - roaring::api::offset_append_with_merge
  - roaring::api::roaring_bitmap_add_offset
  - roaring::api::roaring_bitmap_lazy_or
  - roaring::api::roaring_bitmap_lazy_or_inplace
  - roaring::api::roaring_bitmap_lazy_xor
  - roaring::api::roaring_bitmap_lazy_xor_inplace
  - roaring::api::roaring_bitmap_repair_after_lazy
  - roaring::api::roaring_bitmap_rank
  - roaring::api::roaring_bitmap_minimum
  - roaring::api::roaring_bitmap_maximum
  - roaring::api::roaring_bitmap_select
  - roaring::api::roaring_bitmap_intersect
  - roaring::api::roaring_bitmap_intersect_with_range
  - roaring::api::roaring_bitmap_and_cardinality
  - roaring::api::roaring_bitmap_jaccard_index
  - roaring::api::roaring_bitmap_or_cardinality
  - roaring::api::roaring_bitmap_andnot_cardinality
  - roaring::api::roaring_bitmap_xor_cardinality
  - roaring::api::roaring_bitmap_contains
  - roaring::api::roaring_bitmap_contains_range
  - roaring::api::roaring_bitmap_is_strict_subset
  - roaring::api::roaring_bitmap_frozen_size_in_bytes
  - roaring::api::arena_alloc
  - roaring::api::roaring_bitmap_frozen_serialize
  - roaring::api::roaring_bitmap_frozen_view
  - roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const char *buf)
  - roaring::api::is_cow
  - roaring::api::is_frozen
  - roaring::api::containerptr_roaring_bitmap_add
  - roaring::api::roaring_bitmap_create_with_capacity
  - roaring::api::roaring_bitmap_init_with_capacity
  - roaring::api::add_bulk_impl
  - roaring::api::roaring_bitmap_add_many
  - roaring::api::roaring_bitmap_add_bulk
  - roaring::api::roaring_bitmap_contains_bulk
  - roaring::api::roaring_bitmap_of_ptr
  - roaring::api::roaring_bitmap_of
  - roaring::api::minimum_uint32
  - roaring::api::minimum_uint64
  - roaring::api::roaring_bitmap_from_range
  - roaring::api::roaring_bitmap_add_range_closed
  - roaring::api::roaring_bitmap_remove_range_closed
  - roaring::api::roaring_bitmap_printf
  - roaring::api::roaring_bitmap_printf_describe
  - roaring::api::min_max_sum_fnc
  - roaring::api::roaring_bitmap_statistics
  - roaring::api::roaring_bitmap_copy
  - roaring::api::roaring_bitmap_overwrite
  - roaring::api::roaring_bitmap_free
  - roaring::api::roaring_bitmap_clear
  - roaring::api::roaring_bitmap_add
  - roaring::api::roaring_bitmap_add_checked
  - roaring::api::roaring_bitmap_remove
  - roaring::api::roaring_bitmap_remove_checked
  - roaring::api::roaring_bitmap_remove_many
  - roaring::api::roaring_bitmap_and
  - roaring::api::roaring_bitmap_or_many
  - roaring::api::roaring_bitmap_xor_many
  - roaring::api::roaring_bitmap_and_inplace
  - roaring::api::roaring_bitmap_or
  - roaring::api::roaring_bitmap_or_inplace
  - roaring::api::roaring_bitmap_xor
  - roaring::api::roaring_bitmap_xor_inplace
  - roaring::api::roaring_bitmap_andnot
  - roaring::api::roaring_bitmap_andnot_inplace
  - roaring::api::roaring_bitmap_get_cardinality
  - roaring::api::roaring_bitmap_range_cardinality
  - roaring::api::roaring_bitmap_is_empty
  - roaring::api::roaring_bitmap_to_uint32_array
  - roaring::api::roaring_bitmap_range_uint32_array
  - roaring::api::roaring_bitmap_run_optimize
  - roaring::api::roaring_bitmap_shrink_to_fit
  - roaring::api::roaring_bitmap_remove_run_compression
  - roaring::api::roaring_bitmap_serialize
  - roaring::api::roaring_bitmap_size_in_bytes
  - roaring::api::roaring_bitmap_portable_size_in_bytes
  - roaring::api::roaring_bitmap_portable_deserialize_safe
  - roaring::api::roaring_bitmap_portable_deserialize
  - roaring::api::roaring_bitmap_portable_deserialize_size
  - roaring::api::roaring_bitmap_portable_serialize
  - roaring::api::roaring_bitmap_deserialize
  - roaring::api::roaring_iterate
  - roaring::api::roaring_iterate64
  - roaring::api::iter_new_container_partial_init
  - roaring::api::loadfirstvalue
  - roaring::api::loadlastvalue
  - roaring::api::loadfirstvalue_largeorequal
  - roaring::api::roaring_init_iterator
  - roaring::api::roaring_init_iterator_last
  - roaring::api::roaring_create_iterator
  - roaring::api::roaring_copy_uint32_iterator
  - roaring::api::roaring_move_uint32_iterator_equalorlarger
  - roaring::api::roaring_advance_uint32_iterator
  - roaring::api::roaring_previous_uint32_iterator
  - roaring::api::roaring_read_uint32_iterator
  - roaring::api::roaring_free_uint32_iterator
  - roaring::api::roaring_bitmap_equals
  - roaring::api::roaring_bitmap_is_subset
  - roaring::api::insert_flipped_container
  - roaring::api::inplace_flip_container
  - roaring::api::insert_fully_flipped_container
  - roaring::api::inplace_fully_flip_container
  - roaring::api::roaring_bitmap_flip
  - roaring::api::roaring_bitmap_flip_inplace
  - roaring::api::offset_append_with_merge
  - roaring::api::roaring_bitmap_add_offset
  - roaring::api::roaring_bitmap_lazy_or
  - roaring::api::roaring_bitmap_lazy_or_inplace
  - roaring::api::roaring_bitmap_lazy_xor
  - roaring::api::roaring_bitmap_lazy_xor_inplace
  - roaring::api::roaring_bitmap_repair_after_lazy
  - roaring::api::roaring_bitmap_rank
  - roaring::api::roaring_bitmap_minimum
  - roaring::api::roaring_bitmap_maximum
  - roaring::api::roaring_bitmap_select
  - roaring::api::roaring_bitmap_intersect
  - roaring::api::roaring_bitmap_intersect_with_range
  - roaring::api::roaring_bitmap_and_cardinality
  - roaring::api::roaring_bitmap_jaccard_index
  - roaring::api::roaring_bitmap_or_cardinality
  - roaring::api::roaring_bitmap_andnot_cardinality
  - roaring::api::roaring_bitmap_xor_cardinality
  - roaring::api::roaring_bitmap_contains
  - roaring::api::roaring_bitmap_contains_range
  - roaring::api::roaring_bitmap_is_strict_subset
  - roaring::api::roaring_bitmap_frozen_size_in_bytes
  - roaring::api::arena_alloc
  - roaring::api::roaring_bitmap_frozen_serialize
  - roaring::api::roaring_bitmap_frozen_view
  - roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const char *buf)
  - roaring::internal::realloc_array
  - roaring::internal::ra_init_with_capacity
  - roaring::internal::ra_shrink_to_fit
  - roaring::internal::ra_init
  - roaring::internal::ra_overwrite
  - roaring::internal::ra_clear_containers
  - roaring::internal::ra_reset
  - roaring::internal::ra_clear_without_containers
  - roaring::internal::ra_clear
  - roaring::internal::extend_array
  - roaring::internal::ra_append
  - roaring::internal::ra_append_copy
  - roaring::internal::ra_append_copies_until
  - roaring::internal::ra_append_copy_range
  - roaring::internal::ra_append_copies_after
  - roaring::internal::ra_append_move_range
  - roaring::internal::ra_append_range
  - roaring::internal::ra_get_container
  - roaring::internal::ra_advance_until_freeing
  - roaring::internal::ra_insert_new_key_value_at
  - roaring::internal::ra_downsize
  - roaring::internal::ra_remove_at_index
  - roaring::internal::ra_remove_at_index_and_free
  - roaring::internal::ra_copy_range
  - roaring::internal::ra_shift_tail
  - roaring::internal::ra_to_uint32_array
  - roaring::internal::ra_range_uint32_array
  - roaring::internal::ra_has_run_container
  - roaring::internal::ra_portable_header_size
  - roaring::internal::ra_portable_size_in_bytes
  - roaring::internal::ra_portable_serialize
  - roaring::internal::ra_portable_deserialize_size
  - roaring::internal::ra_portable_deserialize
  - roaring::internal::realloc_array
  - roaring::internal::ra_init_with_capacity
  - roaring::internal::ra_shrink_to_fit
  - roaring::internal::ra_init
  - roaring::internal::ra_overwrite
  - roaring::internal::ra_clear_containers
  - roaring::internal::ra_reset
  - roaring::internal::ra_clear_without_containers
  - roaring::internal::ra_clear
  - roaring::internal::extend_array
  - roaring::internal::ra_append
  - roaring::internal::ra_append_copy
  - roaring::internal::ra_append_copies_until
  - roaring::internal::ra_append_copy_range
  - roaring::internal::ra_append_copies_after
  - roaring::internal::ra_append_move_range
  - roaring::internal::ra_append_range
  - roaring::internal::ra_get_container
  - roaring::internal::ra_advance_until_freeing
  - roaring::internal::ra_insert_new_key_value_at
  - roaring::internal::ra_downsize
  - roaring::internal::ra_remove_at_index
  - roaring::internal::ra_remove_at_index_and_free
  - roaring::internal::ra_copy_range
  - roaring::internal::ra_shift_tail
  - roaring::internal::ra_to_uint32_array
  - roaring::internal::ra_range_uint32_array
  - roaring::internal::ra_has_run_container
  - roaring::internal::ra_portable_header_size
  - roaring::internal::ra_portable_size_in_bytes
  - roaring::internal::ra_portable_serialize
  - roaring::internal::ra_portable_deserialize_size
  - roaring::internal::ra_portable_deserialize
  - roaring::internal::realloc_array
  - roaring::internal::ra_init_with_capacity
  - roaring::internal::ra_shrink_to_fit
  - roaring::internal::ra_init
  - roaring::internal::ra_overwrite
  - roaring::internal::ra_clear_containers
  - roaring::internal::ra_reset
  - roaring::internal::ra_clear_without_containers
  - roaring::internal::ra_clear
  - roaring::internal::extend_array
  - roaring::internal::ra_append
  - roaring::internal::ra_append_copy
  - roaring::internal::ra_append_copies_until
  - roaring::internal::ra_append_copy_range
  - roaring::internal::ra_append_copies_after
  - roaring::internal::ra_append_move_range
  - roaring::internal::ra_append_range
  - roaring::internal::ra_get_container
  - roaring::internal::ra_advance_until_freeing
  - roaring::internal::ra_insert_new_key_value_at
  - roaring::internal::ra_downsize
  - roaring::internal::ra_remove_at_index
  - roaring::internal::ra_remove_at_index_and_free
  - roaring::internal::ra_copy_range
  - roaring::internal::ra_shift_tail
  - roaring::internal::ra_to_uint32_array
  - roaring::internal::ra_range_uint32_array
  - roaring::internal::ra_has_run_container
  - roaring::internal::ra_portable_header_size
  - roaring::internal::ra_portable_size_in_bytes
  - roaring::internal::ra_portable_serialize
  - roaring::internal::ra_portable_deserialize_size
  - roaring::internal::ra_portable_deserialize
  - roaring::internal::realloc_array
  - roaring::internal::ra_init_with_capacity
  - roaring::internal::ra_shrink_to_fit
  - roaring::internal::ra_init
  - roaring::internal::ra_overwrite
  - roaring::internal::ra_clear_containers
  - roaring::internal::ra_reset
  - roaring::internal::ra_clear_without_containers
  - roaring::internal::ra_clear
  - roaring::internal::extend_array
  - roaring::internal::ra_append
  - roaring::internal::ra_append_copy
  - roaring::internal::ra_append_copies_until
  - roaring::internal::ra_append_copy_range
  - roaring::internal::ra_append_copies_after
  - roaring::internal::ra_append_move_range
  - roaring::internal::ra_append_range
  - roaring::internal::ra_get_container
  - roaring::internal::ra_advance_until_freeing
  - roaring::internal::ra_insert_new_key_value_at
  - roaring::internal::ra_downsize
  - roaring::internal::ra_remove_at_index
  - roaring::internal::ra_remove_at_index_and_free
  - roaring::internal::ra_copy_range
  - roaring::internal::ra_shift_tail
  - roaring::internal::ra_to_uint32_array
  - roaring::internal::ra_range_uint32_array
  - roaring::internal::ra_has_run_container
  - roaring::internal::ra_portable_header_size
  - roaring::internal::ra_portable_size_in_bytes
  - roaring::internal::ra_portable_serialize
  - roaring::internal::ra_portable_deserialize_size
  - roaring::internal::ra_portable_deserialize
  - roaring::api::compare
  - roaring::api::pq_add
  - roaring::api::pq_free
  - roaring::api::percolate_down
  - roaring::api::create_pq
  - roaring::api::pq_poll
  - roaring::api::lazy_or_from_lazy_inputs
  - roaring::api::roaring_bitmap_or_many_heap
  - roaring::api::compare
  - roaring::api::pq_add
  - roaring::api::pq_free
  - roaring::api::percolate_down
  - roaring::api::create_pq
  - roaring::api::pq_poll
  - roaring::api::lazy_or_from_lazy_inputs
  - roaring::api::roaring_bitmap_or_many_heap
  - roaring::api::compare
  - roaring::api::pq_add
  - roaring::api::pq_free
  - roaring::api::percolate_down
  - roaring::api::create_pq
  - roaring::api::pq_poll
  - roaring::api::lazy_or_from_lazy_inputs
  - roaring::api::roaring_bitmap_or_many_heap
  - roaring::api::compare
  - roaring::api::pq_add
  - roaring::api::pq_free
  - roaring::api::percolate_down
  - roaring::api::create_pq
  - roaring::api::pq_poll
  - roaring::api::lazy_or_from_lazy_inputs
  - roaring::api::roaring_bitmap_or_many_heap
  source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
  types:
    enum:
    - enumerators:
      - name: CROARING_DEFAULT
        value: '0x0'
      - name: CROARING_PCLMULQDQ
        value: '0x10'
      - name: CROARING_SSE42
        value: '0x8'
      - name: CROARING_AVX2
        value: '0x4'
      - name: CROARING_NEON
        value: '0x1'
      - name: CROARING_BMI1
        value: '0x20'
      - name: CROARING_BMI2
        value: '0x40'
      - name: CROARING_ALTIVEC
        value: '0x80'
      - name: CROARING_UNINITIALIZED
        value: '0x8000'
      item_type: enum
      name: croaring_instruction_set
      pos:
        line_end: 539
        line_start: 529
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    preproc_defs:
    - item_type: preproc_def
      name: __STDC_FORMAT_MACROS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_VISUAL_STUDIO
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_CLANG_VISUAL_STUDIO
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_REGULAR_VISUAL_STUDIO
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: _POSIX_C_SOURCE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 200809L
    - item_type: preproc_def
      name: _XOPEN_SOURCE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '700'
    - item_type: preproc_def
      name: __restrict__
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: __restrict
    - item_type: preproc_def
      name: CROARING_IS_X64
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_INLINE_ASM
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: WARN_UNUSED
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: IS_BIG_ENDIAN
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: (*(uint16_t *)"\0\xff" < 0x100)
    - item_type: preproc_def
      name: CROARING_UNTARGET_REGION
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: _Pragma("clang attribute pop")
    - item_type: preproc_def
      name: CROARING_UNTARGET_REGION
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: _Pragma("GCC pop_options")
    - item_type: preproc_def
      name: CROARING_TARGET_AVX2
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: CROARING_TARGET_REGION("avx2,bmi,pclmul,lzcnt")
    - item_type: preproc_def
      name: ALLOW_UNALIGNED
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: __attribute__((no_sanitize("alignment")))
    - item_type: preproc_def
      name: CROARING_IS_BIG_ENDIAN
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
    - item_type: preproc_def
      name: CROARING_IS_BIG_ENDIAN
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CROARING_IS_BIG_ENDIAN
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CROARING_IS_BIG_ENDIAN
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CROARING_IS_BIG_ENDIAN
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: BITSET_CONTAINER_TYPE
      pos:
        line_end: 4322
        line_start: 4321
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ARRAY_CONTAINER_TYPE
      pos:
        line_end: 4323
        line_start: 4322
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RUN_CONTAINER_TYPE
      pos:
        line_end: 4324
        line_start: 4323
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SHARED_CONTAINER_TYPE
      pos:
        line_end: 4325
        line_start: 4324
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BITSET_CONTAINER_TYPE
      pos:
        line_end: 4322
        line_start: 4321
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ARRAY_CONTAINER_TYPE
      pos:
        line_end: 4323
        line_start: 4322
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RUN_CONTAINER_TYPE
      pos:
        line_end: 4324
        line_start: 4323
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SHARED_CONTAINER_TYPE
      pos:
        line_end: 4325
        line_start: 4324
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BITSET_CONTAINER_TYPE
      pos:
        line_end: 4322
        line_start: 4321
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ARRAY_CONTAINER_TYPE
      pos:
        line_end: 4323
        line_start: 4322
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RUN_CONTAINER_TYPE
      pos:
        line_end: 4324
        line_start: 4323
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SHARED_CONTAINER_TYPE
      pos:
        line_end: 4325
        line_start: 4324
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BITSET_CONTAINER_TYPE
      pos:
        line_end: 4322
        line_start: 4321
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ARRAY_CONTAINER_TYPE
      pos:
        line_end: 4323
        line_start: 4322
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RUN_CONTAINER_TYPE
      pos:
        line_end: 4324
        line_start: 4323
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SHARED_CONTAINER_TYPE
      pos:
        line_end: 4325
        line_start: 4324
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '4'
    - item_type: preproc_def
      name: _POSIX_C_SOURCE
      pos:
        line_end: 10562
        line_start: 10561
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: 200809L
    - item_type: preproc_def
      name: WORDS_IN_AVX2_REG
      pos:
        line_end: 10777
        line_start: 10776
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: BITSET_CONTAINER_FN_REPEAT
      pos:
        line_end: 10846
        line_start: 10845
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '8'
    - item_type: preproc_def
      name: WORDS_IN_AVX2_REG
      pos:
        line_end: 10848
        line_start: 10847
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: LOOP_SIZE
      pos:
        line_end: 10852
        line_start: 10849
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: "BITSET_CONTAINER_SIZE_IN_WORDS / \\\n        ((WORDS_IN_AVX2_REG)*BITSET_CONTAINER_FN_REPEAT)"
    - item_type: preproc_def
      name: WORDS_IN_AVX2_REG
      pos:
        line_end: 10777
        line_start: 10776
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: BITSET_CONTAINER_FN_REPEAT
      pos:
        line_end: 10846
        line_start: 10845
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '8'
    - item_type: preproc_def
      name: WORDS_IN_AVX2_REG
      pos:
        line_end: 10848
        line_start: 10847
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: LOOP_SIZE
      pos:
        line_end: 10852
        line_start: 10849
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: "BITSET_CONTAINER_SIZE_IN_WORDS / \\\n        ((WORDS_IN_AVX2_REG)*BITSET_CONTAINER_FN_REPEAT)"
    - item_type: preproc_def
      name: WORDS_IN_AVX2_REG
      pos:
        line_end: 10777
        line_start: 10776
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: BITSET_CONTAINER_FN_REPEAT
      pos:
        line_end: 10846
        line_start: 10845
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '8'
    - item_type: preproc_def
      name: WORDS_IN_AVX2_REG
      pos:
        line_end: 10848
        line_start: 10847
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: LOOP_SIZE
      pos:
        line_end: 10852
        line_start: 10849
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: "BITSET_CONTAINER_SIZE_IN_WORDS / \\\n        ((WORDS_IN_AVX2_REG)*BITSET_CONTAINER_FN_REPEAT)"
    - item_type: preproc_def
      name: WORDS_IN_AVX2_REG
      pos:
        line_end: 10777
        line_start: 10776
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: BITSET_CONTAINER_FN_REPEAT
      pos:
        line_end: 10846
        line_start: 10845
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '8'
    - item_type: preproc_def
      name: WORDS_IN_AVX2_REG
      pos:
        line_end: 10848
        line_start: 10847
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: LOOP_SIZE
      pos:
        line_end: 10852
        line_start: 10849
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: "BITSET_CONTAINER_SIZE_IN_WORDS / \\\n        ((WORDS_IN_AVX2_REG)*BITSET_CONTAINER_FN_REPEAT)"
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_ARRAY_UINT32
      pos:
        line_end: 15289
        line_start: 15288
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_CONTAINER
      pos:
        line_end: 15290
        line_start: 15289
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_ARRAY_UINT32
      pos:
        line_end: 15289
        line_start: 15288
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_CONTAINER
      pos:
        line_end: 15290
        line_start: 15289
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_ARRAY_UINT32
      pos:
        line_end: 15289
        line_start: 15288
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_CONTAINER
      pos:
        line_end: 15290
        line_start: 15289
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_ARRAY_UINT32
      pos:
        line_end: 15289
        line_start: 15288
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_CONTAINER
      pos:
        line_end: 15290
        line_start: 15289
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type_or_value: '2'
    structs:
    - fields:
      - name: value
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: rle16_s
      pos:
        line_end: 2778
        line_start: 2775
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: value
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: rle16_s
      pos:
        line_end: 2778
        line_start: 2775
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: value
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: rle16_s
      pos:
        line_end: 2778
        line_start: 2775
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: value
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: rle16_s
      pos:
        line_end: 2778
        line_start: 2775
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: min
        type: uint32_t
      - name: max
        type: uint32_t
      - name: sum
        type: uint64_t
      item_type: struct
      name: min_max_sum_s
      pos:
        line_end: 15638
        line_start: 15634
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: min
        type: uint32_t
      - name: max
        type: uint32_t
      - name: sum
        type: uint64_t
      item_type: struct
      name: min_max_sum_s
      pos:
        line_end: 15638
        line_start: 15634
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: min
        type: uint32_t
      - name: max
        type: uint32_t
      - name: sum
        type: uint64_t
      item_type: struct
      name: min_max_sum_s
      pos:
        line_end: 15638
        line_start: 15634
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: min
        type: uint32_t
      - name: max
        type: uint32_t
      - name: sum
        type: uint64_t
      item_type: struct
      name: min_max_sum_s
      pos:
        line_end: 15638
        line_start: 15634
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: size
        type: uint64_t
      - name: is_temporary
        type: bool
      - name: '*bitmap'
        type: roaring_bitmap_t
      item_type: struct
      name: roaring_pq_element_s
      pos:
        line_end: 19510
        line_start: 19506
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: '*elements'
        type: roaring_pq_element_t
      - name: size
        type: uint64_t
      item_type: struct
      name: roaring_pq_s
      pos:
        line_end: 19517
        line_start: 19514
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: size
        type: uint64_t
      - name: is_temporary
        type: bool
      - name: '*bitmap'
        type: roaring_bitmap_t
      item_type: struct
      name: roaring_pq_element_s
      pos:
        line_end: 19510
        line_start: 19506
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: '*elements'
        type: roaring_pq_element_t
      - name: size
        type: uint64_t
      item_type: struct
      name: roaring_pq_s
      pos:
        line_end: 19517
        line_start: 19514
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: size
        type: uint64_t
      - name: is_temporary
        type: bool
      - name: '*bitmap'
        type: roaring_bitmap_t
      item_type: struct
      name: roaring_pq_element_s
      pos:
        line_end: 19510
        line_start: 19506
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: '*elements'
        type: roaring_pq_element_t
      - name: size
        type: uint64_t
      item_type: struct
      name: roaring_pq_s
      pos:
        line_end: 19517
        line_start: 19514
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: size
        type: uint64_t
      - name: is_temporary
        type: bool
      - name: '*bitmap'
        type: roaring_bitmap_t
      item_type: struct
      name: roaring_pq_element_s
      pos:
        line_end: 19510
        line_start: 19506
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    - fields:
      - name: '*elements'
        type: roaring_pq_element_t
      - name: size
        type: uint64_t
      item_type: struct
      name: roaring_pq_s
      pos:
        line_end: 19517
        line_start: 19514
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
    typedefs:
    - item_type: typedef
      name: container_t
      pos:
        line_end: 791
        line_start: 791
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: ROARING_CONTAINER_T
    - item_type: typedef
      name: PDerived
      pos:
        line_end: 841
        line_start: 841
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: typename std::remove_pointer<PPDerived>::type
    - item_type: typedef
      name: Derived
      pos:
        line_end: 842
        line_start: 842
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: typename std::remove_pointer<PDerived>::type
    - item_type: typedef
      name: container_t
      pos:
        line_end: 791
        line_start: 791
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: ROARING_CONTAINER_T
    - item_type: typedef
      name: PDerived
      pos:
        line_end: 841
        line_start: 841
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: typename std::remove_pointer<PPDerived>::type
    - item_type: typedef
      name: Derived
      pos:
        line_end: 842
        line_start: 842
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: typename std::remove_pointer<PDerived>::type
    - item_type: typedef
      name: container_t
      pos:
        line_end: 791
        line_start: 791
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: ROARING_CONTAINER_T
    - item_type: typedef
      name: PDerived
      pos:
        line_end: 841
        line_start: 841
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: typename std::remove_pointer<PPDerived>::type
    - item_type: typedef
      name: Derived
      pos:
        line_end: 842
        line_start: 842
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: typename std::remove_pointer<PDerived>::type
    - item_type: typedef
      name: container_t
      pos:
        line_end: 791
        line_start: 791
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: ROARING_CONTAINER_T
    - item_type: typedef
      name: PDerived
      pos:
        line_end: 841
        line_start: 841
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: typename std::remove_pointer<PPDerived>::type
    - item_type: typedef
      name: Derived
      pos:
        line_end: 842
        line_start: 842
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: typename std::remove_pointer<PDerived>::type
    - item_type: typedef
      name: array_container_t
      pos:
        line_end: 1810
        line_start: 1810
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: array_container_s
    - item_type: typedef
      name: array_container_t
      pos:
        line_end: 1810
        line_start: 1810
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: array_container_s
    - item_type: typedef
      name: array_container_t
      pos:
        line_end: 1810
        line_start: 1810
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: array_container_s
    - item_type: typedef
      name: array_container_t
      pos:
        line_end: 1810
        line_start: 1810
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: array_container_s
    - item_type: typedef
      name: bitset_container_t
      pos:
        line_end: 2285
        line_start: 2285
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: bitset_container_s
    - item_type: typedef
      name: bitset_container_t
      pos:
        line_end: 2285
        line_start: 2285
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: bitset_container_s
    - item_type: typedef
      name: bitset_container_t
      pos:
        line_end: 2285
        line_start: 2285
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: bitset_container_s
    - item_type: typedef
      name: bitset_container_t
      pos:
        line_end: 2285
        line_start: 2285
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: bitset_container_s
    - item_type: typedef
      name: rle16_t
      pos:
        line_end: 2780
        line_start: 2780
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: rle16_s
    - item_type: typedef
      name: run_container_t
      pos:
        line_end: 2802
        line_start: 2802
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: run_container_s
    - item_type: typedef
      name: rle16_t
      pos:
        line_end: 2780
        line_start: 2780
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: rle16_s
    - item_type: typedef
      name: run_container_t
      pos:
        line_end: 2802
        line_start: 2802
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: run_container_s
    - item_type: typedef
      name: rle16_t
      pos:
        line_end: 2780
        line_start: 2780
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: rle16_s
    - item_type: typedef
      name: run_container_t
      pos:
        line_end: 2802
        line_start: 2802
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: run_container_s
    - item_type: typedef
      name: rle16_t
      pos:
        line_end: 2780
        line_start: 2780
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: rle16_s
    - item_type: typedef
      name: run_container_t
      pos:
        line_end: 2802
        line_start: 2802
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: run_container_s
    - item_type: typedef
      name: shared_container_t
      pos:
        line_end: 4352
        line_start: 4352
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: shared_container_s
    - item_type: typedef
      name: shared_container_t
      pos:
        line_end: 4352
        line_start: 4352
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: shared_container_s
    - item_type: typedef
      name: shared_container_t
      pos:
        line_end: 4352
        line_start: 4352
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: shared_container_s
    - item_type: typedef
      name: shared_container_t
      pos:
        line_end: 4352
        line_start: 4352
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: shared_container_s
    - item_type: typedef
      name: roaring_pq_element_t
      pos:
        line_end: 19512
        line_start: 19512
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: roaring_pq_element_s
    - item_type: typedef
      name: roaring_pq_t
      pos:
        line_end: 19519
        line_start: 19519
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: roaring_pq_s
    - item_type: typedef
      name: roaring_pq_element_t
      pos:
        line_end: 19512
        line_start: 19512
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: roaring_pq_element_s
    - item_type: typedef
      name: roaring_pq_t
      pos:
        line_end: 19519
        line_start: 19519
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: roaring_pq_s
    - item_type: typedef
      name: roaring_pq_element_t
      pos:
        line_end: 19512
        line_start: 19512
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: roaring_pq_element_s
    - item_type: typedef
      name: roaring_pq_t
      pos:
        line_end: 19519
        line_start: 19519
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: roaring_pq_s
    - item_type: typedef
      name: roaring_pq_element_t
      pos:
        line_end: 19512
        line_start: 19512
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: roaring_pq_element_s
    - item_type: typedef
      name: roaring_pq_t
      pos:
        line_end: 19519
        line_start: 19519
        source_file: /src/ndpi/src/lib/third_party/src/roaring_v2.c
      type: roaring_pq_s
    union: []
- function_names:
  - TRACE
  - libinjection_h5_init
  - libinjection_h5_next
  - h5_is_white
  - h5_skip_white
  - h5_state_eof
  - h5_state_data
  - h5_state_tag_open
  - h5_state_end_tag_open
  - h5_state_tag_name_close
  - h5_state_tag_name
  - h5_state_before_attribute_name
  - h5_state_attribute_name
  - h5_state_after_attribute_name
  - h5_state_before_attribute_value
  - h5_state_attribute_value_quote
  - h5_state_attribute_value_double_quote
  - h5_state_attribute_value_single_quote
  - h5_state_attribute_value_back_quote
  - h5_state_attribute_value_no_quote
  - h5_state_after_attribute_value_quoted_state
  - h5_state_self_closing_start_tag
  - h5_state_bogus_comment
  - h5_state_bogus_comment2
  - h5_state_markup_declaration_open
  - h5_state_comment
  - h5_state_cdata
  - h5_state_doctype
  source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHAR_EOF
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: CHAR_NULL
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CHAR_BANG
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '33'
    - item_type: preproc_def
      name: CHAR_DOUBLE
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '34'
    - item_type: preproc_def
      name: CHAR_PERCENT
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '37'
    - item_type: preproc_def
      name: CHAR_SINGLE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '39'
    - item_type: preproc_def
      name: CHAR_DASH
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '45'
    - item_type: preproc_def
      name: CHAR_SLASH
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '47'
    - item_type: preproc_def
      name: CHAR_LT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '60'
    - item_type: preproc_def
      name: CHAR_EQUALS
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '61'
    - item_type: preproc_def
      name: CHAR_GT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '62'
    - item_type: preproc_def
      name: CHAR_QUESTION
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '63'
    - item_type: preproc_def
      name: CHAR_RIGHTB
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '93'
    - item_type: preproc_def
      name: CHAR_TICK
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_html5.c
      type_or_value: '96'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ROTLEFT
  - ROTRIGHT
  - CH
  - MAJ
  - EP0
  - EP1
  - SIG0
  - SIG1
  - sha256_transform
  - ndpi_sha256_init
  - ndpi_sha256_update
  - ndpi_sha256_final
  source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha256.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - edge_get_alpha
  - edge_data_size
  - acho_calloc
  - acho_malloc
  - acho_free
  - acho_calloc
  - acho_malloc
  - acho_free
  - ac_automata_init
  - ac_automata_feature
  - ac_automata_name
  - ac_automata_enable_debug
  - ac_automata_add
  - ac_automata_walk
  - ac_finalize_node
  - ac_automata_finalize
  - ac_automata_exact_match
  - ac_automata_search
  - ac_automata_release_node
  - ac_automata_release
  - dump_node_header
  - dump_node_common
  - dump_node_str
  - ac_automata_dump
  - ac_automata_union_matchstrs
  - ac_automata_set_failure
  - ac_automata_traverse_setfailure
  - node_create
  - node_release_pattern
  - node_release
  - UNALIGNED
  - DETECTNULL
  - bsf
  - DETECTNULL
  - bsf
  - xmemchr
  - node_find_next
  - node_findbs_next
  - node_findbs_next_ac
  - node_has_matchstr
  - node_create_next
  - mp_data_size
  - node_resize_mp
  - node_register_matchstr
  - node_resize_outgoing
  - node_register_outgoing
  - node_edge_compare
  - node_edge_swap
  - acho_2range
  - node_range_edges
  - node_sort_edges
  - acho_sort
  - ac_automata_get_stats
  source_file: /src/ndpi/src/lib/third_party/src/ahocorasick.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __SIZEOF_LONG__
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/third_party/src/ahocorasick.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LBLOCKSIZE
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/ndpi/src/lib/third_party/src/ahocorasick.c
      type_or_value: __SIZEOF_LONG__
    - item_type: preproc_def
      name: DUPC
      pos:
        line_end: 869
        line_start: 868
        source_file: /src/ndpi/src/lib/third_party/src/ahocorasick.c
      type_or_value: 0x01010101UL
    - item_type: preproc_def
      name: DUPC
      pos:
        line_end: 886
        line_start: 885
        source_file: /src/ndpi/src/lib/third_party/src/ahocorasick.c
      type_or_value: 0x0101010101010101UL
    structs:
    - fields:
      - name: memcnt
        type: size_t
      - name: buf_pos
        type: int
      - name: '*bufstr'
        type: char
      - name: bufstr_len
        type: size_t
      - name: '*file'
        type: FILE
      item_type: struct
      name: aho_dump_info
      pos:
        line_end: 74
        line_start: 68
        source_file: /src/ndpi/src/lib/third_party/src/ahocorasick.c
    typedefs:
    - item_type: typedef
      name: size_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/ndpi/src/lib/third_party/src/ahocorasick.c
      type: __kernel_size_t
    union: []
- function_names:
  - STRUCT_CONTAINER
  - STRUCT_CONTAINER
  - CAST
  - movable_CAST
  - roaring::internal::movable_CAST_HELPER
  - CAST
  - movable_CAST
  - movable_CAST_base
  - STRUCT_CONTAINER
  - STRUCT_CONTAINER
  - CAST
  - movable_CAST
  - roaring::internal::movable_CAST_HELPER
  - CAST
  - movable_CAST
  - movable_CAST_base
  - STRUCT_CONTAINER
  - STRUCT_CONTAINER
  - CAST
  - movable_CAST
  - roaring::internal::movable_CAST_HELPER
  - CAST
  - movable_CAST
  - movable_CAST_base
  - STRUCT_CONTAINER
  - STRUCT_CONTAINER
  - CAST
  - movable_CAST
  - roaring::internal::movable_CAST_HELPER
  - CAST
  - movable_CAST
  - movable_CAST_base
  - roaring::internal::binarySearch
  - roaring::internal::advanceUntil
  - roaring::internal::count_less
  - roaring::internal::count_greater
  - roaring::internal::binarySearch
  - roaring::internal::advanceUntil
  - roaring::internal::count_less
  - roaring::internal::count_greater
  - roaring::internal::binarySearch
  - roaring::internal::advanceUntil
  - roaring::internal::count_less
  - roaring::internal::count_greater
  - roaring::internal::binarySearch
  - roaring::internal::advanceUntil
  - roaring::internal::count_less
  - roaring::internal::count_greater
  - ASM_SHIFT_RIGHT
  - ASM_INPLACESHIFT_RIGHT
  - ASM_SHIFT_LEFT
  - ASM_SET_BIT_INC_WAS_CLEAR
  - ASM_CLEAR_BIT_DEC_WAS_SET
  - ASM_SHIFT_RIGHT
  - ASM_INPLACESHIFT_RIGHT
  - ASM_SHIFT_LEFT
  - ASM_SET_BIT_INC_WAS_CLEAR
  - ASM_CLEAR_BIT_DEC_WAS_SET
  - roaring::internal::bitset_set_range
  - roaring::internal::bitset_lenrange_cardinality
  - roaring::internal::bitset_lenrange_empty
  - roaring::internal::bitset_set_lenrange
  - roaring::internal::bitset_flip_range
  - roaring::internal::bitset_reset_range
  - roaring::internal::popcount256
  - roaring::internal::CSA
  - roaring::internal::avx2_harley_seal_popcount256
  - CROARING_AVXPOPCNTFNC
  - VPOPCNT_AND_ADD
  - roaring::internal::sum_epu64_256
  - roaring::internal::simd_sum_epu64
  - roaring::internal::avx512_vpopcount
  - CROARING_AVXPOPCNTFNC512
  - roaring::internal::bitset_set_range
  - roaring::internal::bitset_lenrange_cardinality
  - roaring::internal::bitset_lenrange_empty
  - roaring::internal::bitset_set_lenrange
  - roaring::internal::bitset_flip_range
  - roaring::internal::bitset_reset_range
  - roaring::internal::popcount256
  - roaring::internal::CSA
  - roaring::internal::avx2_harley_seal_popcount256
  - CROARING_AVXPOPCNTFNC
  - VPOPCNT_AND_ADD
  - roaring::internal::sum_epu64_256
  - roaring::internal::simd_sum_epu64
  - roaring::internal::avx512_vpopcount
  - CROARING_AVXPOPCNTFNC512
  - roaring::internal::bitset_set_range
  - roaring::internal::bitset_lenrange_cardinality
  - roaring::internal::bitset_lenrange_empty
  - roaring::internal::bitset_set_lenrange
  - roaring::internal::bitset_flip_range
  - roaring::internal::bitset_reset_range
  - roaring::internal::popcount256
  - roaring::internal::CSA
  - roaring::internal::avx2_harley_seal_popcount256
  - CROARING_AVXPOPCNTFNC
  - VPOPCNT_AND_ADD
  - roaring::internal::sum_epu64_256
  - roaring::internal::simd_sum_epu64
  - roaring::internal::avx512_vpopcount
  - CROARING_AVXPOPCNTFNC512
  - roaring::internal::bitset_set_range
  - roaring::internal::bitset_lenrange_cardinality
  - roaring::internal::bitset_lenrange_empty
  - roaring::internal::bitset_set_lenrange
  - roaring::internal::bitset_flip_range
  - roaring::internal::bitset_reset_range
  - roaring::internal::popcount256
  - roaring::internal::CSA
  - roaring::internal::avx2_harley_seal_popcount256
  - CROARING_AVXPOPCNTFNC
  - VPOPCNT_AND_ADD
  - roaring::internal::sum_epu64_256
  - roaring::internal::simd_sum_epu64
  - roaring::internal::avx512_vpopcount
  - CROARING_AVXPOPCNTFNC512
  - roaring::internal::STRUCT_CONTAINER
  - CAST_array
  - const_CAST_array
  - movable_CAST_array
  - roaring::internal::array_container_cardinality
  - roaring::internal::array_container_nonzero_cardinality
  - roaring::internal::array_container_empty
  - roaring::internal::array_container_full
  - roaring::internal::array_container_serialized_size_in_bytes
  - roaring::internal::array_container_size_in_bytes
  - roaring::internal::array_container_equals
  - roaring::internal::array_container_select
  - roaring::internal::array_container_append
  - roaring::internal::array_container_try_add
  - roaring::internal::array_container_add
  - roaring::internal::array_container_remove
  - roaring::internal::array_container_contains
  - roaring::internal::array_container_contains_range
  - roaring::internal::array_container_minimum
  - roaring::internal::array_container_maximum
  - roaring::internal::array_container_rank
  - roaring::internal::array_container_rank_many
  - roaring::internal::array_container_get_index
  - roaring::internal::array_container_index_equalorlarger
  - roaring::internal::array_container_add_range_nvals
  - roaring::internal::array_container_remove_range
  - roaring::internal::STRUCT_CONTAINER
  - CAST_array
  - const_CAST_array
  - movable_CAST_array
  - roaring::internal::array_container_cardinality
  - roaring::internal::array_container_nonzero_cardinality
  - roaring::internal::array_container_empty
  - roaring::internal::array_container_full
  - roaring::internal::array_container_serialized_size_in_bytes
  - roaring::internal::array_container_size_in_bytes
  - roaring::internal::array_container_equals
  - roaring::internal::array_container_select
  - roaring::internal::array_container_append
  - roaring::internal::array_container_try_add
  - roaring::internal::array_container_add
  - roaring::internal::array_container_remove
  - roaring::internal::array_container_contains
  - roaring::internal::array_container_contains_range
  - roaring::internal::array_container_minimum
  - roaring::internal::array_container_maximum
  - roaring::internal::array_container_rank
  - roaring::internal::array_container_rank_many
  - roaring::internal::array_container_get_index
  - roaring::internal::array_container_index_equalorlarger
  - roaring::internal::array_container_add_range_nvals
  - roaring::internal::array_container_remove_range
  - roaring::internal::STRUCT_CONTAINER
  - CAST_array
  - const_CAST_array
  - movable_CAST_array
  - roaring::internal::array_container_cardinality
  - roaring::internal::array_container_nonzero_cardinality
  - roaring::internal::array_container_empty
  - roaring::internal::array_container_full
  - roaring::internal::array_container_serialized_size_in_bytes
  - roaring::internal::array_container_size_in_bytes
  - roaring::internal::array_container_equals
  - roaring::internal::array_container_select
  - roaring::internal::array_container_append
  - roaring::internal::array_container_try_add
  - roaring::internal::array_container_add
  - roaring::internal::array_container_remove
  - roaring::internal::array_container_contains
  - roaring::internal::array_container_contains_range
  - roaring::internal::array_container_minimum
  - roaring::internal::array_container_maximum
  - roaring::internal::array_container_rank
  - roaring::internal::array_container_rank_many
  - roaring::internal::array_container_get_index
  - roaring::internal::array_container_index_equalorlarger
  - roaring::internal::array_container_add_range_nvals
  - roaring::internal::array_container_remove_range
  - roaring::internal::STRUCT_CONTAINER
  - CAST_array
  - const_CAST_array
  - movable_CAST_array
  - roaring::internal::array_container_cardinality
  - roaring::internal::array_container_nonzero_cardinality
  - roaring::internal::array_container_empty
  - roaring::internal::array_container_full
  - roaring::internal::array_container_serialized_size_in_bytes
  - roaring::internal::array_container_size_in_bytes
  - roaring::internal::array_container_equals
  - roaring::internal::array_container_select
  - roaring::internal::array_container_append
  - roaring::internal::array_container_try_add
  - roaring::internal::array_container_add
  - roaring::internal::array_container_remove
  - roaring::internal::array_container_contains
  - roaring::internal::array_container_contains_range
  - roaring::internal::array_container_minimum
  - roaring::internal::array_container_maximum
  - roaring::internal::array_container_rank
  - roaring::internal::array_container_rank_many
  - roaring::internal::array_container_get_index
  - roaring::internal::array_container_index_equalorlarger
  - roaring::internal::array_container_add_range_nvals
  - roaring::internal::array_container_remove_range
  - roaring::internal::STRUCT_CONTAINER
  - CAST_bitset
  - const_CAST_bitset
  - movable_CAST_bitset
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_get_range
  - roaring::internal::bitset_container_contains
  - roaring::internal::bitset_container_contains_range
  - roaring::internal::bitset_container_cardinality
  - roaring::internal::bitset_container_empty
  - roaring::internal::bitset_container_const_nonzero_cardinality
  - roaring::internal::bitset_container_serialized_size_in_bytes
  - roaring::internal::bitset_container_size_in_bytes
  - roaring::internal::STRUCT_CONTAINER
  - CAST_bitset
  - const_CAST_bitset
  - movable_CAST_bitset
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_get_range
  - roaring::internal::bitset_container_contains
  - roaring::internal::bitset_container_contains_range
  - roaring::internal::bitset_container_cardinality
  - roaring::internal::bitset_container_empty
  - roaring::internal::bitset_container_const_nonzero_cardinality
  - roaring::internal::bitset_container_serialized_size_in_bytes
  - roaring::internal::bitset_container_size_in_bytes
  - roaring::internal::STRUCT_CONTAINER
  - CAST_bitset
  - const_CAST_bitset
  - movable_CAST_bitset
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_get_range
  - roaring::internal::bitset_container_contains
  - roaring::internal::bitset_container_contains_range
  - roaring::internal::bitset_container_cardinality
  - roaring::internal::bitset_container_empty
  - roaring::internal::bitset_container_const_nonzero_cardinality
  - roaring::internal::bitset_container_serialized_size_in_bytes
  - roaring::internal::bitset_container_size_in_bytes
  - roaring::internal::STRUCT_CONTAINER
  - CAST_bitset
  - const_CAST_bitset
  - movable_CAST_bitset
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_set
  - roaring::internal::bitset_container_add
  - roaring::internal::bitset_container_remove
  - roaring::internal::bitset_container_get
  - roaring::internal::bitset_container_get_range
  - roaring::internal::bitset_container_contains
  - roaring::internal::bitset_container_contains_range
  - roaring::internal::bitset_container_cardinality
  - roaring::internal::bitset_container_empty
  - roaring::internal::bitset_container_const_nonzero_cardinality
  - roaring::internal::bitset_container_serialized_size_in_bytes
  - roaring::internal::bitset_container_size_in_bytes
  - CROARING_MAKE_RLE16
  - CROARING_MAKE_RLE16
  - roaring::internal::STRUCT_CONTAINER
  - CAST_run
  - const_CAST_run
  - movable_CAST_run
  - roaring::internal::recoverRoomAtIndex
  - roaring::internal::interleavedBinarySearch
  - roaring::internal::rle16_find_run
  - roaring::internal::rle16_count_less
  - roaring::internal::rle16_count_greater
  - roaring::internal::makeRoomAtIndex
  - roaring::internal::run_container_remove
  - roaring::internal::run_container_contains
  - roaring::internal::run_container_contains_range
  - roaring::internal::run_container_nonzero_cardinality
  - roaring::internal::run_container_empty
  - roaring::internal::run_container_append
  - roaring::internal::run_container_append_first
  - roaring::internal::run_container_append_value
  - roaring::internal::run_container_append_value_first
  - roaring::internal::run_container_is_full
  - roaring::internal::run_container_serialized_size_in_bytes
  - roaring::internal::run_container_size_in_bytes
  - roaring::internal::run_container_equals
  - roaring::internal::run_container_create_range
  - roaring::internal::run_container_minimum
  - roaring::internal::run_container_maximum
  - roaring::internal::run_container_index_equalorlarger
  - roaring::internal::run_container_add_range_nruns
  - roaring::internal::run_container_shift_tail
  - roaring::internal::run_container_remove_range
  - CROARING_MAKE_RLE16
  - CROARING_MAKE_RLE16
  - roaring::internal::STRUCT_CONTAINER
  - CAST_run
  - const_CAST_run
  - movable_CAST_run
  - roaring::internal::recoverRoomAtIndex
  - roaring::internal::interleavedBinarySearch
  - roaring::internal::rle16_find_run
  - roaring::internal::rle16_count_less
  - roaring::internal::rle16_count_greater
  - roaring::internal::makeRoomAtIndex
  - roaring::internal::run_container_remove
  - roaring::internal::run_container_contains
  - roaring::internal::run_container_contains_range
  - roaring::internal::run_container_nonzero_cardinality
  - roaring::internal::run_container_empty
  - roaring::internal::run_container_append
  - roaring::internal::run_container_append_first
  - roaring::internal::run_container_append_value
  - roaring::internal::run_container_append_value_first
  - roaring::internal::run_container_is_full
  - roaring::internal::run_container_serialized_size_in_bytes
  - roaring::internal::run_container_size_in_bytes
  - roaring::internal::run_container_equals
  - roaring::internal::run_container_create_range
  - roaring::internal::run_container_minimum
  - roaring::internal::run_container_maximum
  - roaring::internal::run_container_index_equalorlarger
  - roaring::internal::run_container_add_range_nruns
  - roaring::internal::run_container_shift_tail
  - roaring::internal::run_container_remove_range
  - CROARING_MAKE_RLE16
  - CROARING_MAKE_RLE16
  - roaring::internal::STRUCT_CONTAINER
  - CAST_run
  - const_CAST_run
  - movable_CAST_run
  - roaring::internal::recoverRoomAtIndex
  - roaring::internal::interleavedBinarySearch
  - roaring::internal::rle16_find_run
  - roaring::internal::rle16_count_less
  - roaring::internal::rle16_count_greater
  - roaring::internal::makeRoomAtIndex
  - roaring::internal::run_container_remove
  - roaring::internal::run_container_contains
  - roaring::internal::run_container_contains_range
  - roaring::internal::run_container_nonzero_cardinality
  - roaring::internal::run_container_empty
  - roaring::internal::run_container_append
  - roaring::internal::run_container_append_first
  - roaring::internal::run_container_append_value
  - roaring::internal::run_container_append_value_first
  - roaring::internal::run_container_is_full
  - roaring::internal::run_container_serialized_size_in_bytes
  - roaring::internal::run_container_size_in_bytes
  - roaring::internal::run_container_equals
  - roaring::internal::run_container_create_range
  - roaring::internal::run_container_minimum
  - roaring::internal::run_container_maximum
  - roaring::internal::run_container_index_equalorlarger
  - roaring::internal::run_container_add_range_nruns
  - roaring::internal::run_container_shift_tail
  - roaring::internal::run_container_remove_range
  - CROARING_MAKE_RLE16
  - CROARING_MAKE_RLE16
  - roaring::internal::STRUCT_CONTAINER
  - CAST_run
  - const_CAST_run
  - movable_CAST_run
  - roaring::internal::recoverRoomAtIndex
  - roaring::internal::interleavedBinarySearch
  - roaring::internal::rle16_find_run
  - roaring::internal::rle16_count_less
  - roaring::internal::rle16_count_greater
  - roaring::internal::makeRoomAtIndex
  - roaring::internal::run_container_remove
  - roaring::internal::run_container_contains
  - roaring::internal::run_container_contains_range
  - roaring::internal::run_container_nonzero_cardinality
  - roaring::internal::run_container_empty
  - roaring::internal::run_container_append
  - roaring::internal::run_container_append_first
  - roaring::internal::run_container_append_value
  - roaring::internal::run_container_append_value_first
  - roaring::internal::run_container_is_full
  - roaring::internal::run_container_serialized_size_in_bytes
  - roaring::internal::run_container_size_in_bytes
  - roaring::internal::run_container_equals
  - roaring::internal::run_container_create_range
  - roaring::internal::run_container_minimum
  - roaring::internal::run_container_maximum
  - roaring::internal::run_container_index_equalorlarger
  - roaring::internal::run_container_add_range_nruns
  - roaring::internal::run_container_shift_tail
  - roaring::internal::run_container_remove_range
  - PAIR_CONTAINER_TYPES
  - CONTAINER_PAIR
  - roaring::internal::STRUCT_CONTAINER
  - CAST_shared
  - const_CAST_shared
  - movable_CAST_shared
  - roaring::internal::container_unwrap_shared
  - roaring::internal::container_mutable_unwrap_shared
  - roaring::internal::get_container_type
  - roaring::internal::get_writable_copy_if_shared
  - roaring::internal::container_to_bitset
  - roaring::internal::get_full_container_name
  - roaring::internal::container_get_cardinality
  - roaring::internal::container_is_full
  - roaring::internal::container_shrink_to_fit
  - roaring::internal::container_range_of_ones
  - roaring::internal::container_from_range
  - roaring::internal::container_repair_after_lazy
  - roaring::internal::container_write
  - roaring::internal::container_size_in_bytes
  - roaring::internal::container_nonzero_cardinality
  - roaring::internal::container_to_uint32_array
  - roaring::internal::container_add
  - roaring::internal::container_remove
  - roaring::internal::container_contains
  - roaring::internal::container_contains_range
  - roaring::internal::container_equals
  - roaring::internal::container_is_subset
  - roaring::internal::container_and
  - roaring::internal::container_and_cardinality
  - roaring::internal::container_intersect
  - roaring::internal::container_iand
  - roaring::internal::container_or
  - roaring::internal::container_lazy_or
  - roaring::internal::container_ior
  - roaring::internal::container_lazy_ior
  - roaring::internal::container_xor
  - roaring::internal::container_add_offset
  - roaring::internal::container_lazy_xor
  - roaring::internal::container_ixor
  - roaring::internal::container_lazy_ixor
  - roaring::internal::container_andnot
  - roaring::internal::container_iandnot
  - roaring::internal::container_iterate
  - roaring::internal::container_iterate64
  - roaring::internal::container_not
  - roaring::internal::container_not_range
  - roaring::internal::container_inot
  - roaring::internal::container_inot_range
  - roaring::internal::container_select
  - roaring::internal::container_maximum
  - roaring::internal::container_minimum
  - roaring::internal::container_rank
  - roaring::internal::container_rank_many
  - roaring::internal::container_get_index
  - roaring::internal::container_add_range
  - roaring::internal::container_remove_range
  - PAIR_CONTAINER_TYPES
  - CONTAINER_PAIR
  - roaring::internal::STRUCT_CONTAINER
  - CAST_shared
  - const_CAST_shared
  - movable_CAST_shared
  - roaring::internal::container_unwrap_shared
  - roaring::internal::container_mutable_unwrap_shared
  - roaring::internal::get_container_type
  - roaring::internal::get_writable_copy_if_shared
  - roaring::internal::container_to_bitset
  - roaring::internal::get_full_container_name
  - roaring::internal::container_get_cardinality
  - roaring::internal::container_is_full
  - roaring::internal::container_shrink_to_fit
  - roaring::internal::container_range_of_ones
  - roaring::internal::container_from_range
  - roaring::internal::container_repair_after_lazy
  - roaring::internal::container_write
  - roaring::internal::container_size_in_bytes
  - roaring::internal::container_nonzero_cardinality
  - roaring::internal::container_to_uint32_array
  - roaring::internal::container_add
  - roaring::internal::container_remove
  - roaring::internal::container_contains
  - roaring::internal::container_contains_range
  - roaring::internal::container_equals
  - roaring::internal::container_is_subset
  - roaring::internal::container_and
  - roaring::internal::container_and_cardinality
  - roaring::internal::container_intersect
  - roaring::internal::container_iand
  - roaring::internal::container_or
  - roaring::internal::container_lazy_or
  - roaring::internal::container_ior
  - roaring::internal::container_lazy_ior
  - roaring::internal::container_xor
  - roaring::internal::container_add_offset
  - roaring::internal::container_lazy_xor
  - roaring::internal::container_ixor
  - roaring::internal::container_lazy_ixor
  - roaring::internal::container_andnot
  - roaring::internal::container_iandnot
  - roaring::internal::container_iterate
  - roaring::internal::container_iterate64
  - roaring::internal::container_not
  - roaring::internal::container_not_range
  - roaring::internal::container_inot
  - roaring::internal::container_inot_range
  - roaring::internal::container_select
  - roaring::internal::container_maximum
  - roaring::internal::container_minimum
  - roaring::internal::container_rank
  - roaring::internal::container_rank_many
  - roaring::internal::container_get_index
  - roaring::internal::container_add_range
  - roaring::internal::container_remove_range
  - PAIR_CONTAINER_TYPES
  - CONTAINER_PAIR
  - roaring::internal::STRUCT_CONTAINER
  - CAST_shared
  - const_CAST_shared
  - movable_CAST_shared
  - roaring::internal::container_unwrap_shared
  - roaring::internal::container_mutable_unwrap_shared
  - roaring::internal::get_container_type
  - roaring::internal::get_writable_copy_if_shared
  - roaring::internal::container_to_bitset
  - roaring::internal::get_full_container_name
  - roaring::internal::container_get_cardinality
  - roaring::internal::container_is_full
  - roaring::internal::container_shrink_to_fit
  - roaring::internal::container_range_of_ones
  - roaring::internal::container_from_range
  - roaring::internal::container_repair_after_lazy
  - roaring::internal::container_write
  - roaring::internal::container_size_in_bytes
  - roaring::internal::container_nonzero_cardinality
  - roaring::internal::container_to_uint32_array
  - roaring::internal::container_add
  - roaring::internal::container_remove
  - roaring::internal::container_contains
  - roaring::internal::container_contains_range
  - roaring::internal::container_equals
  - roaring::internal::container_is_subset
  - roaring::internal::container_and
  - roaring::internal::container_and_cardinality
  - roaring::internal::container_intersect
  - roaring::internal::container_iand
  - roaring::internal::container_or
  - roaring::internal::container_lazy_or
  - roaring::internal::container_ior
  - roaring::internal::container_lazy_ior
  - roaring::internal::container_xor
  - roaring::internal::container_add_offset
  - roaring::internal::container_lazy_xor
  - roaring::internal::container_ixor
  - roaring::internal::container_lazy_ixor
  - roaring::internal::container_andnot
  - roaring::internal::container_iandnot
  - roaring::internal::container_iterate
  - roaring::internal::container_iterate64
  - roaring::internal::container_not
  - roaring::internal::container_not_range
  - roaring::internal::container_inot
  - roaring::internal::container_inot_range
  - roaring::internal::container_select
  - roaring::internal::container_maximum
  - roaring::internal::container_minimum
  - roaring::internal::container_rank
  - roaring::internal::container_rank_many
  - roaring::internal::container_get_index
  - roaring::internal::container_add_range
  - roaring::internal::container_remove_range
  - PAIR_CONTAINER_TYPES
  - CONTAINER_PAIR
  - roaring::internal::STRUCT_CONTAINER
  - CAST_shared
  - const_CAST_shared
  - movable_CAST_shared
  - roaring::internal::container_unwrap_shared
  - roaring::internal::container_mutable_unwrap_shared
  - roaring::internal::get_container_type
  - roaring::internal::get_writable_copy_if_shared
  - roaring::internal::container_to_bitset
  - roaring::internal::get_full_container_name
  - roaring::internal::container_get_cardinality
  - roaring::internal::container_is_full
  - roaring::internal::container_shrink_to_fit
  - roaring::internal::container_range_of_ones
  - roaring::internal::container_from_range
  - roaring::internal::container_repair_after_lazy
  - roaring::internal::container_write
  - roaring::internal::container_size_in_bytes
  - roaring::internal::container_nonzero_cardinality
  - roaring::internal::container_to_uint32_array
  - roaring::internal::container_add
  - roaring::internal::container_remove
  - roaring::internal::container_contains
  - roaring::internal::container_contains_range
  - roaring::internal::container_equals
  - roaring::internal::container_is_subset
  - roaring::internal::container_and
  - roaring::internal::container_and_cardinality
  - roaring::internal::container_intersect
  - roaring::internal::container_iand
  - roaring::internal::container_or
  - roaring::internal::container_lazy_or
  - roaring::internal::container_ior
  - roaring::internal::container_lazy_ior
  - roaring::internal::container_xor
  - roaring::internal::container_add_offset
  - roaring::internal::container_lazy_xor
  - roaring::internal::container_ixor
  - roaring::internal::container_lazy_ixor
  - roaring::internal::container_andnot
  - roaring::internal::container_iandnot
  - roaring::internal::container_iterate
  - roaring::internal::container_iterate64
  - roaring::internal::container_not
  - roaring::internal::container_not_range
  - roaring::internal::container_inot
  - roaring::internal::container_inot_range
  - roaring::internal::container_select
  - roaring::internal::container_maximum
  - roaring::internal::container_minimum
  - roaring::internal::container_rank
  - roaring::internal::container_rank_many
  - roaring::internal::container_get_index
  - roaring::internal::container_add_range
  - roaring::internal::container_remove_range
  - roaring::internal::ra_get_index
  - roaring::internal::ra_get_container_at_index
  - roaring::internal::ra_get_key_at_index
  - roaring::internal::ra_set_container_at_index
  - roaring::internal::ra_get_size
  - roaring::internal::ra_advance_until
  - roaring::internal::ra_replace_key_and_container_at_index
  - roaring::internal::ra_unshare_container_at_index
  - roaring::internal::ra_get_index
  - roaring::internal::ra_get_container_at_index
  - roaring::internal::ra_get_key_at_index
  - roaring::internal::ra_set_container_at_index
  - roaring::internal::ra_get_size
  - roaring::internal::ra_advance_until
  - roaring::internal::ra_replace_key_and_container_at_index
  - roaring::internal::ra_unshare_container_at_index
  - roaring::internal::ra_get_index
  - roaring::internal::ra_get_container_at_index
  - roaring::internal::ra_get_key_at_index
  - roaring::internal::ra_set_container_at_index
  - roaring::internal::ra_get_size
  - roaring::internal::ra_advance_until
  - roaring::internal::ra_replace_key_and_container_at_index
  - roaring::internal::ra_unshare_container_at_index
  - roaring::internal::ra_get_index
  - roaring::internal::ra_get_container_at_index
  - roaring::internal::ra_get_key_at_index
  - roaring::internal::ra_set_container_at_index
  - roaring::internal::ra_get_size
  - roaring::internal::ra_advance_until
  - roaring::internal::ra_replace_key_and_container_at_index
  - roaring::internal::ra_unshare_container_at_index
  - roaring::internal::intersect_vector16
  - roaring::internal::array_container_to_uint32_array_vector16
  - roaring::internal::intersect_vector16_inplace
  - roaring::internal::intersect_vector16_cardinality
  - roaring::internal::difference_vector16
  - roaring::internal::binarySearch4
  - roaring::internal::binarySearch2
  - roaring::internal::intersect_skewed_uint16
  - roaring::internal::intersect_skewed_uint16_cardinality
  - roaring::internal::intersect_skewed_uint16_nonempty
  - roaring::internal::intersect_uint16
  - roaring::internal::intersect_uint16_cardinality
  - roaring::internal::intersect_uint16_nonempty
  - roaring::internal::intersection_uint32
  - roaring::internal::intersection_uint32_card
  - roaring::internal::union_uint16
  - roaring::internal::difference_uint16
  - roaring::internal::xor_uint16
  - roaring::internal::sse_merge
  - roaring::internal::store_unique
  - roaring::internal::unique
  - roaring::internal::uint16_compare
  - roaring::internal::union_vector16
  - roaring::internal::store_unique_xor
  - roaring::internal::unique_xor
  - roaring::internal::xor_vector16
  - roaring::internal::union_uint32
  - roaring::internal::union_uint32_card
  - roaring::internal::fast_union_uint16
  - roaring::internal::_avx512_memequals
  - roaring::internal::_avx2_memequals
  - roaring::internal::memequals
  - roaring::internal::avx512_array_container_to_uint32_array
  - roaring::internal::intersect_vector16
  - roaring::internal::array_container_to_uint32_array_vector16
  - roaring::internal::intersect_vector16_inplace
  - roaring::internal::intersect_vector16_cardinality
  - roaring::internal::difference_vector16
  - roaring::internal::binarySearch4
  - roaring::internal::binarySearch2
  - roaring::internal::intersect_skewed_uint16
  - roaring::internal::intersect_skewed_uint16_cardinality
  - roaring::internal::intersect_skewed_uint16_nonempty
  - roaring::internal::intersect_uint16
  - roaring::internal::intersect_uint16_cardinality
  - roaring::internal::intersect_uint16_nonempty
  - roaring::internal::intersection_uint32
  - roaring::internal::intersection_uint32_card
  - roaring::internal::union_uint16
  - roaring::internal::difference_uint16
  - roaring::internal::xor_uint16
  - roaring::internal::sse_merge
  - roaring::internal::store_unique
  - roaring::internal::unique
  - roaring::internal::uint16_compare
  - roaring::internal::union_vector16
  - roaring::internal::store_unique_xor
  - roaring::internal::unique_xor
  - roaring::internal::xor_vector16
  - roaring::internal::union_uint32
  - roaring::internal::union_uint32_card
  - roaring::internal::fast_union_uint16
  - roaring::internal::_avx512_memequals
  - roaring::internal::_avx2_memequals
  - roaring::internal::memequals
  - roaring::internal::avx512_array_container_to_uint32_array
  - roaring::internal::intersect_vector16
  - roaring::internal::array_container_to_uint32_array_vector16
  - roaring::internal::intersect_vector16_inplace
  - roaring::internal::intersect_vector16_cardinality
  - roaring::internal::difference_vector16
  - roaring::internal::binarySearch4
  - roaring::internal::binarySearch2
  - roaring::internal::intersect_skewed_uint16
  - roaring::internal::intersect_skewed_uint16_cardinality
  - roaring::internal::intersect_skewed_uint16_nonempty
  - roaring::internal::intersect_uint16
  - roaring::internal::intersect_uint16_cardinality
  - roaring::internal::intersect_uint16_nonempty
  - roaring::internal::intersection_uint32
  - roaring::internal::intersection_uint32_card
  - roaring::internal::union_uint16
  - roaring::internal::difference_uint16
  - roaring::internal::xor_uint16
  - roaring::internal::sse_merge
  - roaring::internal::store_unique
  - roaring::internal::unique
  - roaring::internal::uint16_compare
  - roaring::internal::union_vector16
  - roaring::internal::store_unique_xor
  - roaring::internal::unique_xor
  - roaring::internal::xor_vector16
  - roaring::internal::union_uint32
  - roaring::internal::union_uint32_card
  - roaring::internal::fast_union_uint16
  - roaring::internal::_avx512_memequals
  - roaring::internal::_avx2_memequals
  - roaring::internal::memequals
  - roaring::internal::avx512_array_container_to_uint32_array
  - roaring::internal::intersect_vector16
  - roaring::internal::array_container_to_uint32_array_vector16
  - roaring::internal::intersect_vector16_inplace
  - roaring::internal::intersect_vector16_cardinality
  - roaring::internal::difference_vector16
  - roaring::internal::binarySearch4
  - roaring::internal::binarySearch2
  - roaring::internal::intersect_skewed_uint16
  - roaring::internal::intersect_skewed_uint16_cardinality
  - roaring::internal::intersect_skewed_uint16_nonempty
  - roaring::internal::intersect_uint16
  - roaring::internal::intersect_uint16_cardinality
  - roaring::internal::intersect_uint16_nonempty
  - roaring::internal::intersection_uint32
  - roaring::internal::intersection_uint32_card
  - roaring::internal::union_uint16
  - roaring::internal::difference_uint16
  - roaring::internal::xor_uint16
  - roaring::internal::sse_merge
  - roaring::internal::store_unique
  - roaring::internal::unique
  - roaring::internal::uint16_compare
  - roaring::internal::union_vector16
  - roaring::internal::store_unique_xor
  - roaring::internal::unique_xor
  - roaring::internal::xor_vector16
  - roaring::internal::union_uint32
  - roaring::internal::union_uint32_card
  - roaring::internal::fast_union_uint16
  - roaring::internal::_avx512_memequals
  - roaring::internal::_avx2_memequals
  - roaring::internal::memequals
  - roaring::internal::avx512_array_container_to_uint32_array
  - CROARING_ART_ALIGN_BUF
  - CROARING_ART_ALIGN_SIZE_RELATIVE
  - roaring::internal::art_validate_fail
  - roaring::internal::art_to_ref
  - roaring::internal::art_ref_index
  - roaring::internal::art_ref_typecode
  - roaring::internal::art_deref
  - roaring::internal::art_get_node
  - roaring::internal::art_get_index
  - roaring::internal::art_get_ref
  - roaring::internal::art_is_leaf
  - roaring::internal::art_init_inner_node
  - roaring::internal::art_leaf_create
  - roaring::internal::art_node4_create
  - roaring::internal::art_node4_find_child
  - roaring::internal::art_node4_insert
  - roaring::internal::art_node4_erase
  - roaring::internal::art_node4_replace
  - roaring::internal::art_node4_next_child
  - roaring::internal::art_node4_prev_child
  - roaring::internal::art_node4_child_at
  - roaring::internal::art_node4_lower_bound
  - roaring::internal::art_node4_internal_validate
  - roaring::internal::art_node16_create
  - roaring::internal::art_node16_find_child
  - roaring::internal::art_node16_insert
  - roaring::internal::art_node16_erase
  - roaring::internal::art_node16_replace
  - roaring::internal::art_node16_next_child
  - roaring::internal::art_node16_prev_child
  - roaring::internal::art_node16_child_at
  - roaring::internal::art_node16_lower_bound
  - roaring::internal::art_node16_internal_validate
  - roaring::internal::art_node48_create
  - roaring::internal::art_node48_find_child
  - roaring::internal::art_node48_insert
  - roaring::internal::art_node48_erase
  - roaring::internal::art_node48_replace
  - roaring::internal::art_node48_next_child
  - roaring::internal::art_node48_prev_child
  - roaring::internal::art_node48_child_at
  - roaring::internal::art_node48_lower_bound
  - roaring::internal::art_node48_internal_validate
  - roaring::internal::art_node256_create
  - roaring::internal::art_node256_find_child
  - roaring::internal::art_node256_insert
  - roaring::internal::art_node256_erase
  - roaring::internal::art_node256_replace
  - roaring::internal::art_node256_next_child
  - roaring::internal::art_node256_prev_child
  - roaring::internal::art_node256_child_at
  - roaring::internal::art_node256_lower_bound
  - roaring::internal::art_node256_internal_validate
  - roaring::internal::art_find_child
  - roaring::internal::art_replace
  - roaring::internal::art_node_erase
  - roaring::internal::art_node_insert_leaf
  - roaring::internal::art_node_get_next_free
  - roaring::internal::art_node_set_next_free
  - roaring::internal::art_node_free
  - roaring::internal::art_node_next_child
  - roaring::internal::art_node_prev_child
  - roaring::internal::art_node_child_at
  - roaring::internal::art_node_lower_bound
  - roaring::internal::art_compare_prefix
  - roaring::internal::art_compare_keys
  - roaring::internal::art_common_prefix
  - roaring::internal::art_extend
  - roaring::internal::art_next_free
  - roaring::internal::art_allocate_index
  - roaring::internal::art_insert_at
  - roaring::internal::art_erase_at
  - roaring::internal::art_find_at
  - roaring::internal::art_node_print_type
  - roaring::internal::art_node_printf
  - roaring::internal::art_move_node_to_shrink
  - roaring::internal::art_sort_free_lists
  - roaring::internal::art_shrink_node_arrays
  - roaring::internal::art_shrink_at
  - roaring::internal::art_init_cleared
  - roaring::internal::art_shrink_to_fit
  - roaring::internal::art_is_shrunken
  - roaring::internal::art_insert
  - roaring::internal::art_erase
  - roaring::internal::art_find
  - roaring::internal::art_is_empty
  - roaring::internal::art_free
  - roaring::internal::art_printf
  - roaring::internal::art_iterator_ref
  - roaring::internal::art_iterator_node
  - roaring::internal::art_iterator_valid_loc
  - roaring::internal::art_iterator_invalid_loc
  - roaring::internal::art_iterator_down
  - roaring::internal::art_iterator_neighbor_child
  - roaring::internal::art_iterator_up
  - roaring::internal::art_iterator_up_and_move
  - roaring::internal::art_node_init_iterator
  - roaring::internal::art_iterator_move
  - roaring::internal::art_node_iterator_lower_bound
  - roaring::internal::art_init_iterator
  - roaring::internal::art_iterator_next
  - roaring::internal::art_iterator_prev
  - roaring::internal::art_iterator_lower_bound
  - roaring::internal::art_lower_bound
  - roaring::internal::art_upper_bound
  - roaring::internal::art_iterator_insert
  - roaring::internal::art_iterator_erase
  - roaring::internal::art_internal_validate_at
  - roaring::internal::art_internal_validate
  - roaring::internal::art_size_in_bytes
  - roaring::internal::art_serialize
  - roaring::internal::art_frozen_view
  - roaring::internal::art_validate_fail
  - roaring::internal::art_to_ref
  - roaring::internal::art_ref_index
  - roaring::internal::art_ref_typecode
  - roaring::internal::art_deref
  - roaring::internal::art_get_node
  - roaring::internal::art_get_index
  - roaring::internal::art_get_ref
  - roaring::internal::art_is_leaf
  - roaring::internal::art_init_inner_node
  - roaring::internal::art_leaf_create
  - roaring::internal::art_node4_create
  - roaring::internal::art_node4_find_child
  - roaring::internal::art_node4_insert
  - roaring::internal::art_node4_erase
  - roaring::internal::art_node4_replace
  - roaring::internal::art_node4_next_child
  - roaring::internal::art_node4_prev_child
  - roaring::internal::art_node4_child_at
  - roaring::internal::art_node4_lower_bound
  - roaring::internal::art_node4_internal_validate
  - roaring::internal::art_node16_create
  - roaring::internal::art_node16_find_child
  - roaring::internal::art_node16_insert
  - roaring::internal::art_node16_erase
  - roaring::internal::art_node16_replace
  - roaring::internal::art_node16_next_child
  - roaring::internal::art_node16_prev_child
  - roaring::internal::art_node16_child_at
  - roaring::internal::art_node16_lower_bound
  - roaring::internal::art_node16_internal_validate
  - roaring::internal::art_node48_create
  - roaring::internal::art_node48_find_child
  - roaring::internal::art_node48_insert
  - roaring::internal::art_node48_erase
  - roaring::internal::art_node48_replace
  - roaring::internal::art_node48_next_child
  - roaring::internal::art_node48_prev_child
  - roaring::internal::art_node48_child_at
  - roaring::internal::art_node48_lower_bound
  - roaring::internal::art_node48_internal_validate
  - roaring::internal::art_node256_create
  - roaring::internal::art_node256_find_child
  - roaring::internal::art_node256_insert
  - roaring::internal::art_node256_erase
  - roaring::internal::art_node256_replace
  - roaring::internal::art_node256_next_child
  - roaring::internal::art_node256_prev_child
  - roaring::internal::art_node256_child_at
  - roaring::internal::art_node256_lower_bound
  - roaring::internal::art_node256_internal_validate
  - roaring::internal::art_find_child
  - roaring::internal::art_replace
  - roaring::internal::art_node_erase
  - roaring::internal::art_node_insert_leaf
  - roaring::internal::art_node_get_next_free
  - roaring::internal::art_node_set_next_free
  - roaring::internal::art_node_free
  - roaring::internal::art_node_next_child
  - roaring::internal::art_node_prev_child
  - roaring::internal::art_node_child_at
  - roaring::internal::art_node_lower_bound
  - roaring::internal::art_compare_prefix
  - roaring::internal::art_compare_keys
  - roaring::internal::art_common_prefix
  - roaring::internal::art_extend
  - roaring::internal::art_next_free
  - roaring::internal::art_allocate_index
  - roaring::internal::art_insert_at
  - roaring::internal::art_erase_at
  - roaring::internal::art_find_at
  - roaring::internal::art_node_print_type
  - roaring::internal::art_node_printf
  - roaring::internal::art_move_node_to_shrink
  - roaring::internal::art_sort_free_lists
  - roaring::internal::art_shrink_node_arrays
  - roaring::internal::art_shrink_at
  - roaring::internal::art_init_cleared
  - roaring::internal::art_shrink_to_fit
  - roaring::internal::art_is_shrunken
  - roaring::internal::art_insert
  - roaring::internal::art_erase
  - roaring::internal::art_find
  - roaring::internal::art_is_empty
  - roaring::internal::art_free
  - roaring::internal::art_printf
  - roaring::internal::art_iterator_ref
  - roaring::internal::art_iterator_node
  - roaring::internal::art_iterator_valid_loc
  - roaring::internal::art_iterator_invalid_loc
  - roaring::internal::art_iterator_down
  - roaring::internal::art_iterator_neighbor_child
  - roaring::internal::art_iterator_up
  - roaring::internal::art_iterator_up_and_move
  - roaring::internal::art_node_init_iterator
  - roaring::internal::art_iterator_move
  - roaring::internal::art_node_iterator_lower_bound
  - roaring::internal::art_init_iterator
  - roaring::internal::art_iterator_next
  - roaring::internal::art_iterator_prev
  - roaring::internal::art_iterator_lower_bound
  - roaring::internal::art_lower_bound
  - roaring::internal::art_upper_bound
  - roaring::internal::art_iterator_insert
  - roaring::internal::art_iterator_erase
  - roaring::internal::art_internal_validate_at
  - roaring::internal::art_internal_validate
  - roaring::internal::art_size_in_bytes
  - roaring::internal::art_serialize
  - roaring::internal::art_frozen_view
  - roaring::internal::art_validate_fail
  - roaring::internal::art_to_ref
  - roaring::internal::art_ref_index
  - roaring::internal::art_ref_typecode
  - roaring::internal::art_deref
  - roaring::internal::art_get_node
  - roaring::internal::art_get_index
  - roaring::internal::art_get_ref
  - roaring::internal::art_is_leaf
  - roaring::internal::art_init_inner_node
  - roaring::internal::art_leaf_create
  - roaring::internal::art_node4_create
  - roaring::internal::art_node4_find_child
  - roaring::internal::art_node4_insert
  - roaring::internal::art_node4_erase
  - roaring::internal::art_node4_replace
  - roaring::internal::art_node4_next_child
  - roaring::internal::art_node4_prev_child
  - roaring::internal::art_node4_child_at
  - roaring::internal::art_node4_lower_bound
  - roaring::internal::art_node4_internal_validate
  - roaring::internal::art_node16_create
  - roaring::internal::art_node16_find_child
  - roaring::internal::art_node16_insert
  - roaring::internal::art_node16_erase
  - roaring::internal::art_node16_replace
  - roaring::internal::art_node16_next_child
  - roaring::internal::art_node16_prev_child
  - roaring::internal::art_node16_child_at
  - roaring::internal::art_node16_lower_bound
  - roaring::internal::art_node16_internal_validate
  - roaring::internal::art_node48_create
  - roaring::internal::art_node48_find_child
  - roaring::internal::art_node48_insert
  - roaring::internal::art_node48_erase
  - roaring::internal::art_node48_replace
  - roaring::internal::art_node48_next_child
  - roaring::internal::art_node48_prev_child
  - roaring::internal::art_node48_child_at
  - roaring::internal::art_node48_lower_bound
  - roaring::internal::art_node48_internal_validate
  - roaring::internal::art_node256_create
  - roaring::internal::art_node256_find_child
  - roaring::internal::art_node256_insert
  - roaring::internal::art_node256_erase
  - roaring::internal::art_node256_replace
  - roaring::internal::art_node256_next_child
  - roaring::internal::art_node256_prev_child
  - roaring::internal::art_node256_child_at
  - roaring::internal::art_node256_lower_bound
  - roaring::internal::art_node256_internal_validate
  - roaring::internal::art_find_child
  - roaring::internal::art_replace
  - roaring::internal::art_node_erase
  - roaring::internal::art_node_insert_leaf
  - roaring::internal::art_node_get_next_free
  - roaring::internal::art_node_set_next_free
  - roaring::internal::art_node_free
  - roaring::internal::art_node_next_child
  - roaring::internal::art_node_prev_child
  - roaring::internal::art_node_child_at
  - roaring::internal::art_node_lower_bound
  - roaring::internal::art_compare_prefix
  - roaring::internal::art_compare_keys
  - roaring::internal::art_common_prefix
  - roaring::internal::art_extend
  - roaring::internal::art_next_free
  - roaring::internal::art_allocate_index
  - roaring::internal::art_insert_at
  - roaring::internal::art_erase_at
  - roaring::internal::art_find_at
  - roaring::internal::art_node_print_type
  - roaring::internal::art_node_printf
  - roaring::internal::art_move_node_to_shrink
  - roaring::internal::art_sort_free_lists
  - roaring::internal::art_shrink_node_arrays
  - roaring::internal::art_shrink_at
  - roaring::internal::art_init_cleared
  - roaring::internal::art_shrink_to_fit
  - roaring::internal::art_is_shrunken
  - roaring::internal::art_insert
  - roaring::internal::art_erase
  - roaring::internal::art_find
  - roaring::internal::art_is_empty
  - roaring::internal::art_free
  - roaring::internal::art_printf
  - roaring::internal::art_iterator_ref
  - roaring::internal::art_iterator_node
  - roaring::internal::art_iterator_valid_loc
  - roaring::internal::art_iterator_invalid_loc
  - roaring::internal::art_iterator_down
  - roaring::internal::art_iterator_neighbor_child
  - roaring::internal::art_iterator_up
  - roaring::internal::art_iterator_up_and_move
  - roaring::internal::art_node_init_iterator
  - roaring::internal::art_iterator_move
  - roaring::internal::art_node_iterator_lower_bound
  - roaring::internal::art_init_iterator
  - roaring::internal::art_iterator_next
  - roaring::internal::art_iterator_prev
  - roaring::internal::art_iterator_lower_bound
  - roaring::internal::art_lower_bound
  - roaring::internal::art_upper_bound
  - roaring::internal::art_iterator_insert
  - roaring::internal::art_iterator_erase
  - roaring::internal::art_internal_validate_at
  - roaring::internal::art_internal_validate
  - roaring::internal::art_size_in_bytes
  - roaring::internal::art_serialize
  - roaring::internal::art_frozen_view
  - roaring::internal::art_validate_fail
  - roaring::internal::art_to_ref
  - roaring::internal::art_ref_index
  - roaring::internal::art_ref_typecode
  - roaring::internal::art_deref
  - roaring::internal::art_get_node
  - roaring::internal::art_get_index
  - roaring::internal::art_get_ref
  - roaring::internal::art_is_leaf
  - roaring::internal::art_init_inner_node
  - roaring::internal::art_leaf_create
  - roaring::internal::art_node4_create
  - roaring::internal::art_node4_find_child
  - roaring::internal::art_node4_insert
  - roaring::internal::art_node4_erase
  - roaring::internal::art_node4_replace
  - roaring::internal::art_node4_next_child
  - roaring::internal::art_node4_prev_child
  - roaring::internal::art_node4_child_at
  - roaring::internal::art_node4_lower_bound
  - roaring::internal::art_node4_internal_validate
  - roaring::internal::art_node16_create
  - roaring::internal::art_node16_find_child
  - roaring::internal::art_node16_insert
  - roaring::internal::art_node16_erase
  - roaring::internal::art_node16_replace
  - roaring::internal::art_node16_next_child
  - roaring::internal::art_node16_prev_child
  - roaring::internal::art_node16_child_at
  - roaring::internal::art_node16_lower_bound
  - roaring::internal::art_node16_internal_validate
  - roaring::internal::art_node48_create
  - roaring::internal::art_node48_find_child
  - roaring::internal::art_node48_insert
  - roaring::internal::art_node48_erase
  - roaring::internal::art_node48_replace
  - roaring::internal::art_node48_next_child
  - roaring::internal::art_node48_prev_child
  - roaring::internal::art_node48_child_at
  - roaring::internal::art_node48_lower_bound
  - roaring::internal::art_node48_internal_validate
  - roaring::internal::art_node256_create
  - roaring::internal::art_node256_find_child
  - roaring::internal::art_node256_insert
  - roaring::internal::art_node256_erase
  - roaring::internal::art_node256_replace
  - roaring::internal::art_node256_next_child
  - roaring::internal::art_node256_prev_child
  - roaring::internal::art_node256_child_at
  - roaring::internal::art_node256_lower_bound
  - roaring::internal::art_node256_internal_validate
  - roaring::internal::art_find_child
  - roaring::internal::art_replace
  - roaring::internal::art_node_erase
  - roaring::internal::art_node_insert_leaf
  - roaring::internal::art_node_get_next_free
  - roaring::internal::art_node_set_next_free
  - roaring::internal::art_node_free
  - roaring::internal::art_node_next_child
  - roaring::internal::art_node_prev_child
  - roaring::internal::art_node_child_at
  - roaring::internal::art_node_lower_bound
  - roaring::internal::art_compare_prefix
  - roaring::internal::art_compare_keys
  - roaring::internal::art_common_prefix
  - roaring::internal::art_extend
  - roaring::internal::art_next_free
  - roaring::internal::art_allocate_index
  - roaring::internal::art_insert_at
  - roaring::internal::art_erase_at
  - roaring::internal::art_find_at
  - roaring::internal::art_node_print_type
  - roaring::internal::art_node_printf
  - roaring::internal::art_move_node_to_shrink
  - roaring::internal::art_sort_free_lists
  - roaring::internal::art_shrink_node_arrays
  - roaring::internal::art_shrink_at
  - roaring::internal::art_init_cleared
  - roaring::internal::art_shrink_to_fit
  - roaring::internal::art_is_shrunken
  - roaring::internal::art_insert
  - roaring::internal::art_erase
  - roaring::internal::art_find
  - roaring::internal::art_is_empty
  - roaring::internal::art_free
  - roaring::internal::art_printf
  - roaring::internal::art_iterator_ref
  - roaring::internal::art_iterator_node
  - roaring::internal::art_iterator_valid_loc
  - roaring::internal::art_iterator_invalid_loc
  - roaring::internal::art_iterator_down
  - roaring::internal::art_iterator_neighbor_child
  - roaring::internal::art_iterator_up
  - roaring::internal::art_iterator_up_and_move
  - roaring::internal::art_node_init_iterator
  - roaring::internal::art_iterator_move
  - roaring::internal::art_node_iterator_lower_bound
  - roaring::internal::art_init_iterator
  - roaring::internal::art_iterator_next
  - roaring::internal::art_iterator_prev
  - roaring::internal::art_iterator_lower_bound
  - roaring::internal::art_lower_bound
  - roaring::internal::art_upper_bound
  - roaring::internal::art_iterator_insert
  - roaring::internal::art_iterator_erase
  - roaring::internal::art_internal_validate_at
  - roaring::internal::art_internal_validate
  - roaring::internal::art_size_in_bytes
  - roaring::internal::art_serialize
  - roaring::internal::art_frozen_view
  - roaring::api::bitset_extract_setbits_avx512
  - roaring::api::bitset_extract_setbits_avx512_uint16
  - roaring::api::bitset_extract_setbits_avx2
  - roaring::api::bitset_extract_setbits
  - roaring::api::bitset_extract_intersection_setbits_uint16
  - roaring::api::bitset_extract_setbits_sse_uint16
  - roaring::api::bitset_extract_setbits_uint16
  - roaring::api::_asm_bitset_set_list_withcard
  - roaring::api::_asm_bitset_set_list
  - roaring::api::_asm_bitset_clear_list
  - roaring::api::_scalar_bitset_clear_list
  - roaring::api::_scalar_bitset_set_list_withcard
  - roaring::api::_scalar_bitset_set_list
  - roaring::api::bitset_clear_list
  - roaring::api::bitset_set_list_withcard
  - roaring::api::bitset_set_list
  - roaring::api::bitset_clear_list
  - roaring::api::bitset_set_list_withcard
  - roaring::api::bitset_set_list
  - roaring::api::bitset_flip_list_withcard
  - roaring::api::bitset_flip_list
  - roaring::api::bitset_extract_setbits_avx512
  - roaring::api::bitset_extract_setbits_avx512_uint16
  - roaring::api::bitset_extract_setbits_avx2
  - roaring::api::bitset_extract_setbits
  - roaring::api::bitset_extract_intersection_setbits_uint16
  - roaring::api::bitset_extract_setbits_sse_uint16
  - roaring::api::bitset_extract_setbits_uint16
  - roaring::api::_asm_bitset_set_list_withcard
  - roaring::api::_asm_bitset_set_list
  - roaring::api::_asm_bitset_clear_list
  - roaring::api::_scalar_bitset_clear_list
  - roaring::api::_scalar_bitset_set_list_withcard
  - roaring::api::_scalar_bitset_set_list
  - roaring::api::bitset_clear_list
  - roaring::api::bitset_set_list_withcard
  - roaring::api::bitset_set_list
  - roaring::api::bitset_clear_list
  - roaring::api::bitset_set_list_withcard
  - roaring::api::bitset_set_list
  - roaring::api::bitset_flip_list_withcard
  - roaring::api::bitset_flip_list
  - roaring::api::bitset_extract_setbits_avx512
  - roaring::api::bitset_extract_setbits_avx512_uint16
  - roaring::api::bitset_extract_setbits_avx2
  - roaring::api::bitset_extract_setbits
  - roaring::api::bitset_extract_intersection_setbits_uint16
  - roaring::api::bitset_extract_setbits_sse_uint16
  - roaring::api::bitset_extract_setbits_uint16
  - roaring::api::_asm_bitset_set_list_withcard
  - roaring::api::_asm_bitset_set_list
  - roaring::api::_asm_bitset_clear_list
  - roaring::api::_scalar_bitset_clear_list
  - roaring::api::_scalar_bitset_set_list_withcard
  - roaring::api::_scalar_bitset_set_list
  - roaring::api::bitset_clear_list
  - roaring::api::bitset_set_list_withcard
  - roaring::api::bitset_set_list
  - roaring::api::bitset_clear_list
  - roaring::api::bitset_set_list_withcard
  - roaring::api::bitset_set_list
  - roaring::api::bitset_flip_list_withcard
  - roaring::api::bitset_flip_list
  - roaring::api::bitset_extract_setbits_avx512
  - roaring::api::bitset_extract_setbits_avx512_uint16
  - roaring::api::bitset_extract_setbits_avx2
  - roaring::api::bitset_extract_setbits
  - roaring::api::bitset_extract_intersection_setbits_uint16
  - roaring::api::bitset_extract_setbits_sse_uint16
  - roaring::api::bitset_extract_setbits_uint16
  - roaring::api::_asm_bitset_set_list_withcard
  - roaring::api::_asm_bitset_set_list
  - roaring::api::_asm_bitset_clear_list
  - roaring::api::_scalar_bitset_clear_list
  - roaring::api::_scalar_bitset_set_list_withcard
  - roaring::api::_scalar_bitset_set_list
  - roaring::api::bitset_clear_list
  - roaring::api::bitset_set_list_withcard
  - roaring::api::bitset_set_list
  - roaring::api::bitset_clear_list
  - roaring::api::bitset_set_list_withcard
  - roaring::api::bitset_set_list
  - roaring::api::bitset_flip_list_withcard
  - roaring::api::bitset_flip_list
  - roaring::internal::bitset_create
  - roaring::internal::bitset_create_with_capacity
  - roaring::internal::bitset_copy
  - roaring::internal::bitset_clear
  - roaring::internal::bitset_fill
  - roaring::internal::bitset_shift_left
  - roaring::internal::bitset_shift_right
  - roaring::internal::bitset_free
  - roaring::internal::bitset_resize
  - roaring::internal::bitset_count
  - roaring::internal::bitset_empty
  - roaring::internal::bitset_minimum
  - roaring::internal::bitset_grow
  - roaring::internal::bitset_maximum
  - roaring::internal::bitsets_disjoint
  - roaring::internal::bitsets_intersect
  - roaring::internal::any_bits_set
  - roaring::internal::bitset_contains_all
  - roaring::internal::bitset_union_count
  - roaring::internal::bitset_intersection_count
  - roaring::internal::bitset_difference_count
  - roaring::internal::bitset_symmetric_difference_count
  - roaring::internal::bitset_trim
  - roaring::internal::bitset_create
  - roaring::internal::bitset_create_with_capacity
  - roaring::internal::bitset_copy
  - roaring::internal::bitset_clear
  - roaring::internal::bitset_fill
  - roaring::internal::bitset_shift_left
  - roaring::internal::bitset_shift_right
  - roaring::internal::bitset_free
  - roaring::internal::bitset_resize
  - roaring::internal::bitset_count
  - roaring::internal::bitset_empty
  - roaring::internal::bitset_minimum
  - roaring::internal::bitset_grow
  - roaring::internal::bitset_maximum
  - roaring::internal::bitsets_disjoint
  - roaring::internal::bitsets_intersect
  - roaring::internal::any_bits_set
  - roaring::internal::bitset_contains_all
  - roaring::internal::bitset_union_count
  - roaring::internal::bitset_intersection_count
  - roaring::internal::bitset_difference_count
  - roaring::internal::bitset_symmetric_difference_count
  - roaring::internal::bitset_trim
  - roaring::internal::bitset_create
  - roaring::internal::bitset_create_with_capacity
  - roaring::internal::bitset_copy
  - roaring::internal::bitset_clear
  - roaring::internal::bitset_fill
  - roaring::internal::bitset_shift_left
  - roaring::internal::bitset_shift_right
  - roaring::internal::bitset_free
  - roaring::internal::bitset_resize
  - roaring::internal::bitset_count
  - roaring::internal::bitset_empty
  - roaring::internal::bitset_minimum
  - roaring::internal::bitset_grow
  - roaring::internal::bitset_maximum
  - roaring::internal::bitsets_disjoint
  - roaring::internal::bitsets_intersect
  - roaring::internal::any_bits_set
  - roaring::internal::bitset_contains_all
  - roaring::internal::bitset_union_count
  - roaring::internal::bitset_intersection_count
  - roaring::internal::bitset_difference_count
  - roaring::internal::bitset_symmetric_difference_count
  - roaring::internal::bitset_trim
  - roaring::internal::bitset_create
  - roaring::internal::bitset_create_with_capacity
  - roaring::internal::bitset_copy
  - roaring::internal::bitset_clear
  - roaring::internal::bitset_fill
  - roaring::internal::bitset_shift_left
  - roaring::internal::bitset_shift_right
  - roaring::internal::bitset_free
  - roaring::internal::bitset_resize
  - roaring::internal::bitset_count
  - roaring::internal::bitset_empty
  - roaring::internal::bitset_minimum
  - roaring::internal::bitset_grow
  - roaring::internal::bitset_maximum
  - roaring::internal::bitsets_disjoint
  - roaring::internal::bitsets_intersect
  - roaring::internal::any_bits_set
  - roaring::internal::bitset_contains_all
  - roaring::internal::bitset_union_count
  - roaring::internal::bitset_intersection_count
  - roaring::internal::bitset_difference_count
  - roaring::internal::bitset_symmetric_difference_count
  - roaring::internal::bitset_trim
  - roaring::internal::array_container_create_given_capacity
  - roaring::internal::array_container_create
  - roaring::internal::array_container_create_range
  - array_container_t *array_container_clone(const array_container_t *src)
  - roaring::internal::array_container_offset
  - roaring::internal::array_container_shrink_to_fit
  - roaring::internal::array_container_free
  - roaring::internal::grow_capacity
  - roaring::internal::clamp
  - roaring::internal::array_container_grow
  - roaring::internal::array_container_copy
  - roaring::internal::array_container_add_from_range
  - roaring::internal::array_container_union
  - roaring::internal::array_container_andnot
  - roaring::internal::array_container_xor
  - roaring::internal::minimum_int32
  - roaring::internal::array_container_intersection
  - roaring::internal::array_container_intersection_cardinality
  - roaring::internal::array_container_intersect
  - roaring::internal::array_container_intersection_inplace
  - roaring::internal::array_container_to_uint32_array
  - roaring::internal::array_container_printf
  - roaring::internal::array_container_printf_as_uint32_array
  - roaring::internal::array_container_validate
  - roaring::internal::array_container_number_of_runs
  - roaring::internal::array_container_write
  - roaring::internal::array_container_is_subset
  - roaring::internal::array_container_read
  - roaring::internal::array_container_iterate
  - roaring::internal::array_container_iterate64
  - roaring::internal::array_container_create_given_capacity
  - roaring::internal::array_container_create
  - roaring::internal::array_container_create_range
  - array_container_t *array_container_clone(const array_container_t *src)
  - roaring::internal::array_container_offset
  - roaring::internal::array_container_shrink_to_fit
  - roaring::internal::array_container_free
  - roaring::internal::grow_capacity
  - roaring::internal::clamp
  - roaring::internal::array_container_grow
  - roaring::internal::array_container_copy
  - roaring::internal::array_container_add_from_range
  - roaring::internal::array_container_union
  - roaring::internal::array_container_andnot
  - roaring::internal::array_container_xor
  - roaring::internal::minimum_int32
  - roaring::internal::array_container_intersection
  - roaring::internal::array_container_intersection_cardinality
  - roaring::internal::array_container_intersect
  - roaring::internal::array_container_intersection_inplace
  - roaring::internal::array_container_to_uint32_array
  - roaring::internal::array_container_printf
  - roaring::internal::array_container_printf_as_uint32_array
  - roaring::internal::array_container_validate
  - roaring::internal::array_container_number_of_runs
  - roaring::internal::array_container_write
  - roaring::internal::array_container_is_subset
  - roaring::internal::array_container_read
  - roaring::internal::array_container_iterate
  - roaring::internal::array_container_iterate64
  - roaring::internal::array_container_create_given_capacity
  - roaring::internal::array_container_create
  - roaring::internal::array_container_create_range
  - array_container_t *array_container_clone(const array_container_t *src)
  - roaring::internal::array_container_offset
  - roaring::internal::array_container_shrink_to_fit
  - roaring::internal::array_container_free
  - roaring::internal::grow_capacity
  - roaring::internal::clamp
  - roaring::internal::array_container_grow
  - roaring::internal::array_container_copy
  - roaring::internal::array_container_add_from_range
  - roaring::internal::array_container_union
  - roaring::internal::array_container_andnot
  - roaring::internal::array_container_xor
  - roaring::internal::minimum_int32
  - roaring::internal::array_container_intersection
  - roaring::internal::array_container_intersection_cardinality
  - roaring::internal::array_container_intersect
  - roaring::internal::array_container_intersection_inplace
  - roaring::internal::array_container_to_uint32_array
  - roaring::internal::array_container_printf
  - roaring::internal::array_container_printf_as_uint32_array
  - roaring::internal::array_container_validate
  - roaring::internal::array_container_number_of_runs
  - roaring::internal::array_container_write
  - roaring::internal::array_container_is_subset
  - roaring::internal::array_container_read
  - roaring::internal::array_container_iterate
  - roaring::internal::array_container_iterate64
  - roaring::internal::array_container_create_given_capacity
  - roaring::internal::array_container_create
  - roaring::internal::array_container_create_range
  - array_container_t *array_container_clone(const array_container_t *src)
  - roaring::internal::array_container_offset
  - roaring::internal::array_container_shrink_to_fit
  - roaring::internal::array_container_free
  - roaring::internal::grow_capacity
  - roaring::internal::clamp
  - roaring::internal::array_container_grow
  - roaring::internal::array_container_copy
  - roaring::internal::array_container_add_from_range
  - roaring::internal::array_container_union
  - roaring::internal::array_container_andnot
  - roaring::internal::array_container_xor
  - roaring::internal::minimum_int32
  - roaring::internal::array_container_intersection
  - roaring::internal::array_container_intersection_cardinality
  - roaring::internal::array_container_intersect
  - roaring::internal::array_container_intersection_inplace
  - roaring::internal::array_container_to_uint32_array
  - roaring::internal::array_container_printf
  - roaring::internal::array_container_printf_as_uint32_array
  - roaring::internal::array_container_validate
  - roaring::internal::array_container_number_of_runs
  - roaring::internal::array_container_write
  - roaring::internal::array_container_is_subset
  - roaring::internal::array_container_read
  - roaring::internal::array_container_iterate
  - roaring::internal::array_container_iterate64
  - roaring::internal::bitset_container_clear
  - roaring::internal::bitset_container_set_all
  - roaring::internal::bitset_container_create
  - roaring::internal::bitset_container_copy
  - roaring::internal::bitset_container_add_from_range
  - roaring::internal::bitset_container_free
  - bitset_container_t *bitset_container_clone(const bitset_container_t *src)
  - roaring::internal::bitset_container_offset
  - roaring::internal::bitset_container_set_range
  - roaring::internal::bitset_container_intersect
  - roaring::internal::_scalar_bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - CROARING_AVX512_BITSET_CONTAINER_FN1
  - CROARING_AVX512_BITSET_CONTAINER_FN2
  - CROARING_AVX512_BITSET_CONTAINER_FN3
  - CROARING_AVX_BITSET_CONTAINER_FN1
  - CROARING_AVX_BITSET_CONTAINER_FN2
  - CROARING_AVX_BITSET_CONTAINER_FN3
  - SCALAR_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - roaring::internal::bitset_container_to_uint32_array
  - roaring::internal::bitset_container_printf
  - roaring::internal::bitset_container_printf_as_uint32_array
  - roaring::internal::bitset_container_validate
  - roaring::internal::bitset_container_number_of_runs
  - roaring::internal::bitset_container_write
  - roaring::internal::bitset_container_read
  - roaring::internal::bitset_container_iterate
  - roaring::internal::bitset_container_iterate64
  - roaring::internal::_avx512_bitset_container_equals
  - roaring::internal::_avx2_bitset_container_equals
  - roaring::internal::bitset_container_equals
  - roaring::internal::bitset_container_is_subset
  - roaring::internal::bitset_container_select
  - roaring::internal::bitset_container_minimum
  - roaring::internal::bitset_container_maximum
  - roaring::internal::bitset_container_rank
  - roaring::internal::bitset_container_rank_many
  - roaring::internal::bitset_container_get_index
  - roaring::internal::bitset_container_index_equalorlarger
  - roaring::internal::bitset_container_clear
  - roaring::internal::bitset_container_set_all
  - roaring::internal::bitset_container_create
  - roaring::internal::bitset_container_copy
  - roaring::internal::bitset_container_add_from_range
  - roaring::internal::bitset_container_free
  - bitset_container_t *bitset_container_clone(const bitset_container_t *src)
  - roaring::internal::bitset_container_offset
  - roaring::internal::bitset_container_set_range
  - roaring::internal::bitset_container_intersect
  - roaring::internal::_scalar_bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - CROARING_AVX512_BITSET_CONTAINER_FN1
  - CROARING_AVX512_BITSET_CONTAINER_FN2
  - CROARING_AVX512_BITSET_CONTAINER_FN3
  - CROARING_AVX_BITSET_CONTAINER_FN1
  - CROARING_AVX_BITSET_CONTAINER_FN2
  - CROARING_AVX_BITSET_CONTAINER_FN3
  - SCALAR_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - roaring::internal::bitset_container_to_uint32_array
  - roaring::internal::bitset_container_printf
  - roaring::internal::bitset_container_printf_as_uint32_array
  - roaring::internal::bitset_container_validate
  - roaring::internal::bitset_container_number_of_runs
  - roaring::internal::bitset_container_write
  - roaring::internal::bitset_container_read
  - roaring::internal::bitset_container_iterate
  - roaring::internal::bitset_container_iterate64
  - roaring::internal::_avx512_bitset_container_equals
  - roaring::internal::_avx2_bitset_container_equals
  - roaring::internal::bitset_container_equals
  - roaring::internal::bitset_container_is_subset
  - roaring::internal::bitset_container_select
  - roaring::internal::bitset_container_minimum
  - roaring::internal::bitset_container_maximum
  - roaring::internal::bitset_container_rank
  - roaring::internal::bitset_container_rank_many
  - roaring::internal::bitset_container_get_index
  - roaring::internal::bitset_container_index_equalorlarger
  - roaring::internal::bitset_container_clear
  - roaring::internal::bitset_container_set_all
  - roaring::internal::bitset_container_create
  - roaring::internal::bitset_container_copy
  - roaring::internal::bitset_container_add_from_range
  - roaring::internal::bitset_container_free
  - bitset_container_t *bitset_container_clone(const bitset_container_t *src)
  - roaring::internal::bitset_container_offset
  - roaring::internal::bitset_container_set_range
  - roaring::internal::bitset_container_intersect
  - roaring::internal::_scalar_bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - CROARING_AVX512_BITSET_CONTAINER_FN1
  - CROARING_AVX512_BITSET_CONTAINER_FN2
  - CROARING_AVX512_BITSET_CONTAINER_FN3
  - CROARING_AVX_BITSET_CONTAINER_FN1
  - CROARING_AVX_BITSET_CONTAINER_FN2
  - CROARING_AVX_BITSET_CONTAINER_FN3
  - SCALAR_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - roaring::internal::bitset_container_to_uint32_array
  - roaring::internal::bitset_container_printf
  - roaring::internal::bitset_container_printf_as_uint32_array
  - roaring::internal::bitset_container_validate
  - roaring::internal::bitset_container_number_of_runs
  - roaring::internal::bitset_container_write
  - roaring::internal::bitset_container_read
  - roaring::internal::bitset_container_iterate
  - roaring::internal::bitset_container_iterate64
  - roaring::internal::_avx512_bitset_container_equals
  - roaring::internal::_avx2_bitset_container_equals
  - roaring::internal::bitset_container_equals
  - roaring::internal::bitset_container_is_subset
  - roaring::internal::bitset_container_select
  - roaring::internal::bitset_container_minimum
  - roaring::internal::bitset_container_maximum
  - roaring::internal::bitset_container_rank
  - roaring::internal::bitset_container_rank_many
  - roaring::internal::bitset_container_get_index
  - roaring::internal::bitset_container_index_equalorlarger
  - roaring::internal::bitset_container_clear
  - roaring::internal::bitset_container_set_all
  - roaring::internal::bitset_container_create
  - roaring::internal::bitset_container_copy
  - roaring::internal::bitset_container_add_from_range
  - roaring::internal::bitset_container_free
  - bitset_container_t *bitset_container_clone(const bitset_container_t *src)
  - roaring::internal::bitset_container_offset
  - roaring::internal::bitset_container_set_range
  - roaring::internal::bitset_container_intersect
  - roaring::internal::_scalar_bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - roaring::internal::bitset_container_compute_cardinality
  - CROARING_AVX512_BITSET_CONTAINER_FN1
  - CROARING_AVX512_BITSET_CONTAINER_FN2
  - CROARING_AVX512_BITSET_CONTAINER_FN3
  - CROARING_AVX_BITSET_CONTAINER_FN1
  - CROARING_AVX_BITSET_CONTAINER_FN2
  - CROARING_AVX_BITSET_CONTAINER_FN3
  - SCALAR_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - CROARING_BITSET_CONTAINER_FN
  - roaring::internal::bitset_container_to_uint32_array
  - roaring::internal::bitset_container_printf
  - roaring::internal::bitset_container_printf_as_uint32_array
  - roaring::internal::bitset_container_validate
  - roaring::internal::bitset_container_number_of_runs
  - roaring::internal::bitset_container_write
  - roaring::internal::bitset_container_read
  - roaring::internal::bitset_container_iterate
  - roaring::internal::bitset_container_iterate64
  - roaring::internal::_avx512_bitset_container_equals
  - roaring::internal::_avx2_bitset_container_equals
  - roaring::internal::bitset_container_equals
  - roaring::internal::bitset_container_is_subset
  - roaring::internal::bitset_container_select
  - roaring::internal::bitset_container_minimum
  - roaring::internal::bitset_container_maximum
  - roaring::internal::bitset_container_rank
  - roaring::internal::bitset_container_rank_many
  - roaring::internal::bitset_container_get_index
  - roaring::internal::bitset_container_index_equalorlarger
  - roaring::internal::minimum_uint32
  - roaring::internal::container_free
  - roaring::internal::container_printf
  - roaring::internal::container_printf_as_uint32_array
  - roaring::internal::container_internal_validate
  - roaring::internal::get_copy_of_container
  - roaring::internal::container_clone
  - roaring::internal::shared_container_extract_copy
  - roaring::internal::shared_container_free
  - roaring::internal::container_init_iterator
  - roaring::internal::container_init_iterator_last
  - roaring::internal::container_iterator_next
  - roaring::internal::container_iterator_prev
  - roaring::internal::container_iterator_lower_bound
  - roaring::internal::container_iterator_read_into_uint32
  - roaring::internal::container_iterator_read_into_uint64
  - roaring::internal::minimum_uint32
  - roaring::internal::container_free
  - roaring::internal::container_printf
  - roaring::internal::container_printf_as_uint32_array
  - roaring::internal::container_internal_validate
  - roaring::internal::get_copy_of_container
  - roaring::internal::container_clone
  - roaring::internal::shared_container_extract_copy
  - roaring::internal::shared_container_free
  - roaring::internal::container_init_iterator
  - roaring::internal::container_init_iterator_last
  - roaring::internal::container_iterator_next
  - roaring::internal::container_iterator_prev
  - roaring::internal::container_iterator_lower_bound
  - roaring::internal::container_iterator_read_into_uint32
  - roaring::internal::container_iterator_read_into_uint64
  - roaring::internal::minimum_uint32
  - roaring::internal::container_free
  - roaring::internal::container_printf
  - roaring::internal::container_printf_as_uint32_array
  - roaring::internal::container_internal_validate
  - roaring::internal::get_copy_of_container
  - roaring::internal::container_clone
  - roaring::internal::shared_container_extract_copy
  - roaring::internal::shared_container_free
  - roaring::internal::container_init_iterator
  - roaring::internal::container_init_iterator_last
  - roaring::internal::container_iterator_next
  - roaring::internal::container_iterator_prev
  - roaring::internal::container_iterator_lower_bound
  - roaring::internal::container_iterator_read_into_uint32
  - roaring::internal::container_iterator_read_into_uint64
  - roaring::internal::minimum_uint32
  - roaring::internal::container_free
  - roaring::internal::container_printf
  - roaring::internal::container_printf_as_uint32_array
  - roaring::internal::container_internal_validate
  - roaring::internal::get_copy_of_container
  - roaring::internal::container_clone
  - roaring::internal::shared_container_extract_copy
  - roaring::internal::shared_container_free
  - roaring::internal::container_init_iterator
  - roaring::internal::container_init_iterator_last
  - roaring::internal::container_iterator_next
  - roaring::internal::container_iterator_prev
  - roaring::internal::container_iterator_lower_bound
  - roaring::internal::container_iterator_read_into_uint32
  - roaring::internal::container_iterator_read_into_uint64
  - roaring::internal::bitset_container_from_array
  - roaring::internal::bitset_container_from_run
  - roaring::internal::array_container_from_run
  - roaring::internal::array_container_from_bitset
  - roaring::internal::add_run
  - roaring::internal::run_container_from_array
  - roaring::internal::convert_to_bitset_or_array_container
  - roaring::internal::convert_run_to_efficient_container
  - roaring::internal::convert_run_to_efficient_container_and_free
  - roaring::internal::convert_run_optimize
  - roaring::internal::container_from_run_range
  - roaring::internal::bitset_container_from_array
  - roaring::internal::bitset_container_from_run
  - roaring::internal::array_container_from_run
  - roaring::internal::array_container_from_bitset
  - roaring::internal::add_run
  - roaring::internal::run_container_from_array
  - roaring::internal::convert_to_bitset_or_array_container
  - roaring::internal::convert_run_to_efficient_container
  - roaring::internal::convert_run_to_efficient_container_and_free
  - roaring::internal::convert_run_optimize
  - roaring::internal::container_from_run_range
  - roaring::internal::bitset_container_from_array
  - roaring::internal::bitset_container_from_run
  - roaring::internal::array_container_from_run
  - roaring::internal::array_container_from_bitset
  - roaring::internal::add_run
  - roaring::internal::run_container_from_array
  - roaring::internal::convert_to_bitset_or_array_container
  - roaring::internal::convert_run_to_efficient_container
  - roaring::internal::convert_run_to_efficient_container_and_free
  - roaring::internal::convert_run_optimize
  - roaring::internal::container_from_run_range
  - roaring::internal::bitset_container_from_array
  - roaring::internal::bitset_container_from_run
  - roaring::internal::array_container_from_run
  - roaring::internal::array_container_from_bitset
  - roaring::internal::add_run
  - roaring::internal::run_container_from_array
  - roaring::internal::convert_to_bitset_or_array_container
  - roaring::internal::convert_run_to_efficient_container
  - roaring::internal::convert_run_to_efficient_container_and_free
  - roaring::internal::convert_run_optimize
  - roaring::internal::container_from_run_range
  - roaring::internal::array_bitset_container_andnot
  - roaring::internal::array_bitset_container_iandnot
  - roaring::internal::bitset_array_container_andnot
  - roaring::internal::bitset_array_container_iandnot
  - roaring::internal::run_bitset_container_andnot
  - roaring::internal::run_bitset_container_iandnot
  - roaring::internal::bitset_run_container_andnot
  - roaring::internal::bitset_run_container_iandnot
  - roaring::internal::run_array_array_subtract
  - roaring::internal::run_array_container_andnot
  - roaring::internal::run_array_container_iandnot
  - roaring::internal::array_run_container_andnot
  - roaring::internal::array_run_container_iandnot
  - roaring::internal::run_run_container_andnot
  - roaring::internal::run_run_container_iandnot
  - roaring::internal::array_array_container_andnot
  - roaring::internal::array_array_container_iandnot
  - roaring::internal::bitset_bitset_container_andnot
  - roaring::internal::bitset_bitset_container_iandnot
  - roaring::internal::array_bitset_container_andnot
  - roaring::internal::array_bitset_container_iandnot
  - roaring::internal::bitset_array_container_andnot
  - roaring::internal::bitset_array_container_iandnot
  - roaring::internal::run_bitset_container_andnot
  - roaring::internal::run_bitset_container_iandnot
  - roaring::internal::bitset_run_container_andnot
  - roaring::internal::bitset_run_container_iandnot
  - roaring::internal::run_array_array_subtract
  - roaring::internal::run_array_container_andnot
  - roaring::internal::run_array_container_iandnot
  - roaring::internal::array_run_container_andnot
  - roaring::internal::array_run_container_iandnot
  - roaring::internal::run_run_container_andnot
  - roaring::internal::run_run_container_iandnot
  - roaring::internal::array_array_container_andnot
  - roaring::internal::array_array_container_iandnot
  - roaring::internal::bitset_bitset_container_andnot
  - roaring::internal::bitset_bitset_container_iandnot
  - roaring::internal::array_bitset_container_andnot
  - roaring::internal::array_bitset_container_iandnot
  - roaring::internal::bitset_array_container_andnot
  - roaring::internal::bitset_array_container_iandnot
  - roaring::internal::run_bitset_container_andnot
  - roaring::internal::run_bitset_container_iandnot
  - roaring::internal::bitset_run_container_andnot
  - roaring::internal::bitset_run_container_iandnot
  - roaring::internal::run_array_array_subtract
  - roaring::internal::run_array_container_andnot
  - roaring::internal::run_array_container_iandnot
  - roaring::internal::array_run_container_andnot
  - roaring::internal::array_run_container_iandnot
  - roaring::internal::run_run_container_andnot
  - roaring::internal::run_run_container_iandnot
  - roaring::internal::array_array_container_andnot
  - roaring::internal::array_array_container_iandnot
  - roaring::internal::bitset_bitset_container_andnot
  - roaring::internal::bitset_bitset_container_iandnot
  - roaring::internal::array_bitset_container_andnot
  - roaring::internal::array_bitset_container_iandnot
  - roaring::internal::bitset_array_container_andnot
  - roaring::internal::bitset_array_container_iandnot
  - roaring::internal::run_bitset_container_andnot
  - roaring::internal::run_bitset_container_iandnot
  - roaring::internal::bitset_run_container_andnot
  - roaring::internal::bitset_run_container_iandnot
  - roaring::internal::run_array_array_subtract
  - roaring::internal::run_array_container_andnot
  - roaring::internal::run_array_container_iandnot
  - roaring::internal::array_run_container_andnot
  - roaring::internal::array_run_container_iandnot
  - roaring::internal::run_run_container_andnot
  - roaring::internal::run_run_container_iandnot
  - roaring::internal::array_array_container_andnot
  - roaring::internal::array_array_container_iandnot
  - roaring::internal::bitset_bitset_container_andnot
  - roaring::internal::bitset_bitset_container_iandnot
  - roaring::internal::array_container_equal_bitset
  - roaring::internal::run_container_equals_array
  - roaring::internal::run_container_equals_bitset
  - roaring::internal::array_container_equal_bitset
  - roaring::internal::run_container_equals_array
  - roaring::internal::run_container_equals_bitset
  - roaring::internal::array_container_equal_bitset
  - roaring::internal::run_container_equals_array
  - roaring::internal::run_container_equals_bitset
  - roaring::internal::array_container_equal_bitset
  - roaring::internal::run_container_equals_array
  - roaring::internal::run_container_equals_bitset
  - roaring::internal::array_bitset_container_intersection
  - roaring::internal::array_bitset_container_intersection_cardinality
  - roaring::internal::array_bitset_container_intersect
  - roaring::internal::array_run_container_intersection
  - roaring::internal::run_bitset_container_intersection
  - roaring::internal::array_run_container_intersection_cardinality
  - roaring::internal::run_bitset_container_intersection_cardinality
  - roaring::internal::array_run_container_intersect
  - roaring::internal::run_bitset_container_intersect
  - roaring::internal::bitset_bitset_container_intersection
  - roaring::internal::bitset_bitset_container_intersection_inplace
  - roaring::internal::array_bitset_container_intersection
  - roaring::internal::array_bitset_container_intersection_cardinality
  - roaring::internal::array_bitset_container_intersect
  - roaring::internal::array_run_container_intersection
  - roaring::internal::run_bitset_container_intersection
  - roaring::internal::array_run_container_intersection_cardinality
  - roaring::internal::run_bitset_container_intersection_cardinality
  - roaring::internal::array_run_container_intersect
  - roaring::internal::run_bitset_container_intersect
  - roaring::internal::bitset_bitset_container_intersection
  - roaring::internal::bitset_bitset_container_intersection_inplace
  - roaring::internal::array_bitset_container_intersection
  - roaring::internal::array_bitset_container_intersection_cardinality
  - roaring::internal::array_bitset_container_intersect
  - roaring::internal::array_run_container_intersection
  - roaring::internal::run_bitset_container_intersection
  - roaring::internal::array_run_container_intersection_cardinality
  - roaring::internal::run_bitset_container_intersection_cardinality
  - roaring::internal::array_run_container_intersect
  - roaring::internal::run_bitset_container_intersect
  - roaring::internal::bitset_bitset_container_intersection
  - roaring::internal::bitset_bitset_container_intersection_inplace
  - roaring::internal::array_bitset_container_intersection
  - roaring::internal::array_bitset_container_intersection_cardinality
  - roaring::internal::array_bitset_container_intersect
  - roaring::internal::array_run_container_intersection
  - roaring::internal::run_bitset_container_intersection
  - roaring::internal::array_run_container_intersection_cardinality
  - roaring::internal::run_bitset_container_intersection_cardinality
  - roaring::internal::array_run_container_intersect
  - roaring::internal::run_bitset_container_intersect
  - roaring::internal::bitset_bitset_container_intersection
  - roaring::internal::bitset_bitset_container_intersection_inplace
  - roaring::internal::array_container_negation
  - roaring::internal::bitset_container_negation
  - roaring::internal::bitset_container_negation_inplace
  - roaring::internal::run_container_negation
  - roaring::internal::run_container_negation_inplace
  - roaring::internal::array_container_negation_range
  - roaring::internal::array_container_negation_range_inplace
  - roaring::internal::bitset_container_negation_range
  - roaring::internal::bitset_container_negation_range_inplace
  - roaring::internal::run_container_negation_range
  - roaring::internal::run_container_negation_range_inplace
  - roaring::internal::array_container_negation
  - roaring::internal::bitset_container_negation
  - roaring::internal::bitset_container_negation_inplace
  - roaring::internal::run_container_negation
  - roaring::internal::run_container_negation_inplace
  - roaring::internal::array_container_negation_range
  - roaring::internal::array_container_negation_range_inplace
  - roaring::internal::bitset_container_negation_range
  - roaring::internal::bitset_container_negation_range_inplace
  - roaring::internal::run_container_negation_range
  - roaring::internal::run_container_negation_range_inplace
  - roaring::internal::array_container_negation
  - roaring::internal::bitset_container_negation
  - roaring::internal::bitset_container_negation_inplace
  - roaring::internal::run_container_negation
  - roaring::internal::run_container_negation_inplace
  - roaring::internal::array_container_negation_range
  - roaring::internal::array_container_negation_range_inplace
  - roaring::internal::bitset_container_negation_range
  - roaring::internal::bitset_container_negation_range_inplace
  - roaring::internal::run_container_negation_range
  - roaring::internal::run_container_negation_range_inplace
  - roaring::internal::array_container_negation
  - roaring::internal::bitset_container_negation
  - roaring::internal::bitset_container_negation_inplace
  - roaring::internal::run_container_negation
  - roaring::internal::run_container_negation_inplace
  - roaring::internal::array_container_negation_range
  - roaring::internal::array_container_negation_range_inplace
  - roaring::internal::bitset_container_negation_range
  - roaring::internal::bitset_container_negation_range_inplace
  - roaring::internal::run_container_negation_range
  - roaring::internal::run_container_negation_range_inplace
  - roaring::internal::array_container_is_subset_bitset
  - roaring::internal::run_container_is_subset_array
  - roaring::internal::array_container_is_subset_run
  - roaring::internal::run_container_is_subset_bitset
  - roaring::internal::bitset_container_is_subset_run
  - roaring::internal::array_container_is_subset_bitset
  - roaring::internal::run_container_is_subset_array
  - roaring::internal::array_container_is_subset_run
  - roaring::internal::run_container_is_subset_bitset
  - roaring::internal::bitset_container_is_subset_run
  - roaring::internal::array_container_is_subset_bitset
  - roaring::internal::run_container_is_subset_array
  - roaring::internal::array_container_is_subset_run
  - roaring::internal::run_container_is_subset_bitset
  - roaring::internal::bitset_container_is_subset_run
  - roaring::internal::array_container_is_subset_bitset
  - roaring::internal::run_container_is_subset_array
  - roaring::internal::array_container_is_subset_run
  - roaring::internal::run_container_is_subset_bitset
  - roaring::internal::bitset_container_is_subset_run
  - roaring::internal::array_bitset_container_union
  - roaring::internal::array_bitset_container_lazy_union
  - roaring::internal::run_bitset_container_union
  - roaring::internal::run_bitset_container_lazy_union
  - roaring::internal::array_run_container_union
  - roaring::internal::array_run_container_inplace_union
  - roaring::internal::array_array_container_union
  - roaring::internal::array_array_container_inplace_union
  - roaring::internal::array_array_container_lazy_union
  - roaring::internal::array_array_container_lazy_inplace_union
  - roaring::internal::array_bitset_container_union
  - roaring::internal::array_bitset_container_lazy_union
  - roaring::internal::run_bitset_container_union
  - roaring::internal::run_bitset_container_lazy_union
  - roaring::internal::array_run_container_union
  - roaring::internal::array_run_container_inplace_union
  - roaring::internal::array_array_container_union
  - roaring::internal::array_array_container_inplace_union
  - roaring::internal::array_array_container_lazy_union
  - roaring::internal::array_array_container_lazy_inplace_union
  - roaring::internal::array_bitset_container_union
  - roaring::internal::array_bitset_container_lazy_union
  - roaring::internal::run_bitset_container_union
  - roaring::internal::run_bitset_container_lazy_union
  - roaring::internal::array_run_container_union
  - roaring::internal::array_run_container_inplace_union
  - roaring::internal::array_array_container_union
  - roaring::internal::array_array_container_inplace_union
  - roaring::internal::array_array_container_lazy_union
  - roaring::internal::array_array_container_lazy_inplace_union
  - roaring::internal::array_bitset_container_union
  - roaring::internal::array_bitset_container_lazy_union
  - roaring::internal::run_bitset_container_union
  - roaring::internal::run_bitset_container_lazy_union
  - roaring::internal::array_run_container_union
  - roaring::internal::array_run_container_inplace_union
  - roaring::internal::array_array_container_union
  - roaring::internal::array_array_container_inplace_union
  - roaring::internal::array_array_container_lazy_union
  - roaring::internal::array_array_container_lazy_inplace_union
  - roaring::internal::array_bitset_container_xor
  - roaring::internal::array_bitset_container_lazy_xor
  - roaring::internal::run_bitset_container_xor
  - roaring::internal::run_bitset_container_lazy_xor
  - roaring::internal::array_run_container_xor
  - roaring::internal::array_run_container_lazy_xor
  - roaring::internal::run_run_container_xor
  - roaring::internal::array_array_container_xor
  - roaring::internal::array_array_container_lazy_xor
  - roaring::internal::bitset_bitset_container_xor
  - roaring::internal::bitset_array_container_ixor
  - roaring::internal::bitset_bitset_container_ixor
  - roaring::internal::array_bitset_container_ixor
  - roaring::internal::run_bitset_container_ixor
  - roaring::internal::bitset_run_container_ixor
  - roaring::internal::array_run_container_ixor
  - roaring::internal::run_array_container_ixor
  - roaring::internal::array_array_container_ixor
  - roaring::internal::run_run_container_ixor
  - roaring::internal::array_bitset_container_xor
  - roaring::internal::array_bitset_container_lazy_xor
  - roaring::internal::run_bitset_container_xor
  - roaring::internal::run_bitset_container_lazy_xor
  - roaring::internal::array_run_container_xor
  - roaring::internal::array_run_container_lazy_xor
  - roaring::internal::run_run_container_xor
  - roaring::internal::array_array_container_xor
  - roaring::internal::array_array_container_lazy_xor
  - roaring::internal::bitset_bitset_container_xor
  - roaring::internal::bitset_array_container_ixor
  - roaring::internal::bitset_bitset_container_ixor
  - roaring::internal::array_bitset_container_ixor
  - roaring::internal::run_bitset_container_ixor
  - roaring::internal::bitset_run_container_ixor
  - roaring::internal::array_run_container_ixor
  - roaring::internal::run_array_container_ixor
  - roaring::internal::array_array_container_ixor
  - roaring::internal::run_run_container_ixor
  - roaring::internal::array_bitset_container_xor
  - roaring::internal::array_bitset_container_lazy_xor
  - roaring::internal::run_bitset_container_xor
  - roaring::internal::run_bitset_container_lazy_xor
  - roaring::internal::array_run_container_xor
  - roaring::internal::array_run_container_lazy_xor
  - roaring::internal::run_run_container_xor
  - roaring::internal::array_array_container_xor
  - roaring::internal::array_array_container_lazy_xor
  - roaring::internal::bitset_bitset_container_xor
  - roaring::internal::bitset_array_container_ixor
  - roaring::internal::bitset_bitset_container_ixor
  - roaring::internal::array_bitset_container_ixor
  - roaring::internal::run_bitset_container_ixor
  - roaring::internal::bitset_run_container_ixor
  - roaring::internal::array_run_container_ixor
  - roaring::internal::run_array_container_ixor
  - roaring::internal::array_array_container_ixor
  - roaring::internal::run_run_container_ixor
  - roaring::internal::array_bitset_container_xor
  - roaring::internal::array_bitset_container_lazy_xor
  - roaring::internal::run_bitset_container_xor
  - roaring::internal::run_bitset_container_lazy_xor
  - roaring::internal::array_run_container_xor
  - roaring::internal::array_run_container_lazy_xor
  - roaring::internal::run_run_container_xor
  - roaring::internal::array_array_container_xor
  - roaring::internal::array_array_container_lazy_xor
  - roaring::internal::bitset_bitset_container_xor
  - roaring::internal::bitset_array_container_ixor
  - roaring::internal::bitset_bitset_container_ixor
  - roaring::internal::array_bitset_container_ixor
  - roaring::internal::run_bitset_container_ixor
  - roaring::internal::bitset_run_container_ixor
  - roaring::internal::array_run_container_ixor
  - roaring::internal::run_array_container_ixor
  - roaring::internal::array_array_container_ixor
  - roaring::internal::run_run_container_ixor
  - roaring::internal::run_container_add
  - roaring::internal::run_container_create_given_capacity
  - roaring::internal::run_container_shrink_to_fit
  - roaring::internal::run_container_create
  - run_container_t *run_container_clone(const run_container_t *src)
  - roaring::internal::run_container_offset
  - roaring::internal::run_container_free
  - roaring::internal::run_container_grow
  - roaring::internal::run_container_copy
  - roaring::internal::run_container_union
  - roaring::internal::run_container_union_inplace
  - roaring::internal::run_container_xor
  - roaring::internal::run_container_intersection
  - roaring::internal::run_container_intersection_cardinality
  - roaring::internal::run_container_intersect
  - roaring::internal::run_container_andnot
  - roaring::internal::run_container_printf
  - roaring::internal::run_container_printf_as_uint32_array
  - roaring::internal::run_container_validate
  - roaring::internal::run_container_write
  - roaring::internal::run_container_read
  - roaring::internal::run_container_iterate
  - roaring::internal::run_container_iterate64
  - roaring::internal::run_container_is_subset
  - roaring::internal::run_container_smart_append_exclusive
  - roaring::internal::run_container_select
  - roaring::internal::run_container_rank
  - roaring::internal::run_container_rank_many
  - roaring::internal::run_container_get_index
  - roaring::internal::_avx512_run_container_cardinality
  - roaring::internal::CROARING_TARGET_AVX2::_avx2_run_container_cardinality
  - roaring::internal::_avx2_run_container_to_uint32_array
  - roaring::internal::_scalar_run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring::internal::_scalar_run_container_to_uint32_array
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::run_container_cardinality
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::run_container_add
  - roaring::internal::run_container_create_given_capacity
  - roaring::internal::run_container_shrink_to_fit
  - roaring::internal::run_container_create
  - run_container_t *run_container_clone(const run_container_t *src)
  - roaring::internal::run_container_offset
  - roaring::internal::run_container_free
  - roaring::internal::run_container_grow
  - roaring::internal::run_container_copy
  - roaring::internal::run_container_union
  - roaring::internal::run_container_union_inplace
  - roaring::internal::run_container_xor
  - roaring::internal::run_container_intersection
  - roaring::internal::run_container_intersection_cardinality
  - roaring::internal::run_container_intersect
  - roaring::internal::run_container_andnot
  - roaring::internal::run_container_printf
  - roaring::internal::run_container_printf_as_uint32_array
  - roaring::internal::run_container_validate
  - roaring::internal::run_container_write
  - roaring::internal::run_container_read
  - roaring::internal::run_container_iterate
  - roaring::internal::run_container_iterate64
  - roaring::internal::run_container_is_subset
  - roaring::internal::run_container_smart_append_exclusive
  - roaring::internal::run_container_select
  - roaring::internal::run_container_rank
  - roaring::internal::run_container_rank_many
  - roaring::internal::run_container_get_index
  - roaring::internal::_avx512_run_container_cardinality
  - roaring::internal::CROARING_TARGET_AVX2::_avx2_run_container_cardinality
  - roaring::internal::_avx2_run_container_to_uint32_array
  - roaring::internal::_scalar_run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring::internal::_scalar_run_container_to_uint32_array
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::run_container_cardinality
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::run_container_add
  - roaring::internal::run_container_create_given_capacity
  - roaring::internal::run_container_shrink_to_fit
  - roaring::internal::run_container_create
  - run_container_t *run_container_clone(const run_container_t *src)
  - roaring::internal::run_container_offset
  - roaring::internal::run_container_free
  - roaring::internal::run_container_grow
  - roaring::internal::run_container_copy
  - roaring::internal::run_container_union
  - roaring::internal::run_container_union_inplace
  - roaring::internal::run_container_xor
  - roaring::internal::run_container_intersection
  - roaring::internal::run_container_intersection_cardinality
  - roaring::internal::run_container_intersect
  - roaring::internal::run_container_andnot
  - roaring::internal::run_container_printf
  - roaring::internal::run_container_printf_as_uint32_array
  - roaring::internal::run_container_validate
  - roaring::internal::run_container_write
  - roaring::internal::run_container_read
  - roaring::internal::run_container_iterate
  - roaring::internal::run_container_iterate64
  - roaring::internal::run_container_is_subset
  - roaring::internal::run_container_smart_append_exclusive
  - roaring::internal::run_container_select
  - roaring::internal::run_container_rank
  - roaring::internal::run_container_rank_many
  - roaring::internal::run_container_get_index
  - roaring::internal::_avx512_run_container_cardinality
  - roaring::internal::CROARING_TARGET_AVX2::_avx2_run_container_cardinality
  - roaring::internal::_avx2_run_container_to_uint32_array
  - roaring::internal::_scalar_run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring::internal::_scalar_run_container_to_uint32_array
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::run_container_cardinality
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::run_container_add
  - roaring::internal::run_container_create_given_capacity
  - roaring::internal::run_container_shrink_to_fit
  - roaring::internal::run_container_create
  - run_container_t *run_container_clone(const run_container_t *src)
  - roaring::internal::run_container_offset
  - roaring::internal::run_container_free
  - roaring::internal::run_container_grow
  - roaring::internal::run_container_copy
  - roaring::internal::run_container_union
  - roaring::internal::run_container_union_inplace
  - roaring::internal::run_container_xor
  - roaring::internal::run_container_intersection
  - roaring::internal::run_container_intersection_cardinality
  - roaring::internal::run_container_intersect
  - roaring::internal::run_container_andnot
  - roaring::internal::run_container_printf
  - roaring::internal::run_container_printf_as_uint32_array
  - roaring::internal::run_container_validate
  - roaring::internal::run_container_write
  - roaring::internal::run_container_read
  - roaring::internal::run_container_iterate
  - roaring::internal::run_container_iterate64
  - roaring::internal::run_container_is_subset
  - roaring::internal::run_container_smart_append_exclusive
  - roaring::internal::run_container_select
  - roaring::internal::run_container_rank
  - roaring::internal::run_container_rank_many
  - roaring::internal::run_container_get_index
  - roaring::internal::_avx512_run_container_cardinality
  - roaring::internal::CROARING_TARGET_AVX2::_avx2_run_container_cardinality
  - roaring::internal::_avx2_run_container_to_uint32_array
  - roaring::internal::_scalar_run_container_cardinality
  - roaring::internal::run_container_cardinality
  - roaring::internal::_scalar_run_container_to_uint32_array
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::run_container_cardinality
  - roaring::internal::run_container_to_uint32_array
  - roaring::internal::cpuid
  - roaring::internal::xgetbv
  - roaring::internal::dynamic_croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring::internal::cpuid
  - roaring::internal::xgetbv
  - roaring::internal::dynamic_croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring::internal::cpuid
  - roaring::internal::xgetbv
  - roaring::internal::dynamic_croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring::internal::cpuid
  - roaring::internal::xgetbv
  - roaring::internal::dynamic_croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_detect_supported_architectures
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring::internal::croaring_hardware_support
  - roaring_bitmap_aligned_malloc
  - roaring_bitmap_aligned_free
  - roaring_init_memory_hook
  - roaring_malloc
  - roaring_realloc
  - roaring_calloc
  - roaring_free
  - roaring_aligned_malloc
  - roaring_aligned_free
  - roaring::internal::realloc_array
  - roaring::internal::ra_init_with_capacity
  - roaring::internal::ra_shrink_to_fit
  - roaring::internal::ra_init
  - roaring::internal::ra_overwrite
  - roaring::internal::ra_clear_containers
  - roaring::internal::ra_reset
  - roaring::internal::ra_clear_without_containers
  - roaring::internal::ra_clear
  - roaring::internal::extend_array
  - roaring::internal::ra_append
  - roaring::internal::ra_append_copy
  - roaring::internal::ra_append_copies_until
  - roaring::internal::ra_append_copy_range
  - roaring::internal::ra_append_copies_after
  - roaring::internal::ra_append_move_range
  - roaring::internal::ra_append_range
  - roaring::internal::ra_get_container
  - roaring::internal::ra_advance_until_freeing
  - roaring::internal::ra_insert_new_key_value_at
  - roaring::internal::ra_downsize
  - roaring::internal::ra_remove_at_index
  - roaring::internal::ra_remove_at_index_and_free
  - roaring::internal::ra_copy_range
  - roaring::internal::ra_shift_tail
  - roaring::internal::ra_to_uint32_array
  - roaring::internal::ra_range_uint32_array
  - roaring::internal::ra_has_run_container
  - roaring::internal::ra_portable_header_size
  - roaring::internal::ra_portable_size_in_bytes
  - roaring::internal::ra_portable_serialize
  - roaring::internal::ra_portable_deserialize_size
  - roaring::internal::ra_portable_deserialize
  - roaring::internal::realloc_array
  - roaring::internal::ra_init_with_capacity
  - roaring::internal::ra_shrink_to_fit
  - roaring::internal::ra_init
  - roaring::internal::ra_overwrite
  - roaring::internal::ra_clear_containers
  - roaring::internal::ra_reset
  - roaring::internal::ra_clear_without_containers
  - roaring::internal::ra_clear
  - roaring::internal::extend_array
  - roaring::internal::ra_append
  - roaring::internal::ra_append_copy
  - roaring::internal::ra_append_copies_until
  - roaring::internal::ra_append_copy_range
  - roaring::internal::ra_append_copies_after
  - roaring::internal::ra_append_move_range
  - roaring::internal::ra_append_range
  - roaring::internal::ra_get_container
  - roaring::internal::ra_advance_until_freeing
  - roaring::internal::ra_insert_new_key_value_at
  - roaring::internal::ra_downsize
  - roaring::internal::ra_remove_at_index
  - roaring::internal::ra_remove_at_index_and_free
  - roaring::internal::ra_copy_range
  - roaring::internal::ra_shift_tail
  - roaring::internal::ra_to_uint32_array
  - roaring::internal::ra_range_uint32_array
  - roaring::internal::ra_has_run_container
  - roaring::internal::ra_portable_header_size
  - roaring::internal::ra_portable_size_in_bytes
  - roaring::internal::ra_portable_serialize
  - roaring::internal::ra_portable_deserialize_size
  - roaring::internal::ra_portable_deserialize
  - roaring::internal::realloc_array
  - roaring::internal::ra_init_with_capacity
  - roaring::internal::ra_shrink_to_fit
  - roaring::internal::ra_init
  - roaring::internal::ra_overwrite
  - roaring::internal::ra_clear_containers
  - roaring::internal::ra_reset
  - roaring::internal::ra_clear_without_containers
  - roaring::internal::ra_clear
  - roaring::internal::extend_array
  - roaring::internal::ra_append
  - roaring::internal::ra_append_copy
  - roaring::internal::ra_append_copies_until
  - roaring::internal::ra_append_copy_range
  - roaring::internal::ra_append_copies_after
  - roaring::internal::ra_append_move_range
  - roaring::internal::ra_append_range
  - roaring::internal::ra_get_container
  - roaring::internal::ra_advance_until_freeing
  - roaring::internal::ra_insert_new_key_value_at
  - roaring::internal::ra_downsize
  - roaring::internal::ra_remove_at_index
  - roaring::internal::ra_remove_at_index_and_free
  - roaring::internal::ra_copy_range
  - roaring::internal::ra_shift_tail
  - roaring::internal::ra_to_uint32_array
  - roaring::internal::ra_range_uint32_array
  - roaring::internal::ra_has_run_container
  - roaring::internal::ra_portable_header_size
  - roaring::internal::ra_portable_size_in_bytes
  - roaring::internal::ra_portable_serialize
  - roaring::internal::ra_portable_deserialize_size
  - roaring::internal::ra_portable_deserialize
  - roaring::internal::realloc_array
  - roaring::internal::ra_init_with_capacity
  - roaring::internal::ra_shrink_to_fit
  - roaring::internal::ra_init
  - roaring::internal::ra_overwrite
  - roaring::internal::ra_clear_containers
  - roaring::internal::ra_reset
  - roaring::internal::ra_clear_without_containers
  - roaring::internal::ra_clear
  - roaring::internal::extend_array
  - roaring::internal::ra_append
  - roaring::internal::ra_append_copy
  - roaring::internal::ra_append_copies_until
  - roaring::internal::ra_append_copy_range
  - roaring::internal::ra_append_copies_after
  - roaring::internal::ra_append_move_range
  - roaring::internal::ra_append_range
  - roaring::internal::ra_get_container
  - roaring::internal::ra_advance_until_freeing
  - roaring::internal::ra_insert_new_key_value_at
  - roaring::internal::ra_downsize
  - roaring::internal::ra_remove_at_index
  - roaring::internal::ra_remove_at_index_and_free
  - roaring::internal::ra_copy_range
  - roaring::internal::ra_shift_tail
  - roaring::internal::ra_to_uint32_array
  - roaring::internal::ra_range_uint32_array
  - roaring::internal::ra_has_run_container
  - roaring::internal::ra_portable_header_size
  - roaring::internal::ra_portable_size_in_bytes
  - roaring::internal::ra_portable_serialize
  - roaring::internal::ra_portable_deserialize_size
  - roaring::internal::ra_portable_deserialize
  - roaring::api::compare
  - roaring::api::pq_add
  - roaring::api::pq_free
  - roaring::api::percolate_down
  - roaring::api::create_pq
  - roaring::api::pq_poll
  - roaring::api::lazy_or_from_lazy_inputs
  - roaring::api::roaring_bitmap_or_many_heap
  - roaring::api::compare
  - roaring::api::pq_add
  - roaring::api::pq_free
  - roaring::api::percolate_down
  - roaring::api::create_pq
  - roaring::api::pq_poll
  - roaring::api::lazy_or_from_lazy_inputs
  - roaring::api::roaring_bitmap_or_many_heap
  - roaring::api::compare
  - roaring::api::pq_add
  - roaring::api::pq_free
  - roaring::api::percolate_down
  - roaring::api::create_pq
  - roaring::api::pq_poll
  - roaring::api::lazy_or_from_lazy_inputs
  - roaring::api::roaring_bitmap_or_many_heap
  - roaring::api::compare
  - roaring::api::pq_add
  - roaring::api::pq_free
  - roaring::api::percolate_down
  - roaring::api::create_pq
  - roaring::api::pq_poll
  - roaring::api::lazy_or_from_lazy_inputs
  - roaring::api::roaring_bitmap_or_many_heap
  - roaring::api::is_cow
  - roaring::api::is_frozen
  - roaring::api::containerptr_roaring_bitmap_add
  - roaring::api::roaring_bitmap_create_with_capacity
  - roaring::api::roaring_bitmap_init_with_capacity
  - roaring::api::add_bulk_impl
  - roaring::api::roaring_bitmap_add_many
  - roaring::api::roaring_bitmap_add_bulk
  - roaring::api::roaring_bitmap_contains_bulk
  - roaring::api::roaring_bitmap_of_ptr
  - roaring::api::roaring_bitmap_of
  - roaring::api::minimum_uint64
  - roaring::api::roaring_bitmap_from_range
  - roaring::api::roaring_bitmap_add_range_closed
  - roaring::api::roaring_bitmap_remove_range_closed
  - roaring::api::roaring_bitmap_printf
  - roaring::api::roaring_bitmap_printf_describe
  - roaring::api::roaring_bitmap_statistics
  - roaring::api::roaring_bitmap_internal_validate
  - roaring::api::roaring_bitmap_copy
  - roaring::api::roaring_bitmap_overwrite
  - roaring::api::roaring_bitmap_free
  - roaring::api::roaring_bitmap_clear
  - roaring::api::roaring_bitmap_add
  - roaring::api::roaring_bitmap_add_checked
  - roaring::api::roaring_bitmap_remove
  - roaring::api::roaring_bitmap_remove_checked
  - roaring::api::roaring_bitmap_remove_many
  - roaring::api::roaring_bitmap_and
  - roaring::api::roaring_bitmap_or_many
  - roaring::api::roaring_bitmap_xor_many
  - roaring::api::roaring_bitmap_and_inplace
  - roaring::api::roaring_bitmap_or
  - roaring::api::roaring_bitmap_or_inplace
  - roaring::api::roaring_bitmap_xor
  - roaring::api::roaring_bitmap_xor_inplace
  - roaring::api::roaring_bitmap_andnot
  - roaring::api::roaring_bitmap_andnot_inplace
  - roaring::api::roaring_bitmap_get_cardinality
  - roaring::api::roaring_bitmap_range_cardinality
  - roaring::api::roaring_bitmap_range_cardinality_closed
  - roaring::api::roaring_bitmap_is_empty
  - roaring::api::roaring_bitmap_to_uint32_array
  - roaring::api::roaring_bitmap_range_uint32_array
  - roaring::api::roaring_bitmap_run_optimize
  - roaring::api::roaring_bitmap_shrink_to_fit
  - roaring::api::roaring_bitmap_remove_run_compression
  - roaring::api::roaring_bitmap_serialize
  - roaring::api::roaring_bitmap_size_in_bytes
  - roaring::api::roaring_bitmap_portable_size_in_bytes
  - roaring::api::roaring_bitmap_portable_deserialize_safe
  - roaring::api::roaring_bitmap_portable_deserialize
  - roaring::api::roaring_bitmap_portable_deserialize_size
  - roaring::api::roaring_bitmap_portable_serialize
  - roaring::api::roaring_bitmap_deserialize
  - roaring::api::roaring_bitmap_deserialize_safe
  - roaring::api::roaring_iterate
  - roaring::api::roaring_iterate64
  - roaring::api::iter_new_container_partial_init
  - roaring::api::loadfirstvalue
  - roaring::api::loadlastvalue
  - roaring::api::loadfirstvalue_largeorequal
  - roaring::api::roaring_iterator_init
  - roaring::api::roaring_iterator_init_last
  - roaring::api::roaring_iterator_create
  - roaring::api::roaring_uint32_iterator_copy
  - roaring::api::roaring_uint32_iterator_move_equalorlarger
  - roaring::api::roaring_uint32_iterator_advance
  - roaring::api::roaring_uint32_iterator_previous
  - roaring::api::roaring_uint32_iterator_read
  - roaring::api::roaring_uint32_iterator_free
  - roaring::api::roaring_bitmap_equals
  - roaring::api::roaring_bitmap_is_subset
  - roaring::api::insert_flipped_container
  - roaring::api::inplace_flip_container
  - roaring::api::insert_fully_flipped_container
  - roaring::api::inplace_fully_flip_container
  - roaring::api::roaring_bitmap_flip
  - roaring::api::roaring_bitmap_flip_closed
  - roaring::api::roaring_bitmap_flip_inplace
  - roaring::api::roaring_bitmap_flip_inplace_closed
  - roaring::api::offset_append_with_merge
  - roaring::api::roaring_bitmap_add_offset
  - roaring::api::roaring_bitmap_lazy_or
  - roaring::api::roaring_bitmap_lazy_or_inplace
  - roaring::api::roaring_bitmap_lazy_xor
  - roaring::api::roaring_bitmap_lazy_xor_inplace
  - roaring::api::roaring_bitmap_repair_after_lazy
  - roaring::api::roaring_bitmap_rank
  - roaring::api::roaring_bitmap_rank_many
  - roaring::api::roaring_bitmap_get_index
  - roaring::api::roaring_bitmap_minimum
  - roaring::api::roaring_bitmap_maximum
  - roaring::api::roaring_bitmap_select
  - roaring::api::roaring_bitmap_intersect
  - roaring::api::roaring_bitmap_intersect_with_range
  - roaring::api::roaring_bitmap_and_cardinality
  - roaring::api::roaring_bitmap_jaccard_index
  - roaring::api::roaring_bitmap_or_cardinality
  - roaring::api::roaring_bitmap_andnot_cardinality
  - roaring::api::roaring_bitmap_xor_cardinality
  - roaring::api::roaring_bitmap_contains
  - roaring::api::roaring_bitmap_contains_range
  - roaring::api::roaring_bitmap_contains_range_closed
  - roaring::api::roaring_bitmap_is_strict_subset
  - roaring::api::roaring_bitmap_frozen_size_in_bytes
  - roaring::api::arena_alloc
  - roaring::api::roaring_bitmap_frozen_serialize
  - roaring::api::roaring_bitmap_frozen_view
  - roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const char *buf)
  - roaring::api::roaring_bitmap_to_bitset
  - roaring::api::is_cow
  - roaring::api::is_frozen
  - roaring::api::containerptr_roaring_bitmap_add
  - roaring::api::roaring_bitmap_create_with_capacity
  - roaring::api::roaring_bitmap_init_with_capacity
  - roaring::api::add_bulk_impl
  - roaring::api::roaring_bitmap_add_many
  - roaring::api::roaring_bitmap_add_bulk
  - roaring::api::roaring_bitmap_contains_bulk
  - roaring::api::roaring_bitmap_of_ptr
  - roaring::api::roaring_bitmap_of
  - roaring::api::minimum_uint64
  - roaring::api::roaring_bitmap_from_range
  - roaring::api::roaring_bitmap_add_range_closed
  - roaring::api::roaring_bitmap_remove_range_closed
  - roaring::api::roaring_bitmap_printf
  - roaring::api::roaring_bitmap_printf_describe
  - roaring::api::roaring_bitmap_statistics
  - roaring::api::roaring_bitmap_internal_validate
  - roaring::api::roaring_bitmap_copy
  - roaring::api::roaring_bitmap_overwrite
  - roaring::api::roaring_bitmap_free
  - roaring::api::roaring_bitmap_clear
  - roaring::api::roaring_bitmap_add
  - roaring::api::roaring_bitmap_add_checked
  - roaring::api::roaring_bitmap_remove
  - roaring::api::roaring_bitmap_remove_checked
  - roaring::api::roaring_bitmap_remove_many
  - roaring::api::roaring_bitmap_and
  - roaring::api::roaring_bitmap_or_many
  - roaring::api::roaring_bitmap_xor_many
  - roaring::api::roaring_bitmap_and_inplace
  - roaring::api::roaring_bitmap_or
  - roaring::api::roaring_bitmap_or_inplace
  - roaring::api::roaring_bitmap_xor
  - roaring::api::roaring_bitmap_xor_inplace
  - roaring::api::roaring_bitmap_andnot
  - roaring::api::roaring_bitmap_andnot_inplace
  - roaring::api::roaring_bitmap_get_cardinality
  - roaring::api::roaring_bitmap_range_cardinality
  - roaring::api::roaring_bitmap_range_cardinality_closed
  - roaring::api::roaring_bitmap_is_empty
  - roaring::api::roaring_bitmap_to_uint32_array
  - roaring::api::roaring_bitmap_range_uint32_array
  - roaring::api::roaring_bitmap_run_optimize
  - roaring::api::roaring_bitmap_shrink_to_fit
  - roaring::api::roaring_bitmap_remove_run_compression
  - roaring::api::roaring_bitmap_serialize
  - roaring::api::roaring_bitmap_size_in_bytes
  - roaring::api::roaring_bitmap_portable_size_in_bytes
  - roaring::api::roaring_bitmap_portable_deserialize_safe
  - roaring::api::roaring_bitmap_portable_deserialize
  - roaring::api::roaring_bitmap_portable_deserialize_size
  - roaring::api::roaring_bitmap_portable_serialize
  - roaring::api::roaring_bitmap_deserialize
  - roaring::api::roaring_bitmap_deserialize_safe
  - roaring::api::roaring_iterate
  - roaring::api::roaring_iterate64
  - roaring::api::iter_new_container_partial_init
  - roaring::api::loadfirstvalue
  - roaring::api::loadlastvalue
  - roaring::api::loadfirstvalue_largeorequal
  - roaring::api::roaring_iterator_init
  - roaring::api::roaring_iterator_init_last
  - roaring::api::roaring_iterator_create
  - roaring::api::roaring_uint32_iterator_copy
  - roaring::api::roaring_uint32_iterator_move_equalorlarger
  - roaring::api::roaring_uint32_iterator_advance
  - roaring::api::roaring_uint32_iterator_previous
  - roaring::api::roaring_uint32_iterator_read
  - roaring::api::roaring_uint32_iterator_free
  - roaring::api::roaring_bitmap_equals
  - roaring::api::roaring_bitmap_is_subset
  - roaring::api::insert_flipped_container
  - roaring::api::inplace_flip_container
  - roaring::api::insert_fully_flipped_container
  - roaring::api::inplace_fully_flip_container
  - roaring::api::roaring_bitmap_flip
  - roaring::api::roaring_bitmap_flip_closed
  - roaring::api::roaring_bitmap_flip_inplace
  - roaring::api::roaring_bitmap_flip_inplace_closed
  - roaring::api::offset_append_with_merge
  - roaring::api::roaring_bitmap_add_offset
  - roaring::api::roaring_bitmap_lazy_or
  - roaring::api::roaring_bitmap_lazy_or_inplace
  - roaring::api::roaring_bitmap_lazy_xor
  - roaring::api::roaring_bitmap_lazy_xor_inplace
  - roaring::api::roaring_bitmap_repair_after_lazy
  - roaring::api::roaring_bitmap_rank
  - roaring::api::roaring_bitmap_rank_many
  - roaring::api::roaring_bitmap_get_index
  - roaring::api::roaring_bitmap_minimum
  - roaring::api::roaring_bitmap_maximum
  - roaring::api::roaring_bitmap_select
  - roaring::api::roaring_bitmap_intersect
  - roaring::api::roaring_bitmap_intersect_with_range
  - roaring::api::roaring_bitmap_and_cardinality
  - roaring::api::roaring_bitmap_jaccard_index
  - roaring::api::roaring_bitmap_or_cardinality
  - roaring::api::roaring_bitmap_andnot_cardinality
  - roaring::api::roaring_bitmap_xor_cardinality
  - roaring::api::roaring_bitmap_contains
  - roaring::api::roaring_bitmap_contains_range
  - roaring::api::roaring_bitmap_contains_range_closed
  - roaring::api::roaring_bitmap_is_strict_subset
  - roaring::api::roaring_bitmap_frozen_size_in_bytes
  - roaring::api::arena_alloc
  - roaring::api::roaring_bitmap_frozen_serialize
  - roaring::api::roaring_bitmap_frozen_view
  - roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const char *buf)
  - roaring::api::roaring_bitmap_to_bitset
  - roaring::api::is_cow
  - roaring::api::is_frozen
  - roaring::api::containerptr_roaring_bitmap_add
  - roaring::api::roaring_bitmap_create_with_capacity
  - roaring::api::roaring_bitmap_init_with_capacity
  - roaring::api::add_bulk_impl
  - roaring::api::roaring_bitmap_add_many
  - roaring::api::roaring_bitmap_add_bulk
  - roaring::api::roaring_bitmap_contains_bulk
  - roaring::api::roaring_bitmap_of_ptr
  - roaring::api::roaring_bitmap_of
  - roaring::api::minimum_uint64
  - roaring::api::roaring_bitmap_from_range
  - roaring::api::roaring_bitmap_add_range_closed
  - roaring::api::roaring_bitmap_remove_range_closed
  - roaring::api::roaring_bitmap_printf
  - roaring::api::roaring_bitmap_printf_describe
  - roaring::api::roaring_bitmap_statistics
  - roaring::api::roaring_bitmap_internal_validate
  - roaring::api::roaring_bitmap_copy
  - roaring::api::roaring_bitmap_overwrite
  - roaring::api::roaring_bitmap_free
  - roaring::api::roaring_bitmap_clear
  - roaring::api::roaring_bitmap_add
  - roaring::api::roaring_bitmap_add_checked
  - roaring::api::roaring_bitmap_remove
  - roaring::api::roaring_bitmap_remove_checked
  - roaring::api::roaring_bitmap_remove_many
  - roaring::api::roaring_bitmap_and
  - roaring::api::roaring_bitmap_or_many
  - roaring::api::roaring_bitmap_xor_many
  - roaring::api::roaring_bitmap_and_inplace
  - roaring::api::roaring_bitmap_or
  - roaring::api::roaring_bitmap_or_inplace
  - roaring::api::roaring_bitmap_xor
  - roaring::api::roaring_bitmap_xor_inplace
  - roaring::api::roaring_bitmap_andnot
  - roaring::api::roaring_bitmap_andnot_inplace
  - roaring::api::roaring_bitmap_get_cardinality
  - roaring::api::roaring_bitmap_range_cardinality
  - roaring::api::roaring_bitmap_range_cardinality_closed
  - roaring::api::roaring_bitmap_is_empty
  - roaring::api::roaring_bitmap_to_uint32_array
  - roaring::api::roaring_bitmap_range_uint32_array
  - roaring::api::roaring_bitmap_run_optimize
  - roaring::api::roaring_bitmap_shrink_to_fit
  - roaring::api::roaring_bitmap_remove_run_compression
  - roaring::api::roaring_bitmap_serialize
  - roaring::api::roaring_bitmap_size_in_bytes
  - roaring::api::roaring_bitmap_portable_size_in_bytes
  - roaring::api::roaring_bitmap_portable_deserialize_safe
  - roaring::api::roaring_bitmap_portable_deserialize
  - roaring::api::roaring_bitmap_portable_deserialize_size
  - roaring::api::roaring_bitmap_portable_serialize
  - roaring::api::roaring_bitmap_deserialize
  - roaring::api::roaring_bitmap_deserialize_safe
  - roaring::api::roaring_iterate
  - roaring::api::roaring_iterate64
  - roaring::api::iter_new_container_partial_init
  - roaring::api::loadfirstvalue
  - roaring::api::loadlastvalue
  - roaring::api::loadfirstvalue_largeorequal
  - roaring::api::roaring_iterator_init
  - roaring::api::roaring_iterator_init_last
  - roaring::api::roaring_iterator_create
  - roaring::api::roaring_uint32_iterator_copy
  - roaring::api::roaring_uint32_iterator_move_equalorlarger
  - roaring::api::roaring_uint32_iterator_advance
  - roaring::api::roaring_uint32_iterator_previous
  - roaring::api::roaring_uint32_iterator_read
  - roaring::api::roaring_uint32_iterator_free
  - roaring::api::roaring_bitmap_equals
  - roaring::api::roaring_bitmap_is_subset
  - roaring::api::insert_flipped_container
  - roaring::api::inplace_flip_container
  - roaring::api::insert_fully_flipped_container
  - roaring::api::inplace_fully_flip_container
  - roaring::api::roaring_bitmap_flip
  - roaring::api::roaring_bitmap_flip_closed
  - roaring::api::roaring_bitmap_flip_inplace
  - roaring::api::roaring_bitmap_flip_inplace_closed
  - roaring::api::offset_append_with_merge
  - roaring::api::roaring_bitmap_add_offset
  - roaring::api::roaring_bitmap_lazy_or
  - roaring::api::roaring_bitmap_lazy_or_inplace
  - roaring::api::roaring_bitmap_lazy_xor
  - roaring::api::roaring_bitmap_lazy_xor_inplace
  - roaring::api::roaring_bitmap_repair_after_lazy
  - roaring::api::roaring_bitmap_rank
  - roaring::api::roaring_bitmap_rank_many
  - roaring::api::roaring_bitmap_get_index
  - roaring::api::roaring_bitmap_minimum
  - roaring::api::roaring_bitmap_maximum
  - roaring::api::roaring_bitmap_select
  - roaring::api::roaring_bitmap_intersect
  - roaring::api::roaring_bitmap_intersect_with_range
  - roaring::api::roaring_bitmap_and_cardinality
  - roaring::api::roaring_bitmap_jaccard_index
  - roaring::api::roaring_bitmap_or_cardinality
  - roaring::api::roaring_bitmap_andnot_cardinality
  - roaring::api::roaring_bitmap_xor_cardinality
  - roaring::api::roaring_bitmap_contains
  - roaring::api::roaring_bitmap_contains_range
  - roaring::api::roaring_bitmap_contains_range_closed
  - roaring::api::roaring_bitmap_is_strict_subset
  - roaring::api::roaring_bitmap_frozen_size_in_bytes
  - roaring::api::arena_alloc
  - roaring::api::roaring_bitmap_frozen_serialize
  - roaring::api::roaring_bitmap_frozen_view
  - roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const char *buf)
  - roaring::api::roaring_bitmap_to_bitset
  - roaring::api::is_cow
  - roaring::api::is_frozen
  - roaring::api::containerptr_roaring_bitmap_add
  - roaring::api::roaring_bitmap_create_with_capacity
  - roaring::api::roaring_bitmap_init_with_capacity
  - roaring::api::add_bulk_impl
  - roaring::api::roaring_bitmap_add_many
  - roaring::api::roaring_bitmap_add_bulk
  - roaring::api::roaring_bitmap_contains_bulk
  - roaring::api::roaring_bitmap_of_ptr
  - roaring::api::roaring_bitmap_of
  - roaring::api::minimum_uint64
  - roaring::api::roaring_bitmap_from_range
  - roaring::api::roaring_bitmap_add_range_closed
  - roaring::api::roaring_bitmap_remove_range_closed
  - roaring::api::roaring_bitmap_printf
  - roaring::api::roaring_bitmap_printf_describe
  - roaring::api::roaring_bitmap_statistics
  - roaring::api::roaring_bitmap_internal_validate
  - roaring::api::roaring_bitmap_copy
  - roaring::api::roaring_bitmap_overwrite
  - roaring::api::roaring_bitmap_free
  - roaring::api::roaring_bitmap_clear
  - roaring::api::roaring_bitmap_add
  - roaring::api::roaring_bitmap_add_checked
  - roaring::api::roaring_bitmap_remove
  - roaring::api::roaring_bitmap_remove_checked
  - roaring::api::roaring_bitmap_remove_many
  - roaring::api::roaring_bitmap_and
  - roaring::api::roaring_bitmap_or_many
  - roaring::api::roaring_bitmap_xor_many
  - roaring::api::roaring_bitmap_and_inplace
  - roaring::api::roaring_bitmap_or
  - roaring::api::roaring_bitmap_or_inplace
  - roaring::api::roaring_bitmap_xor
  - roaring::api::roaring_bitmap_xor_inplace
  - roaring::api::roaring_bitmap_andnot
  - roaring::api::roaring_bitmap_andnot_inplace
  - roaring::api::roaring_bitmap_get_cardinality
  - roaring::api::roaring_bitmap_range_cardinality
  - roaring::api::roaring_bitmap_range_cardinality_closed
  - roaring::api::roaring_bitmap_is_empty
  - roaring::api::roaring_bitmap_to_uint32_array
  - roaring::api::roaring_bitmap_range_uint32_array
  - roaring::api::roaring_bitmap_run_optimize
  - roaring::api::roaring_bitmap_shrink_to_fit
  - roaring::api::roaring_bitmap_remove_run_compression
  - roaring::api::roaring_bitmap_serialize
  - roaring::api::roaring_bitmap_size_in_bytes
  - roaring::api::roaring_bitmap_portable_size_in_bytes
  - roaring::api::roaring_bitmap_portable_deserialize_safe
  - roaring::api::roaring_bitmap_portable_deserialize
  - roaring::api::roaring_bitmap_portable_deserialize_size
  - roaring::api::roaring_bitmap_portable_serialize
  - roaring::api::roaring_bitmap_deserialize
  - roaring::api::roaring_bitmap_deserialize_safe
  - roaring::api::roaring_iterate
  - roaring::api::roaring_iterate64
  - roaring::api::iter_new_container_partial_init
  - roaring::api::loadfirstvalue
  - roaring::api::loadlastvalue
  - roaring::api::loadfirstvalue_largeorequal
  - roaring::api::roaring_iterator_init
  - roaring::api::roaring_iterator_init_last
  - roaring::api::roaring_iterator_create
  - roaring::api::roaring_uint32_iterator_copy
  - roaring::api::roaring_uint32_iterator_move_equalorlarger
  - roaring::api::roaring_uint32_iterator_advance
  - roaring::api::roaring_uint32_iterator_previous
  - roaring::api::roaring_uint32_iterator_read
  - roaring::api::roaring_uint32_iterator_free
  - roaring::api::roaring_bitmap_equals
  - roaring::api::roaring_bitmap_is_subset
  - roaring::api::insert_flipped_container
  - roaring::api::inplace_flip_container
  - roaring::api::insert_fully_flipped_container
  - roaring::api::inplace_fully_flip_container
  - roaring::api::roaring_bitmap_flip
  - roaring::api::roaring_bitmap_flip_closed
  - roaring::api::roaring_bitmap_flip_inplace
  - roaring::api::roaring_bitmap_flip_inplace_closed
  - roaring::api::offset_append_with_merge
  - roaring::api::roaring_bitmap_add_offset
  - roaring::api::roaring_bitmap_lazy_or
  - roaring::api::roaring_bitmap_lazy_or_inplace
  - roaring::api::roaring_bitmap_lazy_xor
  - roaring::api::roaring_bitmap_lazy_xor_inplace
  - roaring::api::roaring_bitmap_repair_after_lazy
  - roaring::api::roaring_bitmap_rank
  - roaring::api::roaring_bitmap_rank_many
  - roaring::api::roaring_bitmap_get_index
  - roaring::api::roaring_bitmap_minimum
  - roaring::api::roaring_bitmap_maximum
  - roaring::api::roaring_bitmap_select
  - roaring::api::roaring_bitmap_intersect
  - roaring::api::roaring_bitmap_intersect_with_range
  - roaring::api::roaring_bitmap_and_cardinality
  - roaring::api::roaring_bitmap_jaccard_index
  - roaring::api::roaring_bitmap_or_cardinality
  - roaring::api::roaring_bitmap_andnot_cardinality
  - roaring::api::roaring_bitmap_xor_cardinality
  - roaring::api::roaring_bitmap_contains
  - roaring::api::roaring_bitmap_contains_range
  - roaring::api::roaring_bitmap_contains_range_closed
  - roaring::api::roaring_bitmap_is_strict_subset
  - roaring::api::roaring_bitmap_frozen_size_in_bytes
  - roaring::api::arena_alloc
  - roaring::api::roaring_bitmap_frozen_serialize
  - roaring::api::roaring_bitmap_frozen_view
  - roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const char *buf)
  - roaring::api::roaring_bitmap_to_bitset
  - CROARING_ALIGN_BUF
  - roaring::api::is_frozen64
  - roaring::api::split_key
  - roaring::api::combine_key
  - roaring::api::minimum
  - roaring::api::create_leaf
  - roaring::api::get_typecode
  - roaring::api::get_index
  - roaring::api::get_container
  - roaring::api::replace_container
  - roaring::api::extend_containers
  - roaring::api::next_free_container_idx
  - roaring::api::allocate_index
  - roaring::api::add_container
  - roaring::api::remove_container
  - roaring::api::copy_leaf_container
  - roaring::api::compare_high48
  - roaring::api::roaring64_iterator_init_at_leaf_first
  - roaring::api::roaring64_iterator_init_at_leaf_last
  - roaring::api::roaring64_iterator_init_at
  - roaring::api::roaring64_bitmap_create
  - roaring::api::roaring64_bitmap_free
  - roaring::api::roaring64_bitmap_copy
  - roaring::api::move_from_roaring32_offset
  - roaring::api::roaring64_bitmap_move_from_roaring32
  - roaring::api::roaring64_bitmap_from_range
  - roaring::api::roaring64_bitmap_of_ptr
  - roaring::api::containerptr_roaring64_bitmap_add
  - roaring::api::roaring64_bitmap_add
  - roaring::api::roaring64_bitmap_add_checked
  - roaring::api::roaring64_bitmap_add_bulk
  - roaring::api::roaring64_bitmap_add_many
  - roaring::api::add_range_closed_at
  - roaring::api::roaring64_bitmap_add_range
  - roaring::api::roaring64_bitmap_add_range_closed
  - roaring::api::roaring64_bitmap_contains
  - roaring::api::roaring64_bitmap_contains_range
  - roaring::api::roaring64_bitmap_contains_bulk
  - roaring::api::roaring64_bitmap_select
  - roaring::api::roaring64_bitmap_rank
  - roaring::api::roaring64_bitmap_get_index
  - roaring::api::containerptr_roaring64_bitmap_remove
  - roaring::api::roaring64_bitmap_remove
  - roaring::api::roaring64_bitmap_remove_checked
  - roaring::api::roaring64_bitmap_remove_bulk
  - roaring::api::roaring64_bitmap_remove_many
  - roaring::api::remove_range_closed_at
  - roaring::api::roaring64_bitmap_remove_range
  - roaring::api::roaring64_bitmap_remove_range_closed
  - roaring::api::roaring64_bitmap_clear
  - roaring::api::roaring64_bitmap_get_cardinality
  - roaring::api::roaring64_bitmap_range_cardinality
  - roaring::api::roaring64_bitmap_range_closed_cardinality
  - roaring::api::roaring64_bitmap_is_empty
  - roaring::api::roaring64_bitmap_minimum
  - roaring::api::roaring64_bitmap_maximum
  - roaring::api::roaring64_bitmap_run_optimize
  - roaring::api::move_to_shrink
  - roaring::api::is_shrunken
  - roaring::api::roaring64_bitmap_shrink_to_fit
  - roaring::api::roaring64_bitmap_statistics
  - roaring::api::roaring64_leaf_internal_validate
  - roaring::api::roaring64_bitmap_internal_validate
  - roaring::api::roaring64_bitmap_equals
  - roaring::api::roaring64_bitmap_is_subset
  - roaring::api::roaring64_bitmap_is_strict_subset
  - roaring::api::roaring64_bitmap_and
  - roaring::api::roaring64_bitmap_and_cardinality
  - roaring::api::roaring64_bitmap_and_inplace
  - roaring::api::roaring64_bitmap_intersect
  - roaring::api::roaring64_bitmap_intersect_with_range
  - roaring::api::roaring64_bitmap_jaccard_index
  - roaring::api::roaring64_bitmap_or
  - roaring::api::roaring64_bitmap_or_cardinality
  - roaring::api::roaring64_bitmap_or_inplace
  - roaring::api::roaring64_bitmap_xor
  - roaring::api::roaring64_bitmap_xor_cardinality
  - roaring::api::roaring64_bitmap_xor_inplace
  - roaring::api::roaring64_bitmap_andnot
  - roaring::api::roaring64_bitmap_andnot_cardinality
  - roaring::api::roaring64_bitmap_andnot_inplace
  - roaring::api::roaring64_flip_leaf
  - roaring::api::roaring64_flip_leaf_inplace
  - roaring::api::roaring64_bitmap_flip
  - roaring::api::roaring64_bitmap_flip_closed
  - roaring::api::roaring64_bitmap_flip_inplace
  - roaring::api::roaring64_bitmap_flip_closed_inplace
  - roaring::api::count_high32
  - roaring::api::roaring_bitmap_free_without_containers
  - roaring::api::roaring64_bitmap_portable_size_in_bytes
  - roaring::api::roaring64_bitmap_portable_serialize
  - roaring::api::roaring64_bitmap_portable_deserialize_size
  - roaring::api::roaring64_bitmap_portable_deserialize_safe
  - roaring::api::container_get_element_count
  - roaring::api::container_get_frozen_size
  - roaring::api::align_size
  - roaring::api::roaring64_bitmap_frozen_size_in_bytes
  - roaring::api::container_frozen_serialize
  - roaring::api::pad_align
  - roaring::api::roaring64_bitmap_frozen_serialize
  - roaring::api::container_frozen_view
  - roaring::api::roaring64_bitmap_frozen_view
  - roaring::api::roaring64_bitmap_iterate
  - roaring::api::roaring64_bitmap_to_uint64_array
  - roaring::api::roaring64_iterator_create
  - roaring::api::roaring64_iterator_create_last
  - roaring::api::roaring64_iterator_reinit
  - roaring::api::roaring64_iterator_reinit_last
  - roaring::api::roaring64_iterator_copy
  - roaring::api::roaring64_iterator_free
  - roaring::api::roaring64_iterator_has_value
  - roaring::api::roaring64_iterator_value
  - roaring::api::roaring64_iterator_advance
  - roaring::api::roaring64_iterator_previous
  - roaring::api::roaring64_iterator_move_equalorlarger
  - roaring::api::roaring64_iterator_read
  - roaring::api::is_frozen64
  - roaring::api::split_key
  - roaring::api::combine_key
  - roaring::api::minimum
  - roaring::api::create_leaf
  - roaring::api::get_typecode
  - roaring::api::get_index
  - roaring::api::get_container
  - roaring::api::replace_container
  - roaring::api::extend_containers
  - roaring::api::next_free_container_idx
  - roaring::api::allocate_index
  - roaring::api::add_container
  - roaring::api::remove_container
  - roaring::api::copy_leaf_container
  - roaring::api::compare_high48
  - roaring::api::roaring64_iterator_init_at_leaf_first
  - roaring::api::roaring64_iterator_init_at_leaf_last
  - roaring::api::roaring64_iterator_init_at
  - roaring::api::roaring64_bitmap_create
  - roaring::api::roaring64_bitmap_free
  - roaring::api::roaring64_bitmap_copy
  - roaring::api::move_from_roaring32_offset
  - roaring::api::roaring64_bitmap_move_from_roaring32
  - roaring::api::roaring64_bitmap_from_range
  - roaring::api::roaring64_bitmap_of_ptr
  - roaring::api::containerptr_roaring64_bitmap_add
  - roaring::api::roaring64_bitmap_add
  - roaring::api::roaring64_bitmap_add_checked
  - roaring::api::roaring64_bitmap_add_bulk
  - roaring::api::roaring64_bitmap_add_many
  - roaring::api::add_range_closed_at
  - roaring::api::roaring64_bitmap_add_range
  - roaring::api::roaring64_bitmap_add_range_closed
  - roaring::api::roaring64_bitmap_contains
  - roaring::api::roaring64_bitmap_contains_range
  - roaring::api::roaring64_bitmap_contains_bulk
  - roaring::api::roaring64_bitmap_select
  - roaring::api::roaring64_bitmap_rank
  - roaring::api::roaring64_bitmap_get_index
  - roaring::api::containerptr_roaring64_bitmap_remove
  - roaring::api::roaring64_bitmap_remove
  - roaring::api::roaring64_bitmap_remove_checked
  - roaring::api::roaring64_bitmap_remove_bulk
  - roaring::api::roaring64_bitmap_remove_many
  - roaring::api::remove_range_closed_at
  - roaring::api::roaring64_bitmap_remove_range
  - roaring::api::roaring64_bitmap_remove_range_closed
  - roaring::api::roaring64_bitmap_clear
  - roaring::api::roaring64_bitmap_get_cardinality
  - roaring::api::roaring64_bitmap_range_cardinality
  - roaring::api::roaring64_bitmap_range_closed_cardinality
  - roaring::api::roaring64_bitmap_is_empty
  - roaring::api::roaring64_bitmap_minimum
  - roaring::api::roaring64_bitmap_maximum
  - roaring::api::roaring64_bitmap_run_optimize
  - roaring::api::move_to_shrink
  - roaring::api::is_shrunken
  - roaring::api::roaring64_bitmap_shrink_to_fit
  - roaring::api::roaring64_bitmap_statistics
  - roaring::api::roaring64_leaf_internal_validate
  - roaring::api::roaring64_bitmap_internal_validate
  - roaring::api::roaring64_bitmap_equals
  - roaring::api::roaring64_bitmap_is_subset
  - roaring::api::roaring64_bitmap_is_strict_subset
  - roaring::api::roaring64_bitmap_and
  - roaring::api::roaring64_bitmap_and_cardinality
  - roaring::api::roaring64_bitmap_and_inplace
  - roaring::api::roaring64_bitmap_intersect
  - roaring::api::roaring64_bitmap_intersect_with_range
  - roaring::api::roaring64_bitmap_jaccard_index
  - roaring::api::roaring64_bitmap_or
  - roaring::api::roaring64_bitmap_or_cardinality
  - roaring::api::roaring64_bitmap_or_inplace
  - roaring::api::roaring64_bitmap_xor
  - roaring::api::roaring64_bitmap_xor_cardinality
  - roaring::api::roaring64_bitmap_xor_inplace
  - roaring::api::roaring64_bitmap_andnot
  - roaring::api::roaring64_bitmap_andnot_cardinality
  - roaring::api::roaring64_bitmap_andnot_inplace
  - roaring::api::roaring64_flip_leaf
  - roaring::api::roaring64_flip_leaf_inplace
  - roaring::api::roaring64_bitmap_flip
  - roaring::api::roaring64_bitmap_flip_closed
  - roaring::api::roaring64_bitmap_flip_inplace
  - roaring::api::roaring64_bitmap_flip_closed_inplace
  - roaring::api::count_high32
  - roaring::api::roaring_bitmap_free_without_containers
  - roaring::api::roaring64_bitmap_portable_size_in_bytes
  - roaring::api::roaring64_bitmap_portable_serialize
  - roaring::api::roaring64_bitmap_portable_deserialize_size
  - roaring::api::roaring64_bitmap_portable_deserialize_safe
  - roaring::api::container_get_element_count
  - roaring::api::container_get_frozen_size
  - roaring::api::align_size
  - roaring::api::roaring64_bitmap_frozen_size_in_bytes
  - roaring::api::container_frozen_serialize
  - roaring::api::pad_align
  - roaring::api::roaring64_bitmap_frozen_serialize
  - roaring::api::container_frozen_view
  - roaring::api::roaring64_bitmap_frozen_view
  - roaring::api::roaring64_bitmap_iterate
  - roaring::api::roaring64_bitmap_to_uint64_array
  - roaring::api::roaring64_iterator_create
  - roaring::api::roaring64_iterator_create_last
  - roaring::api::roaring64_iterator_reinit
  - roaring::api::roaring64_iterator_reinit_last
  - roaring::api::roaring64_iterator_copy
  - roaring::api::roaring64_iterator_free
  - roaring::api::roaring64_iterator_has_value
  - roaring::api::roaring64_iterator_value
  - roaring::api::roaring64_iterator_advance
  - roaring::api::roaring64_iterator_previous
  - roaring::api::roaring64_iterator_move_equalorlarger
  - roaring::api::roaring64_iterator_read
  - roaring::api::is_frozen64
  - roaring::api::split_key
  - roaring::api::combine_key
  - roaring::api::minimum
  - roaring::api::create_leaf
  - roaring::api::get_typecode
  - roaring::api::get_index
  - roaring::api::get_container
  - roaring::api::replace_container
  - roaring::api::extend_containers
  - roaring::api::next_free_container_idx
  - roaring::api::allocate_index
  - roaring::api::add_container
  - roaring::api::remove_container
  - roaring::api::copy_leaf_container
  - roaring::api::compare_high48
  - roaring::api::roaring64_iterator_init_at_leaf_first
  - roaring::api::roaring64_iterator_init_at_leaf_last
  - roaring::api::roaring64_iterator_init_at
  - roaring::api::roaring64_bitmap_create
  - roaring::api::roaring64_bitmap_free
  - roaring::api::roaring64_bitmap_copy
  - roaring::api::move_from_roaring32_offset
  - roaring::api::roaring64_bitmap_move_from_roaring32
  - roaring::api::roaring64_bitmap_from_range
  - roaring::api::roaring64_bitmap_of_ptr
  - roaring::api::containerptr_roaring64_bitmap_add
  - roaring::api::roaring64_bitmap_add
  - roaring::api::roaring64_bitmap_add_checked
  - roaring::api::roaring64_bitmap_add_bulk
  - roaring::api::roaring64_bitmap_add_many
  - roaring::api::add_range_closed_at
  - roaring::api::roaring64_bitmap_add_range
  - roaring::api::roaring64_bitmap_add_range_closed
  - roaring::api::roaring64_bitmap_contains
  - roaring::api::roaring64_bitmap_contains_range
  - roaring::api::roaring64_bitmap_contains_bulk
  - roaring::api::roaring64_bitmap_select
  - roaring::api::roaring64_bitmap_rank
  - roaring::api::roaring64_bitmap_get_index
  - roaring::api::containerptr_roaring64_bitmap_remove
  - roaring::api::roaring64_bitmap_remove
  - roaring::api::roaring64_bitmap_remove_checked
  - roaring::api::roaring64_bitmap_remove_bulk
  - roaring::api::roaring64_bitmap_remove_many
  - roaring::api::remove_range_closed_at
  - roaring::api::roaring64_bitmap_remove_range
  - roaring::api::roaring64_bitmap_remove_range_closed
  - roaring::api::roaring64_bitmap_clear
  - roaring::api::roaring64_bitmap_get_cardinality
  - roaring::api::roaring64_bitmap_range_cardinality
  - roaring::api::roaring64_bitmap_range_closed_cardinality
  - roaring::api::roaring64_bitmap_is_empty
  - roaring::api::roaring64_bitmap_minimum
  - roaring::api::roaring64_bitmap_maximum
  - roaring::api::roaring64_bitmap_run_optimize
  - roaring::api::move_to_shrink
  - roaring::api::is_shrunken
  - roaring::api::roaring64_bitmap_shrink_to_fit
  - roaring::api::roaring64_bitmap_statistics
  - roaring::api::roaring64_leaf_internal_validate
  - roaring::api::roaring64_bitmap_internal_validate
  - roaring::api::roaring64_bitmap_equals
  - roaring::api::roaring64_bitmap_is_subset
  - roaring::api::roaring64_bitmap_is_strict_subset
  - roaring::api::roaring64_bitmap_and
  - roaring::api::roaring64_bitmap_and_cardinality
  - roaring::api::roaring64_bitmap_and_inplace
  - roaring::api::roaring64_bitmap_intersect
  - roaring::api::roaring64_bitmap_intersect_with_range
  - roaring::api::roaring64_bitmap_jaccard_index
  - roaring::api::roaring64_bitmap_or
  - roaring::api::roaring64_bitmap_or_cardinality
  - roaring::api::roaring64_bitmap_or_inplace
  - roaring::api::roaring64_bitmap_xor
  - roaring::api::roaring64_bitmap_xor_cardinality
  - roaring::api::roaring64_bitmap_xor_inplace
  - roaring::api::roaring64_bitmap_andnot
  - roaring::api::roaring64_bitmap_andnot_cardinality
  - roaring::api::roaring64_bitmap_andnot_inplace
  - roaring::api::roaring64_flip_leaf
  - roaring::api::roaring64_flip_leaf_inplace
  - roaring::api::roaring64_bitmap_flip
  - roaring::api::roaring64_bitmap_flip_closed
  - roaring::api::roaring64_bitmap_flip_inplace
  - roaring::api::roaring64_bitmap_flip_closed_inplace
  - roaring::api::count_high32
  - roaring::api::roaring_bitmap_free_without_containers
  - roaring::api::roaring64_bitmap_portable_size_in_bytes
  - roaring::api::roaring64_bitmap_portable_serialize
  - roaring::api::roaring64_bitmap_portable_deserialize_size
  - roaring::api::roaring64_bitmap_portable_deserialize_safe
  - roaring::api::container_get_element_count
  - roaring::api::container_get_frozen_size
  - roaring::api::align_size
  - roaring::api::roaring64_bitmap_frozen_size_in_bytes
  - roaring::api::container_frozen_serialize
  - roaring::api::pad_align
  - roaring::api::roaring64_bitmap_frozen_serialize
  - roaring::api::container_frozen_view
  - roaring::api::roaring64_bitmap_frozen_view
  - roaring::api::roaring64_bitmap_iterate
  - roaring::api::roaring64_bitmap_to_uint64_array
  - roaring::api::roaring64_iterator_create
  - roaring::api::roaring64_iterator_create_last
  - roaring::api::roaring64_iterator_reinit
  - roaring::api::roaring64_iterator_reinit_last
  - roaring::api::roaring64_iterator_copy
  - roaring::api::roaring64_iterator_free
  - roaring::api::roaring64_iterator_has_value
  - roaring::api::roaring64_iterator_value
  - roaring::api::roaring64_iterator_advance
  - roaring::api::roaring64_iterator_previous
  - roaring::api::roaring64_iterator_move_equalorlarger
  - roaring::api::roaring64_iterator_read
  - roaring::api::is_frozen64
  - roaring::api::split_key
  - roaring::api::combine_key
  - roaring::api::minimum
  - roaring::api::create_leaf
  - roaring::api::get_typecode
  - roaring::api::get_index
  - roaring::api::get_container
  - roaring::api::replace_container
  - roaring::api::extend_containers
  - roaring::api::next_free_container_idx
  - roaring::api::allocate_index
  - roaring::api::add_container
  - roaring::api::remove_container
  - roaring::api::copy_leaf_container
  - roaring::api::compare_high48
  - roaring::api::roaring64_iterator_init_at_leaf_first
  - roaring::api::roaring64_iterator_init_at_leaf_last
  - roaring::api::roaring64_iterator_init_at
  - roaring::api::roaring64_bitmap_create
  - roaring::api::roaring64_bitmap_free
  - roaring::api::roaring64_bitmap_copy
  - roaring::api::move_from_roaring32_offset
  - roaring::api::roaring64_bitmap_move_from_roaring32
  - roaring::api::roaring64_bitmap_from_range
  - roaring::api::roaring64_bitmap_of_ptr
  - roaring::api::containerptr_roaring64_bitmap_add
  - roaring::api::roaring64_bitmap_add
  - roaring::api::roaring64_bitmap_add_checked
  - roaring::api::roaring64_bitmap_add_bulk
  - roaring::api::roaring64_bitmap_add_many
  - roaring::api::add_range_closed_at
  - roaring::api::roaring64_bitmap_add_range
  - roaring::api::roaring64_bitmap_add_range_closed
  - roaring::api::roaring64_bitmap_contains
  - roaring::api::roaring64_bitmap_contains_range
  - roaring::api::roaring64_bitmap_contains_bulk
  - roaring::api::roaring64_bitmap_select
  - roaring::api::roaring64_bitmap_rank
  - roaring::api::roaring64_bitmap_get_index
  - roaring::api::containerptr_roaring64_bitmap_remove
  - roaring::api::roaring64_bitmap_remove
  - roaring::api::roaring64_bitmap_remove_checked
  - roaring::api::roaring64_bitmap_remove_bulk
  - roaring::api::roaring64_bitmap_remove_many
  - roaring::api::remove_range_closed_at
  - roaring::api::roaring64_bitmap_remove_range
  - roaring::api::roaring64_bitmap_remove_range_closed
  - roaring::api::roaring64_bitmap_clear
  - roaring::api::roaring64_bitmap_get_cardinality
  - roaring::api::roaring64_bitmap_range_cardinality
  - roaring::api::roaring64_bitmap_range_closed_cardinality
  - roaring::api::roaring64_bitmap_is_empty
  - roaring::api::roaring64_bitmap_minimum
  - roaring::api::roaring64_bitmap_maximum
  - roaring::api::roaring64_bitmap_run_optimize
  - roaring::api::move_to_shrink
  - roaring::api::is_shrunken
  - roaring::api::roaring64_bitmap_shrink_to_fit
  - roaring::api::roaring64_bitmap_statistics
  - roaring::api::roaring64_leaf_internal_validate
  - roaring::api::roaring64_bitmap_internal_validate
  - roaring::api::roaring64_bitmap_equals
  - roaring::api::roaring64_bitmap_is_subset
  - roaring::api::roaring64_bitmap_is_strict_subset
  - roaring::api::roaring64_bitmap_and
  - roaring::api::roaring64_bitmap_and_cardinality
  - roaring::api::roaring64_bitmap_and_inplace
  - roaring::api::roaring64_bitmap_intersect
  - roaring::api::roaring64_bitmap_intersect_with_range
  - roaring::api::roaring64_bitmap_jaccard_index
  - roaring::api::roaring64_bitmap_or
  - roaring::api::roaring64_bitmap_or_cardinality
  - roaring::api::roaring64_bitmap_or_inplace
  - roaring::api::roaring64_bitmap_xor
  - roaring::api::roaring64_bitmap_xor_cardinality
  - roaring::api::roaring64_bitmap_xor_inplace
  - roaring::api::roaring64_bitmap_andnot
  - roaring::api::roaring64_bitmap_andnot_cardinality
  - roaring::api::roaring64_bitmap_andnot_inplace
  - roaring::api::roaring64_flip_leaf
  - roaring::api::roaring64_flip_leaf_inplace
  - roaring::api::roaring64_bitmap_flip
  - roaring::api::roaring64_bitmap_flip_closed
  - roaring::api::roaring64_bitmap_flip_inplace
  - roaring::api::roaring64_bitmap_flip_closed_inplace
  - roaring::api::count_high32
  - roaring::api::roaring_bitmap_free_without_containers
  - roaring::api::roaring64_bitmap_portable_size_in_bytes
  - roaring::api::roaring64_bitmap_portable_serialize
  - roaring::api::roaring64_bitmap_portable_deserialize_size
  - roaring::api::roaring64_bitmap_portable_deserialize_safe
  - roaring::api::container_get_element_count
  - roaring::api::container_get_frozen_size
  - roaring::api::align_size
  - roaring::api::roaring64_bitmap_frozen_size_in_bytes
  - roaring::api::container_frozen_serialize
  - roaring::api::pad_align
  - roaring::api::roaring64_bitmap_frozen_serialize
  - roaring::api::container_frozen_view
  - roaring::api::roaring64_bitmap_frozen_view
  - roaring::api::roaring64_bitmap_iterate
  - roaring::api::roaring64_bitmap_to_uint64_array
  - roaring::api::roaring64_iterator_create
  - roaring::api::roaring64_iterator_create_last
  - roaring::api::roaring64_iterator_reinit
  - roaring::api::roaring64_iterator_reinit_last
  - roaring::api::roaring64_iterator_copy
  - roaring::api::roaring64_iterator_free
  - roaring::api::roaring64_iterator_has_value
  - roaring::api::roaring64_iterator_value
  - roaring::api::roaring64_iterator_advance
  - roaring::api::roaring64_iterator_previous
  - roaring::api::roaring64_iterator_move_equalorlarger
  - roaring::api::roaring64_iterator_read
  source_file: /src/ndpi/src/lib/third_party/src/roaring.c
  types:
    enum:
    - enumerators:
      - name: CROARING_DEFAULT
        value: '0x0'
      - name: CROARING_AVX2
        value: '0x4'
      - name: CROARING_SSE42
        value: '0x8'
      - name: CROARING_NEON
        value: '0x1'
      - name: CROARING_PCLMULQDQ
        value: '0x10'
      - name: CROARING_BMI1
        value: '0x20'
      - name: CROARING_BMI2
        value: '0x40'
      - name: CROARING_ALTIVEC
        value: '0x80'
      - name: CROARING_AVX512F
        value: '0x100'
      - name: CROARING_AVX512DQ
        value: '0x200'
      - name: CROARING_AVX512BITALG
        value: '0x1000'
      - name: CROARING_UNINITIALIZED
        value: '0x8000'
      - name: CROARING_AVX512BW
        value: '0x400'
      - name: CROARING_AVX512VBMI2
        value: '0x800'
      - name: CROARING_AVX512VPOPCNTDQ
        value: '0x2000'
      item_type: enum
      name: croaring_instruction_set
      pos:
        line_end: 19575
        line_start: 19559
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - enumerators:
      - name: CROARING_DEFAULT
        value: '0x0'
      - name: CROARING_AVX2
        value: '0x4'
      - name: CROARING_SSE42
        value: '0x8'
      - name: CROARING_NEON
        value: '0x1'
      - name: CROARING_PCLMULQDQ
        value: '0x10'
      - name: CROARING_BMI1
        value: '0x20'
      - name: CROARING_BMI2
        value: '0x40'
      - name: CROARING_ALTIVEC
        value: '0x80'
      - name: CROARING_AVX512F
        value: '0x100'
      - name: CROARING_AVX512DQ
        value: '0x200'
      - name: CROARING_AVX512BITALG
        value: '0x1000'
      - name: CROARING_UNINITIALIZED
        value: '0x8000'
      - name: CROARING_AVX512BW
        value: '0x400'
      - name: CROARING_AVX512VBMI2
        value: '0x800'
      - name: CROARING_AVX512VPOPCNTDQ
        value: '0x2000'
      item_type: enum
      name: croaring_instruction_set
      pos:
        line_end: 19575
        line_start: 19559
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - enumerators:
      - name: CROARING_DEFAULT
        value: '0x0'
      - name: CROARING_AVX2
        value: '0x4'
      - name: CROARING_SSE42
        value: '0x8'
      - name: CROARING_NEON
        value: '0x1'
      - name: CROARING_PCLMULQDQ
        value: '0x10'
      - name: CROARING_BMI1
        value: '0x20'
      - name: CROARING_BMI2
        value: '0x40'
      - name: CROARING_ALTIVEC
        value: '0x80'
      - name: CROARING_AVX512F
        value: '0x100'
      - name: CROARING_AVX512DQ
        value: '0x200'
      - name: CROARING_AVX512BITALG
        value: '0x1000'
      - name: CROARING_UNINITIALIZED
        value: '0x8000'
      - name: CROARING_AVX512BW
        value: '0x400'
      - name: CROARING_AVX512VBMI2
        value: '0x800'
      - name: CROARING_AVX512VPOPCNTDQ
        value: '0x2000'
      item_type: enum
      name: croaring_instruction_set
      pos:
        line_end: 19575
        line_start: 19559
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - enumerators:
      - name: CROARING_DEFAULT
        value: '0x0'
      - name: CROARING_AVX2
        value: '0x4'
      - name: CROARING_SSE42
        value: '0x8'
      - name: CROARING_NEON
        value: '0x1'
      - name: CROARING_PCLMULQDQ
        value: '0x10'
      - name: CROARING_BMI1
        value: '0x20'
      - name: CROARING_BMI2
        value: '0x40'
      - name: CROARING_ALTIVEC
        value: '0x80'
      - name: CROARING_AVX512F
        value: '0x100'
      - name: CROARING_AVX512DQ
        value: '0x200'
      - name: CROARING_AVX512BITALG
        value: '0x1000'
      - name: CROARING_UNINITIALIZED
        value: '0x8000'
      - name: CROARING_AVX512BW
        value: '0x400'
      - name: CROARING_AVX512VBMI2
        value: '0x800'
      - name: CROARING_AVX512VPOPCNTDQ
        value: '0x2000'
      item_type: enum
      name: croaring_instruction_set
      pos:
        line_end: 19575
        line_start: 19559
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    preproc_defs:
    - item_type: preproc_def
      name: CROARING_COMPILER_SUPPORTS_AVX512
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_COMPILER_SUPPORTS_AVX512
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_COMPILER_SUPPORTS_AVX512
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: LAZY_OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: OR_BITSET_CONVERSION_TO_FULL
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: BITSET_CONTAINER_TYPE
      pos:
        line_end: 3989
        line_start: 3988
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ARRAY_CONTAINER_TYPE
      pos:
        line_end: 3990
        line_start: 3989
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RUN_CONTAINER_TYPE
      pos:
        line_end: 3991
        line_start: 3990
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SHARED_CONTAINER_TYPE
      pos:
        line_end: 3992
        line_start: 3991
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BITSET_CONTAINER_TYPE
      pos:
        line_end: 3989
        line_start: 3988
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ARRAY_CONTAINER_TYPE
      pos:
        line_end: 3990
        line_start: 3989
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RUN_CONTAINER_TYPE
      pos:
        line_end: 3991
        line_start: 3990
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SHARED_CONTAINER_TYPE
      pos:
        line_end: 3992
        line_start: 3991
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BITSET_CONTAINER_TYPE
      pos:
        line_end: 3989
        line_start: 3988
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ARRAY_CONTAINER_TYPE
      pos:
        line_end: 3990
        line_start: 3989
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RUN_CONTAINER_TYPE
      pos:
        line_end: 3991
        line_start: 3990
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SHARED_CONTAINER_TYPE
      pos:
        line_end: 3992
        line_start: 3991
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BITSET_CONTAINER_TYPE
      pos:
        line_end: 3989
        line_start: 3988
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ARRAY_CONTAINER_TYPE
      pos:
        line_end: 3990
        line_start: 3989
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RUN_CONTAINER_TYPE
      pos:
        line_end: 3991
        line_start: 3990
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SHARED_CONTAINER_TYPE
      pos:
        line_end: 3992
        line_start: 3991
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ART_KEY_BYTES
      pos:
        line_end: 6773
        line_start: 6772
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '6'
    - item_type: preproc_def
      name: CROARING_ART_NULL_REF
      pos:
        line_end: 9166
        line_start: 9165
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CROARING_ART_LEAF_TYPE
      pos:
        line_end: 9168
        line_start: 9167
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_ART_NODE4_TYPE
      pos:
        line_end: 9169
        line_start: 9168
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CROARING_ART_NODE16_TYPE
      pos:
        line_end: 9170
        line_start: 9169
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CROARING_ART_NODE48_TYPE
      pos:
        line_end: 9171
        line_start: 9170
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CROARING_ART_NODE256_TYPE
      pos:
        line_end: 9172
        line_start: 9171
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '5'
    - item_type: preproc_def
      name: CROARING_ART_MIN_TYPE
      pos:
        line_end: 9174
        line_start: 9173
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: CROARING_ART_LEAF_TYPE
    - item_type: preproc_def
      name: CROARING_ART_MAX_TYPE
      pos:
        line_end: 9175
        line_start: 9174
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: CROARING_ART_NODE256_TYPE
    - item_type: preproc_def
      name: CROARING_ART_NODE48_EMPTY_VAL
      pos:
        line_end: 9178
        line_start: 9177
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '48'
    - item_type: preproc_def
      name: CROARING_NODE48_AVAILABLE_CHILDREN_MASK
      pos:
        line_end: 9179
        line_start: 9178
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: ((UINT64_C(1) << 48) - 1)
    - item_type: preproc_def
      name: CROARING_WORDS_IN_AVX2_REG
      pos:
        line_end: 14008
        line_start: 14007
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: WORDS_IN_AVX512_REG
      pos:
        line_end: 14011
        line_start: 14010
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m512i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_BITSET_CONTAINER_FN_REPEAT
      pos:
        line_end: 14088
        line_start: 14087
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '8'
    - item_type: preproc_def
      name: WORDS_IN_AVX512_REG
      pos:
        line_end: 14090
        line_start: 14089
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m512i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_WORDS_IN_AVX2_REG
      pos:
        line_end: 14248
        line_start: 14247
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_LOOP_SIZE
      pos:
        line_end: 14252
        line_start: 14249
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: "BITSET_CONTAINER_SIZE_IN_WORDS / \\\n        ((CROARING_WORDS_IN_AVX2_REG)*CROARING_BITSET_CONTAINER_FN_REPEAT)"
    - item_type: preproc_def
      name: CROARING_WORDS_IN_AVX2_REG
      pos:
        line_end: 14008
        line_start: 14007
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: WORDS_IN_AVX512_REG
      pos:
        line_end: 14011
        line_start: 14010
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m512i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_BITSET_CONTAINER_FN_REPEAT
      pos:
        line_end: 14088
        line_start: 14087
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '8'
    - item_type: preproc_def
      name: WORDS_IN_AVX512_REG
      pos:
        line_end: 14090
        line_start: 14089
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m512i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_WORDS_IN_AVX2_REG
      pos:
        line_end: 14248
        line_start: 14247
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_LOOP_SIZE
      pos:
        line_end: 14252
        line_start: 14249
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: "BITSET_CONTAINER_SIZE_IN_WORDS / \\\n        ((CROARING_WORDS_IN_AVX2_REG)*CROARING_BITSET_CONTAINER_FN_REPEAT)"
    - item_type: preproc_def
      name: CROARING_WORDS_IN_AVX2_REG
      pos:
        line_end: 14008
        line_start: 14007
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: WORDS_IN_AVX512_REG
      pos:
        line_end: 14011
        line_start: 14010
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m512i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_BITSET_CONTAINER_FN_REPEAT
      pos:
        line_end: 14088
        line_start: 14087
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '8'
    - item_type: preproc_def
      name: WORDS_IN_AVX512_REG
      pos:
        line_end: 14090
        line_start: 14089
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m512i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_WORDS_IN_AVX2_REG
      pos:
        line_end: 14248
        line_start: 14247
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_LOOP_SIZE
      pos:
        line_end: 14252
        line_start: 14249
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: "BITSET_CONTAINER_SIZE_IN_WORDS / \\\n        ((CROARING_WORDS_IN_AVX2_REG)*CROARING_BITSET_CONTAINER_FN_REPEAT)"
    - item_type: preproc_def
      name: CROARING_WORDS_IN_AVX2_REG
      pos:
        line_end: 14008
        line_start: 14007
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: WORDS_IN_AVX512_REG
      pos:
        line_end: 14011
        line_start: 14010
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m512i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_BITSET_CONTAINER_FN_REPEAT
      pos:
        line_end: 14088
        line_start: 14087
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '8'
    - item_type: preproc_def
      name: WORDS_IN_AVX512_REG
      pos:
        line_end: 14090
        line_start: 14089
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m512i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_WORDS_IN_AVX2_REG
      pos:
        line_end: 14248
        line_start: 14247
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: sizeof(__m256i) / sizeof(uint64_t)
    - item_type: preproc_def
      name: CROARING_LOOP_SIZE
      pos:
        line_end: 14252
        line_start: 14249
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: "BITSET_CONTAINER_SIZE_IN_WORDS / \\\n        ((CROARING_WORDS_IN_AVX2_REG)*CROARING_BITSET_CONTAINER_FN_REPEAT)"
    - item_type: preproc_def
      name: ROARING_INIT_ROARING_CONTAINER_ITERATOR_T
      pos:
        line_end: 15070
        line_start: 15069
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: roaring_container_iterator_t
    - item_type: preproc_def
      name: ROARING_INIT_ROARING_CONTAINER_ITERATOR_T
      pos:
        line_end: 15074
        line_start: 15073
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: (roaring_container_iterator_t)
    - item_type: preproc_def
      name: ROARING_INIT_ROARING_CONTAINER_ITERATOR_T
      pos:
        line_end: 15074
        line_start: 15073
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: (roaring_container_iterator_t)
    - item_type: preproc_def
      name: ROARING_INIT_ROARING_CONTAINER_ITERATOR_T
      pos:
        line_end: 15074
        line_start: 15073
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: (roaring_container_iterator_t)
    - item_type: preproc_def
      name: ROARING_INIT_ROARING_CONTAINER_ITERATOR_T
      pos:
        line_end: 15074
        line_start: 15073
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: (roaring_container_iterator_t)
    - item_type: preproc_def
      name: ROARING_DISABLE_AVX
      pos:
        line_end: 19537
        line_start: 19536
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_ARRAY_UINT32
      pos:
        line_end: 21042
        line_start: 21041
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_CONTAINER
      pos:
        line_end: 21043
        line_start: 21042
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_ARRAY_UINT32
      pos:
        line_end: 21042
        line_start: 21041
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_CONTAINER
      pos:
        line_end: 21043
        line_start: 21042
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_ARRAY_UINT32
      pos:
        line_end: 21042
        line_start: 21041
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_CONTAINER
      pos:
        line_end: 21043
        line_start: 21042
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_ARRAY_UINT32
      pos:
        line_end: 21042
        line_start: 21041
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_SERIALIZATION_CONTAINER
      pos:
        line_end: 21043
        line_start: 21042
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CROARING_BITSET_ALIGNMENT
      pos:
        line_end: 24435
        line_start: 24434
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type_or_value: '64'
    structs:
    - fields:
      - name: value
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: rle16_s
      pos:
        line_end: 2410
        line_start: 2407
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: value
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: rle16_s
      pos:
        line_end: 2410
        line_start: 2407
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: value
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: rle16_s
      pos:
        line_end: 2410
        line_start: 2407
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: value
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: rle16_s
      pos:
        line_end: 2410
        line_start: 2407
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: root
        type: art_ref_t
      - name: first_free[6]
        type: uint64_t
      - name: capacities[6]
        type: uint64_t
      - name: '*nodes[6]'
        type: art_node_t
      item_type: struct
      name: art_s
      pos:
        line_end: 6805
        line_start: 6796
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: ref
        type: art_ref_t
      - name: index_in_node
        type: uint8_t
      item_type: struct
      name: art_iterator_frame_s
      pos:
        line_end: 6880
        line_start: 6877
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: key[ART_KEY_BYTES]
        type: art_key_chunk_t
      - name: '*value'
        type: art_val_t
      - name: '*art'
        type: art_t
      - name: depth
        type: uint8_t
      - name: frame
        type: uint8_t
      - name: frames[ART_KEY_BYTES + 1]
        type: art_iterator_frame_t
      item_type: struct
      name: art_iterator_s
      pos:
        line_end: 6898
        line_start: 6886
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: root
        type: art_ref_t
      - name: first_free[6]
        type: uint64_t
      - name: capacities[6]
        type: uint64_t
      - name: '*nodes[6]'
        type: art_node_t
      item_type: struct
      name: art_s
      pos:
        line_end: 6805
        line_start: 6796
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: ref
        type: art_ref_t
      - name: index_in_node
        type: uint8_t
      item_type: struct
      name: art_iterator_frame_s
      pos:
        line_end: 6880
        line_start: 6877
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: key[ART_KEY_BYTES]
        type: art_key_chunk_t
      - name: '*value'
        type: art_val_t
      - name: '*art'
        type: art_t
      - name: depth
        type: uint8_t
      - name: frame
        type: uint8_t
      - name: frames[ART_KEY_BYTES + 1]
        type: art_iterator_frame_t
      item_type: struct
      name: art_iterator_s
      pos:
        line_end: 6898
        line_start: 6886
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: root
        type: art_ref_t
      - name: first_free[6]
        type: uint64_t
      - name: capacities[6]
        type: uint64_t
      - name: '*nodes[6]'
        type: art_node_t
      item_type: struct
      name: art_s
      pos:
        line_end: 6805
        line_start: 6796
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: ref
        type: art_ref_t
      - name: index_in_node
        type: uint8_t
      item_type: struct
      name: art_iterator_frame_s
      pos:
        line_end: 6880
        line_start: 6877
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: key[ART_KEY_BYTES]
        type: art_key_chunk_t
      - name: '*value'
        type: art_val_t
      - name: '*art'
        type: art_t
      - name: depth
        type: uint8_t
      - name: frame
        type: uint8_t
      - name: frames[ART_KEY_BYTES + 1]
        type: art_iterator_frame_t
      item_type: struct
      name: art_iterator_s
      pos:
        line_end: 6898
        line_start: 6886
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: root
        type: art_ref_t
      - name: first_free[6]
        type: uint64_t
      - name: capacities[6]
        type: uint64_t
      - name: '*nodes[6]'
        type: art_node_t
      item_type: struct
      name: art_s
      pos:
        line_end: 6805
        line_start: 6796
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: ref
        type: art_ref_t
      - name: index_in_node
        type: uint8_t
      item_type: struct
      name: art_iterator_frame_s
      pos:
        line_end: 6880
        line_start: 6877
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: key[ART_KEY_BYTES]
        type: art_key_chunk_t
      - name: '*value'
        type: art_val_t
      - name: '*art'
        type: art_t
      - name: depth
        type: uint8_t
      - name: frame
        type: uint8_t
      - name: frames[ART_KEY_BYTES + 1]
        type: art_iterator_frame_t
      item_type: struct
      name: art_iterator_s
      pos:
        line_end: 6898
        line_start: 6886
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_leaf_s
      pos:
        line_end: 9207
        line_start: 9199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: prefix_size
        type: uint8_t
      - name: prefix[ART_KEY_BYTES - 1]
        type: uint8_t
      item_type: struct
      name: art_inner_node_s
      pos:
        line_end: 9215
        line_start: 9212
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node4_s
      pos:
        line_end: 9230
        line_start: 9220
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node16_s
      pos:
        line_end: 9243
        line_start: 9233
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node48_s
      pos:
        line_end: 9262
        line_start: 9248
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node256_s
      pos:
        line_end: 9275
        line_start: 9266
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: child
        type: art_ref_t
      - name: index
        type: uint8_t
      - name: key_chunk
        type: art_key_chunk_t
      item_type: struct
      name: art_indexed_child_s
      pos:
        line_end: 9292
        line_start: 9288
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '**reason'
        type: char
      - name: validate_cb
        type: art_validate_cb_t
      - name: '*context'
        type: void
      - name: depth
        type: int
      - name: current_key[ART_KEY_BYTES]
        type: art_key_chunk_t
      item_type: struct
      name: art_internal_validate_s
      pos:
        line_end: 9301
        line_start: 9294
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: rootmost_node
        type: art_ref_t
      - name: erased
        type: bool
      - name: value_erased
        type: art_val_t
      item_type: struct
      name: art_erase_result_s
      pos:
        line_end: 10581
        line_start: 10570
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_leaf_s
      pos:
        line_end: 9207
        line_start: 9199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: prefix_size
        type: uint8_t
      - name: prefix[ART_KEY_BYTES - 1]
        type: uint8_t
      item_type: struct
      name: art_inner_node_s
      pos:
        line_end: 9215
        line_start: 9212
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node4_s
      pos:
        line_end: 9230
        line_start: 9220
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node16_s
      pos:
        line_end: 9243
        line_start: 9233
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node48_s
      pos:
        line_end: 9262
        line_start: 9248
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node256_s
      pos:
        line_end: 9275
        line_start: 9266
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: child
        type: art_ref_t
      - name: index
        type: uint8_t
      - name: key_chunk
        type: art_key_chunk_t
      item_type: struct
      name: art_indexed_child_s
      pos:
        line_end: 9292
        line_start: 9288
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '**reason'
        type: char
      - name: validate_cb
        type: art_validate_cb_t
      - name: '*context'
        type: void
      - name: depth
        type: int
      - name: current_key[ART_KEY_BYTES]
        type: art_key_chunk_t
      item_type: struct
      name: art_internal_validate_s
      pos:
        line_end: 9301
        line_start: 9294
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: rootmost_node
        type: art_ref_t
      - name: erased
        type: bool
      - name: value_erased
        type: art_val_t
      item_type: struct
      name: art_erase_result_s
      pos:
        line_end: 10581
        line_start: 10570
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_leaf_s
      pos:
        line_end: 9207
        line_start: 9199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: prefix_size
        type: uint8_t
      - name: prefix[ART_KEY_BYTES - 1]
        type: uint8_t
      item_type: struct
      name: art_inner_node_s
      pos:
        line_end: 9215
        line_start: 9212
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node4_s
      pos:
        line_end: 9230
        line_start: 9220
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node16_s
      pos:
        line_end: 9243
        line_start: 9233
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node48_s
      pos:
        line_end: 9262
        line_start: 9248
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node256_s
      pos:
        line_end: 9275
        line_start: 9266
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: child
        type: art_ref_t
      - name: index
        type: uint8_t
      - name: key_chunk
        type: art_key_chunk_t
      item_type: struct
      name: art_indexed_child_s
      pos:
        line_end: 9292
        line_start: 9288
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '**reason'
        type: char
      - name: validate_cb
        type: art_validate_cb_t
      - name: '*context'
        type: void
      - name: depth
        type: int
      - name: current_key[ART_KEY_BYTES]
        type: art_key_chunk_t
      item_type: struct
      name: art_internal_validate_s
      pos:
        line_end: 9301
        line_start: 9294
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: rootmost_node
        type: art_ref_t
      - name: erased
        type: bool
      - name: value_erased
        type: art_val_t
      item_type: struct
      name: art_erase_result_s
      pos:
        line_end: 10581
        line_start: 10570
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_leaf_s
      pos:
        line_end: 9207
        line_start: 9199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: prefix_size
        type: uint8_t
      - name: prefix[ART_KEY_BYTES - 1]
        type: uint8_t
      item_type: struct
      name: art_inner_node_s
      pos:
        line_end: 9215
        line_start: 9212
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node4_s
      pos:
        line_end: 9230
        line_start: 9220
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node16_s
      pos:
        line_end: 9243
        line_start: 9233
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node48_s
      pos:
        line_end: 9262
        line_start: 9248
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields: []
      item_type: struct
      name: art_node256_s
      pos:
        line_end: 9275
        line_start: 9266
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: child
        type: art_ref_t
      - name: index
        type: uint8_t
      - name: key_chunk
        type: art_key_chunk_t
      item_type: struct
      name: art_indexed_child_s
      pos:
        line_end: 9292
        line_start: 9288
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '**reason'
        type: char
      - name: validate_cb
        type: art_validate_cb_t
      - name: '*context'
        type: void
      - name: depth
        type: int
      - name: current_key[ART_KEY_BYTES]
        type: art_key_chunk_t
      item_type: struct
      name: art_internal_validate_s
      pos:
        line_end: 9301
        line_start: 9294
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: rootmost_node
        type: art_ref_t
      - name: erased
        type: bool
      - name: value_erased
        type: art_val_t
      item_type: struct
      name: art_erase_result_s
      pos:
        line_end: 10581
        line_start: 10570
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: size
        type: uint64_t
      - name: is_temporary
        type: bool
      - name: '*bitmap'
        type: roaring_bitmap_t
      item_type: struct
      name: roaring_pq_element_s
      pos:
        line_end: 20782
        line_start: 20778
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '*elements'
        type: roaring_pq_element_t
      - name: size
        type: uint64_t
      item_type: struct
      name: roaring_pq_s
      pos:
        line_end: 20789
        line_start: 20786
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: size
        type: uint64_t
      - name: is_temporary
        type: bool
      - name: '*bitmap'
        type: roaring_bitmap_t
      item_type: struct
      name: roaring_pq_element_s
      pos:
        line_end: 20782
        line_start: 20778
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '*elements'
        type: roaring_pq_element_t
      - name: size
        type: uint64_t
      item_type: struct
      name: roaring_pq_s
      pos:
        line_end: 20789
        line_start: 20786
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: size
        type: uint64_t
      - name: is_temporary
        type: bool
      - name: '*bitmap'
        type: roaring_bitmap_t
      item_type: struct
      name: roaring_pq_element_s
      pos:
        line_end: 20782
        line_start: 20778
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '*elements'
        type: roaring_pq_element_t
      - name: size
        type: uint64_t
      item_type: struct
      name: roaring_pq_s
      pos:
        line_end: 20789
        line_start: 20786
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: size
        type: uint64_t
      - name: is_temporary
        type: bool
      - name: '*bitmap'
        type: roaring_bitmap_t
      item_type: struct
      name: roaring_pq_element_s
      pos:
        line_end: 20782
        line_start: 20778
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '*elements'
        type: roaring_pq_element_t
      - name: size
        type: uint64_t
      item_type: struct
      name: roaring_pq_s
      pos:
        line_end: 20789
        line_start: 20786
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: art
        type: art_t
      - name: flags
        type: uint8_t
      - name: first_free
        type: uint64_t
      - name: capacity
        type: uint64_t
      - name: '**containers'
        type: container_t
      item_type: struct
      name: roaring64_bitmap_s
      pos:
        line_end: 24453
        line_start: 24447
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '*r'
        type: roaring64_bitmap_t
      - name: art_it
        type: art_iterator_t
      - name: container_it
        type: roaring_container_iterator_t
      - name: high48
        type: uint64_t
      - name: value
        type: uint64_t
      - name: has_value
        type: bool
      - name: saturated_forward
        type: bool
      item_type: struct
      name: roaring64_iterator_s
      pos:
        line_end: 24475
        line_start: 24461
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: art
        type: art_t
      - name: flags
        type: uint8_t
      - name: first_free
        type: uint64_t
      - name: capacity
        type: uint64_t
      - name: '**containers'
        type: container_t
      item_type: struct
      name: roaring64_bitmap_s
      pos:
        line_end: 24453
        line_start: 24447
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '*r'
        type: roaring64_bitmap_t
      - name: art_it
        type: art_iterator_t
      - name: container_it
        type: roaring_container_iterator_t
      - name: high48
        type: uint64_t
      - name: value
        type: uint64_t
      - name: has_value
        type: bool
      - name: saturated_forward
        type: bool
      item_type: struct
      name: roaring64_iterator_s
      pos:
        line_end: 24475
        line_start: 24461
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: art
        type: art_t
      - name: flags
        type: uint8_t
      - name: first_free
        type: uint64_t
      - name: capacity
        type: uint64_t
      - name: '**containers'
        type: container_t
      item_type: struct
      name: roaring64_bitmap_s
      pos:
        line_end: 24453
        line_start: 24447
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '*r'
        type: roaring64_bitmap_t
      - name: art_it
        type: art_iterator_t
      - name: container_it
        type: roaring_container_iterator_t
      - name: high48
        type: uint64_t
      - name: value
        type: uint64_t
      - name: has_value
        type: bool
      - name: saturated_forward
        type: bool
      item_type: struct
      name: roaring64_iterator_s
      pos:
        line_end: 24475
        line_start: 24461
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: art
        type: art_t
      - name: flags
        type: uint8_t
      - name: first_free
        type: uint64_t
      - name: capacity
        type: uint64_t
      - name: '**containers'
        type: container_t
      item_type: struct
      name: roaring64_bitmap_s
      pos:
        line_end: 24453
        line_start: 24447
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    - fields:
      - name: '*r'
        type: roaring64_bitmap_t
      - name: art_it
        type: art_iterator_t
      - name: container_it
        type: roaring_container_iterator_t
      - name: high48
        type: uint64_t
      - name: value
        type: uint64_t
      - name: has_value
        type: bool
      - name: saturated_forward
        type: bool
      item_type: struct
      name: roaring64_iterator_s
      pos:
        line_end: 24475
        line_start: 24461
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
    typedefs:
    - item_type: typedef
      name: container_t
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: ROARING_CONTAINER_T
    - item_type: typedef
      name: PDerived
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: typename std::remove_pointer<PPDerived>::type
    - item_type: typedef
      name: Derived
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: typename std::remove_pointer<PDerived>::type
    - item_type: typedef
      name: container_t
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: ROARING_CONTAINER_T
    - item_type: typedef
      name: PDerived
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: typename std::remove_pointer<PPDerived>::type
    - item_type: typedef
      name: Derived
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: typename std::remove_pointer<PDerived>::type
    - item_type: typedef
      name: container_t
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: ROARING_CONTAINER_T
    - item_type: typedef
      name: PDerived
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: typename std::remove_pointer<PPDerived>::type
    - item_type: typedef
      name: Derived
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: typename std::remove_pointer<PDerived>::type
    - item_type: typedef
      name: container_t
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: ROARING_CONTAINER_T
    - item_type: typedef
      name: PDerived
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: typename std::remove_pointer<PPDerived>::type
    - item_type: typedef
      name: Derived
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: typename std::remove_pointer<PDerived>::type
    - item_type: typedef
      name: array_container_t
      pos:
        line_end: 1381
        line_start: 1381
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: array_container_s
    - item_type: typedef
      name: array_container_t
      pos:
        line_end: 1381
        line_start: 1381
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: array_container_s
    - item_type: typedef
      name: array_container_t
      pos:
        line_end: 1381
        line_start: 1381
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: array_container_s
    - item_type: typedef
      name: array_container_t
      pos:
        line_end: 1381
        line_start: 1381
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: array_container_s
    - item_type: typedef
      name: bitset_container_t
      pos:
        line_end: 1896
        line_start: 1896
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: bitset_container_s
    - item_type: typedef
      name: bitset_container_t
      pos:
        line_end: 1896
        line_start: 1896
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: bitset_container_s
    - item_type: typedef
      name: bitset_container_t
      pos:
        line_end: 1896
        line_start: 1896
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: bitset_container_s
    - item_type: typedef
      name: bitset_container_t
      pos:
        line_end: 1896
        line_start: 1896
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: bitset_container_s
    - item_type: typedef
      name: rle16_t
      pos:
        line_end: 2412
        line_start: 2412
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: rle16_s
    - item_type: typedef
      name: run_container_t
      pos:
        line_end: 2434
        line_start: 2434
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: run_container_s
    - item_type: typedef
      name: rle16_t
      pos:
        line_end: 2412
        line_start: 2412
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: rle16_s
    - item_type: typedef
      name: run_container_t
      pos:
        line_end: 2434
        line_start: 2434
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: run_container_s
    - item_type: typedef
      name: rle16_t
      pos:
        line_end: 2412
        line_start: 2412
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: rle16_s
    - item_type: typedef
      name: run_container_t
      pos:
        line_end: 2434
        line_start: 2434
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: run_container_s
    - item_type: typedef
      name: rle16_t
      pos:
        line_end: 2412
        line_start: 2412
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: rle16_s
    - item_type: typedef
      name: run_container_t
      pos:
        line_end: 2434
        line_start: 2434
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: run_container_s
    - item_type: typedef
      name: shared_container_t
      pos:
        line_end: 4017
        line_start: 4017
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: shared_container_s
    - item_type: typedef
      name: shared_container_t
      pos:
        line_end: 4017
        line_start: 4017
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: shared_container_s
    - item_type: typedef
      name: shared_container_t
      pos:
        line_end: 4017
        line_start: 4017
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: shared_container_s
    - item_type: typedef
      name: shared_container_t
      pos:
        line_end: 4017
        line_start: 4017
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: shared_container_s
    - item_type: typedef
      name: art_key_chunk_t
      pos:
        line_end: 6780
        line_start: 6780
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint8_t
    - item_type: typedef
      name: art_ref_t
      pos:
        line_end: 6785
        line_start: 6785
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint64_t
    - item_type: typedef
      name: art_node_t
      pos:
        line_end: 6787
        line_start: 6787
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: void
    - item_type: typedef
      name: art_val_t
      pos:
        line_end: 6807
        line_start: 6807
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint64_t
    - item_type: typedef
      name: "(*art_validate_cb_t)(const art_val_t val, const char **reason,\n                                  void
        *context)"
      pos:
        line_end: 6865
        line_start: 6864
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: bool
    - item_type: typedef
      name: art_key_chunk_t
      pos:
        line_end: 6780
        line_start: 6780
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint8_t
    - item_type: typedef
      name: art_ref_t
      pos:
        line_end: 6785
        line_start: 6785
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint64_t
    - item_type: typedef
      name: art_node_t
      pos:
        line_end: 6787
        line_start: 6787
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: void
    - item_type: typedef
      name: art_val_t
      pos:
        line_end: 6807
        line_start: 6807
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint64_t
    - item_type: typedef
      name: "(*art_validate_cb_t)(const art_val_t val, const char **reason,\n                                  void
        *context)"
      pos:
        line_end: 6865
        line_start: 6864
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: bool
    - item_type: typedef
      name: art_key_chunk_t
      pos:
        line_end: 6780
        line_start: 6780
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint8_t
    - item_type: typedef
      name: art_ref_t
      pos:
        line_end: 6785
        line_start: 6785
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint64_t
    - item_type: typedef
      name: art_node_t
      pos:
        line_end: 6787
        line_start: 6787
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: void
    - item_type: typedef
      name: art_val_t
      pos:
        line_end: 6807
        line_start: 6807
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint64_t
    - item_type: typedef
      name: "(*art_validate_cb_t)(const art_val_t val, const char **reason,\n                                  void
        *context)"
      pos:
        line_end: 6865
        line_start: 6864
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: bool
    - item_type: typedef
      name: art_key_chunk_t
      pos:
        line_end: 6780
        line_start: 6780
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint8_t
    - item_type: typedef
      name: art_ref_t
      pos:
        line_end: 6785
        line_start: 6785
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint64_t
    - item_type: typedef
      name: art_node_t
      pos:
        line_end: 6787
        line_start: 6787
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: void
    - item_type: typedef
      name: art_val_t
      pos:
        line_end: 6807
        line_start: 6807
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint64_t
    - item_type: typedef
      name: "(*art_validate_cb_t)(const art_val_t val, const char **reason,\n                                  void
        *context)"
      pos:
        line_end: 6865
        line_start: 6864
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: bool
    - item_type: typedef
      name: art_typecode_t
      pos:
        line_end: 9197
        line_start: 9197
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint8_t
    - item_type: typedef
      name: art_typecode_t
      pos:
        line_end: 9197
        line_start: 9197
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint8_t
    - item_type: typedef
      name: art_typecode_t
      pos:
        line_end: 9197
        line_start: 9197
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint8_t
    - item_type: typedef
      name: art_typecode_t
      pos:
        line_end: 9197
        line_start: 9197
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: uint8_t
    - item_type: typedef
      name: roaring_pq_element_t
      pos:
        line_end: 20784
        line_start: 20784
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring_pq_element_s
    - item_type: typedef
      name: roaring_pq_t
      pos:
        line_end: 20791
        line_start: 20791
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring_pq_s
    - item_type: typedef
      name: roaring_pq_element_t
      pos:
        line_end: 20784
        line_start: 20784
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring_pq_element_s
    - item_type: typedef
      name: roaring_pq_t
      pos:
        line_end: 20791
        line_start: 20791
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring_pq_s
    - item_type: typedef
      name: roaring_pq_element_t
      pos:
        line_end: 20784
        line_start: 20784
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring_pq_element_s
    - item_type: typedef
      name: roaring_pq_t
      pos:
        line_end: 20791
        line_start: 20791
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring_pq_s
    - item_type: typedef
      name: roaring_pq_element_t
      pos:
        line_end: 20784
        line_start: 20784
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring_pq_element_s
    - item_type: typedef
      name: roaring_pq_t
      pos:
        line_end: 20791
        line_start: 20791
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring_pq_s
    - item_type: typedef
      name: leaf_t
      pos:
        line_end: 24458
        line_start: 24458
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring64_leaf_t
    - item_type: typedef
      name: leaf_t
      pos:
        line_end: 24458
        line_start: 24458
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring64_leaf_t
    - item_type: typedef
      name: leaf_t
      pos:
        line_end: 24458
        line_start: 24458
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring64_leaf_t
    - item_type: typedef
      name: leaf_t
      pos:
        line_end: 24458
        line_start: 24458
        source_file: /src/ndpi/src/lib/third_party/src/roaring.c
      type: roaring64_leaf_t
    union: []
- function_names:
  - ISDIGIT
  - flag2delim
  - memchr2
  - my_memmem
  - strlenspn
  - strlencspn
  - char_is_white
  - cstrcasecmp
  - streq
  - bsearch_keyword_type
  - is_keyword
  - st_clear
  - st_assign_char
  - st_assign
  - st_copy
  - st_is_arithmetic_op
  - st_is_unary_op
  - parse_white
  - parse_operator1
  - parse_other
  - parse_char
  - parse_eol_comment
  - parse_hash
  - parse_dash
  - is_mysql_comment
  - parse_slash
  - parse_backslash
  - parse_operator2
  - is_backslash_escaped
  - is_double_delim_escaped
  - parse_string_core
  - parse_string
  - parse_estring
  - parse_ustring
  - parse_qstring_core
  - parse_qstring
  - parse_nqstring
  - parse_bstring
  - parse_xstring
  - parse_bword
  - parse_word
  - parse_tick
  - parse_var
  - parse_money
  - parse_number
  - libinjection_version
  - libinjection_sqli_tokenize
  - libinjection_sqli_init
  - libinjection_sqli_reset
  - libinjection_sqli_callback
  - syntax_merge_words
  - libinjection_sqli_fold
  - libinjection_sqli_fingerprint
  - libinjection_sqli_check_fingerprint
  - libinjection_sqli_lookup_word
  - libinjection_sqli_blacklist
  - libinjection_sqli_not_whitelist
  - reparse_as_mysql
  - libinjection_sqli_get_token
  - libinjection_is_sqli
  - libinjection_sqli
  source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBINJECTION_VERSION
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
      type_or_value: '"3.9.2.60-8e70-dirty"'
    - item_type: preproc_def
      name: LIBINJECTION_SQLI_TOKEN_SIZE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
      type_or_value: sizeof(((stoken_t*)(0))->val)
    - item_type: preproc_def
      name: LIBINJECTION_SQLI_MAX_TOKENS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
      type_or_value: '5'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CHAR_NULL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
      type_or_value: '''\0'''
    - item_type: preproc_def
      name: CHAR_SINGLE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
      type_or_value: '''\'''''
    - item_type: preproc_def
      name: CHAR_DOUBLE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
      type_or_value: '''"'''
    - item_type: preproc_def
      name: CHAR_TICK
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
      type_or_value: '''`'''
    - item_type: preproc_def
      name: FOLD_DEBUG
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_sqli.c
      type_or_value: printf("%d \t more=%d  pos=%d left=%d\n", __LINE__, more, (int)pos,
        (int)left);
    structs: []
    typedefs: []
    union: []
- function_names:
  - copy_double_arr
  - swap
  - btree_zero
  - init_node
  - find_node_split_dim
  - partition_node_indices
  - recursive_build
  - btree_init
  - query_depth_first
  - btree_query
  - free_2d_double
  - free_2d_int
  - free_tree
  - free_knn
  - manhattan_dist
  - min_dist
  - dual_swap
  - nheap_init
  - nheap_largest
  - nheap_push
  - simultaneous_sort
  - nheap_sort
  - nheap_get_arrays
  source_file: /src/ndpi/src/lib/third_party/src/ball.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - jenkins_one_at_a_time_hash
  - cache_touch_entry
  - cache_entry_new
  - cache_entry_map_new
  - cache_new
  - cache_add
  - cache_contains
  - cache_remove
  - cache_free
  source_file: /src/ndpi/src/lib/third_party/src/libcache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASH_FUNCTION
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/lib/third_party/src/libcache.c
      type_or_value: jenkins_one_at_a_time_hash
    structs:
    - fields:
      - name: size
        type: uint32_t
      - name: max_size
        type: uint32_t
      - name: head
        type: cache_entry
      - name: tail
        type: cache_entry
      - name: '*map'
        type: cache_entry_map
      item_type: struct
      name: cache
      pos:
        line_end: 58
        line_start: 52
        source_file: /src/ndpi/src/lib/third_party/src/libcache.c
    - fields:
      - name: entry
        type: cache_entry
      - name: next
        type: cache_entry_map
      item_type: struct
      name: cache_entry_map_
      pos:
        line_end: 63
        line_start: 60
        source_file: /src/ndpi/src/lib/third_party/src/libcache.c
    - fields:
      - name: '*item'
        type: void
      - name: item_size
        type: uint32_t
      - name: prev
        type: cache_entry
      - name: next
        type: cache_entry
      item_type: struct
      name: cache_entry_
      pos:
        line_end: 70
        line_start: 65
        source_file: /src/ndpi/src/lib/third_party/src/libcache.c
    typedefs: []
    union: []
- function_names:
  - rol
  - blk0
  - blk0
  - blk
  - R0
  - R1
  - R2
  - R3
  - R4
  - SHA1Transform
  - SHA1Init
  - SHA1Update
  - SHA1Final
  - main
  source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BYTE_ORDER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
      type_or_value: 'LITTLE_ENDIAN '
    - item_type: preproc_def
      name: LITTLE_ENDIAN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
      type_or_value: "1234\t"
    - item_type: preproc_def
      name: BIG_ENDIAN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
      type_or_value: "4321\t"
    - item_type: preproc_def
      name: PDP_ENDIAN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
      type_or_value: "3412\t"
    - item_type: preproc_def
      name: BYTE_ORDER
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
      type_or_value: LITTLE_ENDIAN
    - item_type: preproc_def
      name: BYTE_ORDER
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
      type_or_value: BIG_ENDIAN
    - item_type: preproc_def
      name: BYTE_ORDER
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
      type_or_value: LITTLE_ENDIAN
    - item_type: preproc_def
      name: BYTE_ORDER
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
      type_or_value: BIG_ENDIAN
    - item_type: preproc_def
      name: BUFSIZE
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: c[64]
        type: unsigned char
      - name: l[16]
        type: u_int32_t
      item_type: union
      name: CHAR64LONG16
      pos:
        line_end: 119
        line_start: 116
        source_file: /src/ndpi/src/lib/third_party/src/ndpi_sha1.c
- function_names:
  - is_big_endian
  - byte_reverse
  - F1
  - F2
  - F3
  - F4
  - MD5STEP
  - ndpi_MD5Init
  - MD5Transform
  - ndpi_MD5Update
  - ndpi_MD5Final
  source_file: /src/ndpi/src/lib/third_party/src/ndpi_md5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LEGAL_ALT
  - strptime
  - conv_num
  source_file: /src/ndpi/src/lib/third_party/src/strptime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TM_YEAR_BASE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/src/lib/third_party/src/strptime.c
      type_or_value: '1900'
    - item_type: preproc_def
      name: ALT_E
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/ndpi/src/lib/third_party/src/strptime.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ALT_O
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/ndpi/src/lib/third_party/src/strptime.c
      type_or_value: '0x02'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SQ
  - alloc_resnode
  - free_resnode
  - kd_create
  - kd_free
  - clear_rec
  - kd_clear
  - kd_data_destructor
  - insert_rec
  - kd_insert
  - find_nearest
  - find_nearest_n
  - kd_nearest_i
  - kd_nearest
  - kd_nearest_range
  - kd_res_free
  - kd_res_size
  - kd_res_rewind
  - kd_res_end
  - kd_res_next
  - kd_res_item
  - kd_res_item_data
  - hyperrect_create
  - hyperrect_free
  - hyperrect_duplicate
  - hyperrect_extend
  - hyperrect_dist_sq
  - alloc_resnode
  - free_resnode
  - rlist_insert
  - clear_results
  source_file: /src/ndpi/src/lib/third_party/src/kdtree.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dim
        type: int
      - name: '*min'
        type: double
      item_type: struct
      name: kdhyperrect
      pos:
        line_end: 69
        line_start: 66
        source_file: /src/ndpi/src/lib/third_party/src/kdtree.c
    - fields:
      - name: '*pos'
        type: double
      - name: dir
        type: int
      - name: '*data'
        type: void
      - name: '*left'
        type: struct kdnode
      item_type: struct
      name: kdnode
      pos:
        line_end: 77
        line_start: 71
        source_file: /src/ndpi/src/lib/third_party/src/kdtree.c
    - fields:
      - name: '*item'
        type: struct kdnode
      - name: dist_sq
        type: double
      - name: '*next'
        type: struct res_node
      item_type: struct
      name: res_node
      pos:
        line_end: 83
        line_start: 79
        source_file: /src/ndpi/src/lib/third_party/src/kdtree.c
    - fields:
      - name: dim
        type: int
      - name: '*root'
        type: struct kdnode
      - name: '*rect'
        type: struct kdhyperrect
      - name: (*destr)(void*)
        type: void
      item_type: struct
      name: kdtree
      pos:
        line_end: 90
        line_start: 85
        source_file: /src/ndpi/src/lib/third_party/src/kdtree.c
    - fields:
      - name: '*tree'
        type: struct kdtree
      - name: '*rlist'
        type: struct res_node
      - name: size
        type: int
      item_type: struct
      name: kdres
      pos:
        line_end: 96
        line_start: 92
        source_file: /src/ndpi/src/lib/third_party/src/kdtree.c
    typedefs: []
    union: []
- function_names:
  - html_decode_char_at
  - cstrcasecmp_with_null
  - htmlencode_startswith
  - is_black_tag
  - is_black_attr
  - is_black_url
  - libinjection_is_xss
  - libinjection_xss
  source_file: /src/ndpi/src/lib/third_party/src/libinjection_xss.c
  types:
    enum:
    - enumerators:
      - name: TYPE_NONE
      - name: TYPE_ATTR_URL
      - name: TYPE_STYLE
      - name: TYPE_ATTR_INDIRECT
      - name: TYPE_BLACK
      item_type: enum
      name: attribute
      pos:
        line_end: 14
        line_start: 8
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_xss.c
    preproc_defs: []
    structs:
    - fields:
      - name: '* name'
        type: char
      - name: atype
        type: attribute_t
      item_type: struct
      name: stringtype
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/ndpi/src/lib/third_party/src/libinjection_xss.c
    typedefs: []
    union: []
- function_names:
  - swap
  - swap
  - swap
  - swap
  - swap
  - decode_header
  - check_indices
  - check_indices
  - find_best_encoding
  - shoco_compress
  - shoco_decompress
  source_file: /src/ndpi/src/lib/third_party/src/shoco.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _ALIGNED
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/third_party/src/shoco.c
      type_or_value: __declspec(align(16))
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/third_party/src/shoco.c
      type_or_value: __inline
    - item_type: preproc_def
      name: _ALIGNED
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/third_party/src/shoco.c
      type_or_value: __attribute__ ((aligned(16)))
    structs: []
    typedefs: []
    union:
    - fields:
      - name: word
        type: uint32_t
      - name: bytes[4]
        type: char
      item_type: union
      name: Code
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/ndpi/src/lib/third_party/src/shoco.c
- function_names:
  - getSBoxValue
  - KeyExpansion
  - AES_init_ctx
  - AES_init_ctx_iv
  - AES_ctx_set_iv
  - AddRoundKey
  - SubBytes
  - ShiftRows
  - xtime
  - MixColumns
  - Multiply
  - Multiply
  - getSBoxInvert
  - InvMixColumns
  - InvSubBytes
  - InvShiftRows
  - Cipher
  - InvCipher
  - AES_ECB_encrypt
  - AES_ECB_decrypt
  - XorWithIv
  - AES_CBC_encrypt_buffer
  - AES_CBC_decrypt_buffer
  - AES_CTR_xcrypt_buffer
  source_file: /src/ndpi/src/lib/third_party/src/aes.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: Nb
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/ndpi/src/lib/third_party/src/aes.c
      type_or_value: '4'
    - item_type: preproc_def
      name: Nk
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/ndpi/src/lib/third_party/src/aes.c
      type_or_value: '8'
    - item_type: preproc_def
      name: Nr
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/ndpi/src/lib/third_party/src/aes.c
      type_or_value: '14'
    - item_type: preproc_def
      name: Nk
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/ndpi/src/lib/third_party/src/aes.c
      type_or_value: '6'
    - item_type: preproc_def
      name: Nr
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/ndpi/src/lib/third_party/src/aes.c
      type_or_value: '12'
    - item_type: preproc_def
      name: Nk
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/ndpi/src/lib/third_party/src/aes.c
      type_or_value: 4        // The number of 32 bit words in a key.
    - item_type: preproc_def
      name: Nr
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/ndpi/src/lib/third_party/src/aes.c
      type_or_value: 10       // The number of rounds in AES Cipher.
    - item_type: preproc_def
      name: MULTIPLY_AS_A_FUNCTION
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/ndpi/src/lib/third_party/src/aes.c
      type_or_value: '0'
    structs: []
    typedefs:
    - item_type: typedef
      name: state_t[4][4]
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/ndpi/src/lib/third_party/src/aes.c
      type: uint8_t
    union: []
- function_names:
  - MBEDTLS_INTERNAL_VALIDATE_RET
  - MBEDTLS_INTERNAL_VALIDATE
  - mbedtls_platform_zeroize
  - mbedtls_ct_memcmp
  - gcry_errstr
  - gpg_strerror_r
  - gcry_control
  - gcry_check_version
  - gcry_md_open
  - gcry_md_close
  - gcry_md_reset
  - gcry_md_setkey
  - gcry_md_write
  - gcry_md_get_algo_dlen
  - gcry_md_get_algo
  - gcry_md_read
  - check_valid_algo_mode
  - ROUND_SIZE8
  - gcry_cipher_open
  - gcry_cipher_close
  - gcry_cipher_ctl
  - gcry_cipher_reset
  - gcry_cipher_setkey
  - gcry_cipher_setiv
  - gcry_cipher_authenticate
  - gcry_cipher_checktag
  - gcry_cipher_get_algo_keylen
  - _gcry_cipher_crypt
  - gcry_cipher_encrypt
  - gcry_cipher_decrypt
  source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mbedtls_calloc
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: ndpi_calloc
    - item_type: preproc_def
      name: mbedtls_free
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: ndpi_free
    - item_type: preproc_def
      name: MBEDTLS_ERR_MD_ALLOC_FAILED
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: '0x50f0'
    - item_type: preproc_def
      name: MBEDTLS_ERR_MD_NOT_SUPPORT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: '0x50f1'
    - item_type: preproc_def
      name: MBEDTLS_ERR_MD_REKEY
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: '0x50f2'
    - item_type: preproc_def
      name: MBEDTLS_ERR_MD_DATA_TOO_BIG
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: '0x50f3'
    - item_type: preproc_def
      name: MBEDTLS_ERR_CIPHER_BAD_KEY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: '0x50f4'
    - item_type: preproc_def
      name: MBEDTLS_ERR_GCM_ALLOC_FAILED
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: '0x50f5'
    - item_type: preproc_def
      name: MBEDTLS_ERR_GCM_NOT_SUPPORT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: '0x50f6'
    - item_type: preproc_def
      name: MBEDTLS_ERR_GCM_MISSING_KEY
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: '0x50f7'
    - item_type: preproc_def
      name: MBEDTLS_ERR_AES_MISSING_KEY
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: '0x50f8'
    - item_type: preproc_def
      name: MBEDTLS_ERR_NOT_SUPPORT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt_light.c
      type_or_value: '0x50f9'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sha1_compress
  - ROTL32
  - LOADSCHEDULE
  - SCHEDULE
  - ROUND0a
  - ROUND0b
  - ROUND1
  - ROUND2
  - ROUND3
  - UINT32_C
  - ROUNDTAIL
  source_file: /src/ndpi/src/lib/third_party/src/sha1-fast.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gettimeofday
  source_file: /src/ndpi/src/lib/third_party/src/windows/gettimeofday.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DELTA_EPOCH_IN_MICROSECS
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/ndpi/src/lib/third_party/src/windows/gettimeofday.c
      type_or_value: 11644473600000000Ui64
    - item_type: preproc_def
      name: DELTA_EPOCH_IN_MICROSECS
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/ndpi/src/lib/third_party/src/windows/gettimeofday.c
      type_or_value: 11644473600000000ULL
    structs:
    - fields:
      - name: tz_minuteswest
        type: int
      - name: tz_dsttime
        type: int
      item_type: struct
      name: timezone
      pos:
        line_end: 19
        line_start: 15
        source_file: /src/ndpi/src/lib/third_party/src/windows/gettimeofday.c
    typedefs: []
    union: []
- function_names:
  - exchange_a
  - _getopt_initialize_a
  - _getopt_internal_r_a
  - _getopt_internal_a
  - getopt_a
  - getopt_long_a
  - getopt_long_only_a
  - _getopt_long_r_a
  - _getopt_long_only_r_a
  - exchange_w
  - _getopt_initialize_w
  - _getopt_internal_r_w
  - _getopt_internal_w
  - getopt_w
  - getopt_long_w
  - getopt_long_only_w
  - _getopt_long_r_w
  - _getopt_long_only_r_w
  source_file: /src/ndpi/src/lib/third_party/src/windows/getopt.c
  types:
    enum:
    - enumerators:
      - name: REQUIRE_ORDER
      - name: RETURN_IN_ORDER
      - name: PERMUTE
      item_type: enum
      name: ENUM_ORDERING
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    preproc_defs:
    - item_type: preproc_def
      name: _GETOPT_THROW
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/ndpi/src/lib/third_party/src/windows/getopt.c
      type_or_value: throw()
    structs:
    - fields:
      - name: optind
        type: int
      - name: opterr
        type: int
      - name: optopt
        type: int
      - name: '*optarg'
        type: char
      - name: __initialized
        type: int
      - name: '*__nextchar'
        type: char
      - name: __ordering
        type: enum ENUM_ORDERING
      - name: __posixly_correct
        type: int
      - name: __first_nonopt
        type: int
      - name: __last_nonopt
        type: int
      item_type: struct
      name: _getopt_data_a
      pos:
        line_end: 71
        line_start: 59
        source_file: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    - fields:
      - name: '*p'
        type: struct option_a
      - name: '*next'
        type: struct option_list
      item_type: struct
      name: option_list
      pos:
        line_end: 199
        line_start: 195
        source_file: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    - fields:
      - name: optind
        type: int
      - name: opterr
        type: int
      - name: optopt
        type: int
      - name: '*optarg'
        type: wchar_t
      - name: __initialized
        type: int
      - name: '*__nextchar'
        type: wchar_t
      - name: __ordering
        type: enum ENUM_ORDERING
      - name: __posixly_correct
        type: int
      - name: __first_nonopt
        type: int
      - name: __last_nonopt
        type: int
      item_type: struct
      name: _getopt_data_w
      pos:
        line_end: 531
        line_start: 519
        source_file: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    - fields:
      - name: '*p'
        type: struct option_w
      - name: '*next'
        type: struct option_list
      item_type: struct
      name: option_list
      pos:
        line_end: 659
        line_start: 655
        source_file: /src/ndpi/src/lib/third_party/src/windows/getopt.c
    typedefs: []
    union: []
- function_names:
  - derr
  - derr
  - ddbg
  - ddbg
  - pl7m_malloc
  - pl7m_calloc
  - pl7m_free
  - __is_datalink_supported
  - __is_l3_proto_supported
  - dissect_l2
  - __is_l4_proto_supported
  - dissect_l3
  - dissect_l4
  - is_gtp_u
  - dissect_l4_detunneling
  - dissect_do
  - internal_FuzzerMutate
  - update_do_l7
  - update_do_simplest
  - update_do
  - randomize_ports
  - swap_direction
  - __dup_pkt
  - __free_pkt
  - __add_pkt
  - __del_pkt
  - __swap_pkt
  - __free_m_pkts
  - do_pkt_actions
  - do_payload_actions
  - __serialize_to_fd
  - __serialize
  - __deserialize_from_fd
  - __deserialize
  - __mutate
  - pl7m_mutator
  - pl7m_mutator_fd
  source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPPROTO_IPV4
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
      type_or_value: '4'
    - item_type: preproc_def
      name: IPPROTO_OSPF
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
      type_or_value: '89'
    - item_type: preproc_def
      name: IPPROTO_VRRP
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
      type_or_value: '112'
    - item_type: preproc_def
      name: IPPROTO_PGM
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
      type_or_value: '113'
    - item_type: preproc_def
      name: MAX_PKT_LENGTH
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
      type_or_value: "(26 + 20 + 1024 * 64)\t"
    - item_type: preproc_def
      name: MAX_PKT_LENGTH
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
      type_or_value: "(26 + 1500)\t\t"
    - item_type: preproc_def
      name: GTP_MSG_TPDU
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
      type_or_value: '0xFF'
    structs:
    - fields:
      - name: protocol
        type: __u16
      item_type: struct
      name: gre_header
      pos:
        line_end: 162
        line_start: 137
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    - fields:
      - name: total_length
        type: u_int16_t
      - name: teid
        type: u_int32_t
      item_type: struct
      name: gtp_header
      pos:
        line_end: 188
        line_start: 166
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    - fields:
      - name: sn
        type: u_int16_t
      - name: n_pdu_nbr
        type: u_int8_t
      - name: next_hdr
        type: u_int8_t
      item_type: struct
      name: gtp_header_optional
      pos:
        line_end: 194
        line_start: 190
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    - fields:
      - name: '*raw_data'
        type: unsigned char
      - name: header
        type: struct pcap_pkthdr
      - name: l2_offset
        type: int
      - name: prev_l3_offset
        type: int
      - name: prev_l3_proto
        type: u_int16_t
      - name: gtp_offset
        type: int
      - name: l3_offset
        type: int
      - name: l3_proto
        type: u_int16_t
      - name: l4_offset
        type: int
      - name: l4_proto
        type: u_int8_t
      - name: l4_length
        type: int
      - name: l5_offset
        type: int
      - name: l5_length
        type: int
      - name: is_l3_fragment
        type: int
      - name: skip_l4_dissection
        type: int
      - name: skip_payload_actions
        type: int
      - name: '*next'
        type: struct m_pkt
      item_type: struct
      name: m_pkt
      pos:
        line_end: 218
        line_start: 197
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    - fields:
      - name: datalink
        type: int
      - name: '*head'
        type: struct m_pkt
      - name: '*tail'
        type: struct m_pkt
      item_type: struct
      name: pl7m_handle
      pos:
        line_end: 224
        line_start: 219
        source_file: /src/ndpi/src/lib/third_party/src/fuzz/pl7m.c
    typedefs: []
    union: []
- function_names:
  - _hll_rank
  - hll_init
  - hll_destroy
  - hll_reset
  - _hll_add_hash
  - hll_add
  - hll_count
  source_file: /src/ndpi/src/lib/third_party/src/hll/hll.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ROTL32
  - MurmurHash
  source_file: /src/ndpi/src/lib/third_party/src/hll/MurmurHash3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mbedtls_aesni_has_support
  - mbedtls_aesni_crypt_ecb
  - mbedtls_aesni_gcm_mult
  - mbedtls_aesni_inverse_key
  - aesni_setkey_enc_128
  - aesni_setkey_enc_192
  - aesni_setkey_enc_256
  - mbedtls_aesni_setkey_enc
  source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: asm
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: __asm
    - item_type: preproc_def
      name: AESDEC
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '".byte 0x66,0x0F,0x38,0xDE,"'
    - item_type: preproc_def
      name: AESDECLAST
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '".byte 0x66,0x0F,0x38,0xDF,"'
    - item_type: preproc_def
      name: AESENC
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '".byte 0x66,0x0F,0x38,0xDC,"'
    - item_type: preproc_def
      name: AESENCLAST
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '".byte 0x66,0x0F,0x38,0xDD,"'
    - item_type: preproc_def
      name: AESIMC
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '".byte 0x66,0x0F,0x38,0xDB,"'
    - item_type: preproc_def
      name: AESKEYGENA
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '".byte 0x66,0x0F,0x3A,0xDF,"'
    - item_type: preproc_def
      name: PCLMULQDQ
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '".byte 0x66,0x0F,0x3A,0x44,"'
    - item_type: preproc_def
      name: xmm0_xmm0
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '"0xC0"'
    - item_type: preproc_def
      name: xmm0_xmm1
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '"0xC8"'
    - item_type: preproc_def
      name: xmm0_xmm2
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '"0xD0"'
    - item_type: preproc_def
      name: xmm0_xmm3
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '"0xD8"'
    - item_type: preproc_def
      name: xmm0_xmm4
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '"0xE0"'
    - item_type: preproc_def
      name: xmm1_xmm0
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '"0xC1"'
    - item_type: preproc_def
      name: xmm1_xmm2
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aesni.c
      type_or_value: '"0xD1"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - aes_crypt_ecb_wrap
  - aes_setkey_dec_wrap
  - aes_setkey_enc_wrap
  - aes_ctx_zero
  - gcm_aes_setkey_wrap
  - null_crypt_stream
  - null_setkey
  - null_ctx_alloc
  - null_ctx_free
  source_file: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_CIPHERS
      pos:
        line_end: 232
        line_start: 230
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/cipher_wrap.c
      type_or_value: "( sizeof(mbedtls_cipher_definitions) /      \\\n                      sizeof(mbedtls_cipher_definitions[0])
        )"
    structs: []
    typedefs: []
    union: []
- function_names:
  - GCM_VALIDATE_RET
  - GCM_VALIDATE
  - xorbytes
  - xorbytes3d
  - xorbytes3e
  - mbedtls_gcm_init
  - gcm_gen_table
  - mbedtls_gcm_setkey
  - gcm_mult
  - mbedtls_gcm_starts
  - mbedtls_gcm_update_ad
  - gcm_incr
  - gcm_mask
  - mbedtls_gcm_update
  - mbedtls_gcm_finish
  - mbedtls_gcm_crypt_and_tag
  - mbedtls_gcm_auth_decrypt
  - mbedtls_gcm_free
  source_file: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LBLOCKSIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: LBLOCKSIZE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/gcm.c
      type_or_value: '__SIZEOF_LONG__ '
    structs: []
    typedefs: []
    union: []
- function_names:
  - CIPHER_VALIDATE_RET
  - CIPHER_VALIDATE
  - mbedtls_cipher_list
  - mbedtls_cipher_info_from_type
  - mbedtls_cipher_info_from_string
  - mbedtls_cipher_info_from_values
  - mbedtls_cipher_init
  - mbedtls_cipher_setkey
  - mbedtls_cipher_set_iv
  - mbedtls_cipher_reset
  - mbedtls_cipher_update_ad
  - mbedtls_cipher_update
  - mbedtls_cipher_finish
  - mbedtls_cipher_write_tag
  - mbedtls_cipher_check_tag
  - mbedtls_cipher_crypt
  source_file: /src/ndpi/src/lib/third_party/src/gcrypt/cipher.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - U8V
  - U16V
  - U32V
  - U64V
  - ROTL32
  - ROTL64
  - ROTR32
  - ROTR64
  - ROTL8
  - ROTL16
  - ROTR8
  - ROTR16
  - S0
  - S1
  - s0
  - s1
  - blk0
  - blk2
  - Ch
  - Maj
  - a
  - b
  - c
  - d
  - e
  - f
  - g
  - h
  - R
  - RX_8
  - R
  - RX_8
  - sha256_init
  - sha256_transform
  - sha256_write_byte_block
  - sha256_update
  - sha256_final
  - hmac_sha256
  source_file: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: B
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
      type_or_value: '64'
    - item_type: preproc_def
      name: L
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
      type_or_value: (SHA256_DIGEST_SIZE)
    - item_type: preproc_def
      name: K
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
      type_or_value: (SHA256_DIGEST_SIZE * 2)
    - item_type: preproc_def
      name: I_PAD
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
      type_or_value: '0x36'
    - item_type: preproc_def
      name: O_PAD
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/digest.c
      type_or_value: '0x5C'
    structs: []
    typedefs: []
    union: []
- function_names:
  - AES_VALIDATE_RET
  - AES_VALIDATE
  - XTIME
  - MUL
  - aes_gen_tables
  - AES_RT0
  - AES_RT1
  - AES_RT2
  - AES_RT3
  - AES_FT0
  - AES_FT1
  - AES_FT2
  - AES_FT3
  - mbedtls_aes_init
  - mbedtls_aes_free
  - mbedtls_aes_setkey_enc
  - mbedtls_aes_setkey_dec
  - AES_FROUND
  - AES_RROUND
  - mbedtls_internal_aes_encrypt
  - AES_XROUND
  - mbedtls_internal_aes_decrypt
  - AES_XROUNDD
  - mbedtls_aes_crypt_ecb
  source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: X[4]
        type: uint32_t
      - name: Y[4]
        type: uint32_t
      item_type: struct
      name: t
      pos:
        line_end: 406
        line_start: 402
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    - fields:
      - name: X[4]
        type: uint32_t
      - name: Y[4]
        type: uint32_t
      item_type: struct
      name: t
      pos:
        line_end: 454
        line_start: 450
        source_file: /src/ndpi/src/lib/third_party/src/gcrypt/aes.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/libinjection_xss.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _blsr_u64
  - roaring_trailing_zeroes
  - roaring_leading_zeroes
  - roaring_trailing_zeroes
  - roaring_leading_zeroes
  - ALIGNED
  - ALIGNED
  - roaring_hamming_backup
  - roaring_hamming
  - UINT64_C
  - UINT32_C
  - STRINGIFY_IMPLEMENTATION_
  - STRINGIFY
  - CROARING_TARGET_REGION
  - CROARING_TARGET_REGION
  - croaring_htobe64
  - croaring_htobe64
  - croaring_htobe64
  - croaring_htobe64
  - croaring_htobe64
  - croaring_htobe64
  - croaring_be64toh
  - croaring_refcount_inc
  - croaring_refcount_dec
  - croaring_refcount_get
  - croaring_refcount_inc
  - croaring_refcount_dec
  - croaring_refcount_get
  - croaring_refcount_inc
  - croaring_refcount_dec
  - croaring_refcount_get
  - croaring_refcount_inc
  - croaring_refcount_dec
  - croaring_refcount_get
  - CROARING_STATIC_ASSERT
  - CROARING_STATIC_ASSERT
  - roaring::api::bitset_size_in_bytes
  - roaring::api::bitset_size_in_bits
  - roaring::api::bitset_size_in_words
  - roaring::api::bitset_set
  - roaring::api::bitset_set_to_value
  - roaring::api::bitset_get
  - roaring::api::bitset_next_set_bit
  - roaring::api::bitset_next_set_bits
  - roaring::api::bitset_for_each
  - roaring::api::bitset_print
  - roaring::api::bitset_size_in_bytes
  - roaring::api::bitset_size_in_bits
  - roaring::api::bitset_size_in_words
  - roaring::api::bitset_set
  - roaring::api::bitset_set_to_value
  - roaring::api::bitset_get
  - roaring::api::bitset_next_set_bit
  - roaring::api::bitset_next_set_bits
  - roaring::api::bitset_for_each
  - roaring::api::bitset_print
  - roaring::api::bitset_size_in_bytes
  - roaring::api::bitset_size_in_bits
  - roaring::api::bitset_size_in_words
  - roaring::api::bitset_set
  - roaring::api::bitset_set_to_value
  - roaring::api::bitset_get
  - roaring::api::bitset_next_set_bit
  - roaring::api::bitset_next_set_bits
  - roaring::api::bitset_for_each
  - roaring::api::bitset_print
  - roaring::api::bitset_size_in_bytes
  - roaring::api::bitset_size_in_bits
  - roaring::api::bitset_size_in_words
  - roaring::api::bitset_set
  - roaring::api::bitset_set_to_value
  - roaring::api::bitset_get
  - roaring::api::bitset_next_set_bit
  - roaring::api::bitset_next_set_bits
  - roaring::api::bitset_for_each
  - roaring::api::bitset_print
  - roaring::api::roaring_bitmap_create
  - roaring::api::roaring_bitmap_init_cleared
  - roaring::api::roaring_bitmap_get_copy_on_write
  - roaring::api::roaring_bitmap_set_copy_on_write
  - roaring_bitmap_from
  - roaring_bitmap_from
  - roaring::api::roaring_bitmap_add_range
  - roaring::api::roaring_bitmap_remove_range
  - roaring::api::roaring_init_iterator
  - roaring::api::roaring_init_iterator_last
  - 'roaring_uint32_iterator_t *

    roaring_create_iterator(const roaring_bitmap_t *r)'
  - roaring::api::roaring_advance_uint32_iterator
  - roaring::api::roaring_previous_uint32_iterator
  - roaring::api::roaring_move_uint32_iterator_equalorlarger
  - 'roaring_uint32_iterator_t *

    roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
  - roaring::api::roaring_free_uint32_iterator
  - roaring::api::roaring_read_uint32_iterator
  - roaring::api::roaring_bitmap_create
  - roaring::api::roaring_bitmap_init_cleared
  - roaring::api::roaring_bitmap_get_copy_on_write
  - roaring::api::roaring_bitmap_set_copy_on_write
  - roaring_bitmap_from
  - roaring_bitmap_from
  - roaring::api::roaring_bitmap_add_range
  - roaring::api::roaring_bitmap_remove_range
  - roaring::api::roaring_init_iterator
  - roaring::api::roaring_init_iterator_last
  - 'roaring_uint32_iterator_t *

    roaring_create_iterator(const roaring_bitmap_t *r)'
  - roaring::api::roaring_advance_uint32_iterator
  - roaring::api::roaring_previous_uint32_iterator
  - roaring::api::roaring_move_uint32_iterator_equalorlarger
  - 'roaring_uint32_iterator_t *

    roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
  - roaring::api::roaring_free_uint32_iterator
  - roaring::api::roaring_read_uint32_iterator
  - roaring::api::roaring_bitmap_create
  - roaring::api::roaring_bitmap_init_cleared
  - roaring::api::roaring_bitmap_get_copy_on_write
  - roaring::api::roaring_bitmap_set_copy_on_write
  - roaring_bitmap_from
  - roaring_bitmap_from
  - roaring::api::roaring_bitmap_add_range
  - roaring::api::roaring_bitmap_remove_range
  - roaring::api::roaring_init_iterator
  - roaring::api::roaring_init_iterator_last
  - 'roaring_uint32_iterator_t *

    roaring_create_iterator(const roaring_bitmap_t *r)'
  - roaring::api::roaring_advance_uint32_iterator
  - roaring::api::roaring_previous_uint32_iterator
  - roaring::api::roaring_move_uint32_iterator_equalorlarger
  - 'roaring_uint32_iterator_t *

    roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
  - roaring::api::roaring_free_uint32_iterator
  - roaring::api::roaring_read_uint32_iterator
  - roaring::api::roaring_bitmap_create
  - roaring::api::roaring_bitmap_init_cleared
  - roaring::api::roaring_bitmap_get_copy_on_write
  - roaring::api::roaring_bitmap_set_copy_on_write
  - roaring_bitmap_from
  - roaring_bitmap_from
  - roaring::api::roaring_bitmap_add_range
  - roaring::api::roaring_bitmap_remove_range
  - roaring::api::roaring_init_iterator
  - roaring::api::roaring_init_iterator_last
  - 'roaring_uint32_iterator_t *

    roaring_create_iterator(const roaring_bitmap_t *r)'
  - roaring::api::roaring_advance_uint32_iterator
  - roaring::api::roaring_previous_uint32_iterator
  - roaring::api::roaring_move_uint32_iterator_equalorlarger
  - 'roaring_uint32_iterator_t *

    roaring_copy_uint32_iterator(const roaring_uint32_iterator_t *it)'
  - roaring::api::roaring_free_uint32_iterator
  - roaring::api::roaring_read_uint32_iterator
  - roaring64_bitmap_from
  - roaring64_bitmap_from
  - roaring64_bitmap_from
  - roaring64_bitmap_from
  - roaring64_bitmap_from
  - roaring64_bitmap_from
  - roaring64_bitmap_from
  - roaring64_bitmap_from
  source_file: /src/ndpi/src/lib/third_party/include/roaring.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ROARING_VERSION
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '"4.3.6"'
    - item_type: preproc_def
      name: __STDC_FORMAT_MACROS
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_VISUAL_STUDIO
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_CLANG_VISUAL_STUDIO
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_REGULAR_VISUAL_STUDIO
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_VISUAL_STUDIO
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CROARING_CLANG_VISUAL_STUDIO
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CROARING_REGULAR_VISUAL_STUDIO
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '0'
    - item_type: preproc_def
      name: __restrict__
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: __restrict
    - item_type: preproc_def
      name: CROARING_IS_X64
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_INLINE_ASM
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_INTRINSICS
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '1'
    - item_type: preproc_def
      name: roaring_unreachable
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: __assume(0)
    - item_type: preproc_def
      name: CROARING_INTRINSICS
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '1'
    - item_type: preproc_def
      name: roaring_unreachable
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: __builtin_unreachable()
    - item_type: preproc_def
      name: CROARING_WARN_UNUSED
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: IS_BIG_ENDIAN
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: (*(uint16_t *)"\0\xff" < 0x100)
    - item_type: preproc_def
      name: CROARING_UNTARGET_REGION
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: _Pragma("clang attribute pop")
    - item_type: preproc_def
      name: CROARING_UNTARGET_REGION
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: _Pragma("GCC pop_options")
    - item_type: preproc_def
      name: CROARING_TARGET_AVX2
      pos:
        line_end: 423
        line_start: 421
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: CROARING_TARGET_REGION("avx2,bmi,pclmul,lzcnt,popcnt")
    - item_type: preproc_def
      name: CROARING_TARGET_AVX512
      pos:
        line_end: 427
        line_start: 423
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: "CROARING_TARGET_REGION(                                            \\\n
        \       \"avx2,bmi,bmi2,pclmul,lzcnt,popcnt,avx512f,avx512dq,avx512bw,\" \\\n
        \       \"avx512vbmi2,avx512bitalg,avx512vpopcntdq\")"
    - item_type: preproc_def
      name: CROARING_UNTARGET_AVX2
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: CROARING_UNTARGET_REGION
    - item_type: preproc_def
      name: CROARING_UNTARGET_AVX512
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: CROARING_UNTARGET_REGION
    - item_type: preproc_def
      name: ALLOW_UNALIGNED
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: __attribute__((no_sanitize("alignment")))
    - item_type: preproc_def
      name: CROARING_IS_BIG_ENDIAN
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
    - item_type: preproc_def
      name: CROARING_IS_BIG_ENDIAN
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CROARING_IS_BIG_ENDIAN
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CROARING_IS_BIG_ENDIAN
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CROARING_IS_BIG_ENDIAN
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_ATOMIC_IMPL_NONE
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CROARING_ATOMIC_IMPL_CPP
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CROARING_ATOMIC_IMPL_C
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '3'
    - item_type: preproc_def
      name: CROARING_ATOMIC_IMPL_C_WINDOWS
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CROARING_ATOMIC_IMPL
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: CROARING_ATOMIC_IMPL_CPP
    - item_type: preproc_def
      name: CROARING_ATOMIC_IMPL
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: CROARING_ATOMIC_IMPL_CPP
    - item_type: preproc_def
      name: CROARING_ATOMIC_IMPL
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: CROARING_ATOMIC_IMPL_C
    - item_type: preproc_def
      name: CROARING_ATOMIC_IMPL
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: CROARING_ATOMIC_IMPL_C_WINDOWS
    - item_type: preproc_def
      name: CROARING_DEPRECATED
      pos:
        line_end: 651
        line_start: 650
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: __attribute__((deprecated))
    - item_type: preproc_def
      name: CROARING_DEPRECATED
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: __declspec(deprecated)
    - item_type: preproc_def
      name: CROARING_ZERO_INITIALIZER
      pos:
        line_end: 662
        line_start: 660
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '{}'
    - item_type: preproc_def
      name: CROARING_ZERO_INITIALIZER
      pos:
        line_end: 665
        line_start: 663
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: '{ 0 }'
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: ::roaring::api::container_s
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: void  // no compile-time checking
    - item_type: preproc_def
      name: ROARING_FLAG_COW
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: UINT8_C(0x1)
    - item_type: preproc_def
      name: ROARING_FLAG_FROZEN
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: UINT8_C(0x2)
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: ::roaring::api::container_s
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: void  // no compile-time checking
    - item_type: preproc_def
      name: ROARING_FLAG_COW
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: UINT8_C(0x1)
    - item_type: preproc_def
      name: ROARING_FLAG_FROZEN
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: UINT8_C(0x2)
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: ::roaring::api::container_s
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: void  // no compile-time checking
    - item_type: preproc_def
      name: ROARING_FLAG_COW
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: UINT8_C(0x1)
    - item_type: preproc_def
      name: ROARING_FLAG_FROZEN
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: UINT8_C(0x2)
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: ::roaring::api::container_s
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: void  // no compile-time checking
    - item_type: preproc_def
      name: ROARING_FLAG_COW
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: UINT8_C(0x1)
    - item_type: preproc_def
      name: ROARING_FLAG_FROZEN
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: UINT8_C(0x2)
    - item_type: preproc_def
      name: CROARING_CBITSET_RESTRICT
      pos:
        line_end: 844
        line_start: 843
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type_or_value: restrict
    structs:
    - fields: []
      item_type: struct
      name: container_s
      pos:
        line_end: 714
        line_start: 714
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: size
        type: int32_t
      - name: allocation_size
        type: int32_t
      - name: '**containers'
        type: ROARING_CONTAINER_T
      - name: '*keys'
        type: uint16_t
      - name: '*typecodes'
        type: uint8_t
      - name: flags
        type: uint8_t
      item_type: struct
      name: roaring_array_s
      pos:
        line_end: 741
        line_start: 734
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: n_containers
        type: uint32_t
      - name: n_array_containers
        type: uint32_t
      - name: n_run_containers
        type: uint32_t
      - name: n_bitset_containers
        type: uint32_t
      - name: n_values_array_containers
        type: uint32_t
      - name: n_values_run_containers
        type: uint32_t
      - name: n_values_bitset_containers
        type: uint32_t
      - name: n_bytes_array_containers
        type: uint32_t
      - name: n_bytes_run_containers
        type: uint32_t
      - name: n_bytes_bitset_containers
        type: uint32_t
      - name: max_value
        type: uint32_t
      - name: min_value
        type: uint32_t
      - name: sum_value
        type: CROARING_DEPRECATED
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring_statistics_s
      pos:
        line_end: 782
        line_start: 751
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: n_containers
        type: uint64_t
      - name: n_array_containers
        type: uint64_t
      - name: n_run_containers
        type: uint64_t
      - name: n_bitset_containers
        type: uint64_t
      - name: n_values_array_containers
        type: uint64_t
      - name: n_values_run_containers
        type: uint64_t
      - name: n_values_bitset_containers
        type: uint64_t
      - name: n_bytes_array_containers
        type: uint64_t
      - name: n_bytes_run_containers
        type: uint64_t
      - name: n_bytes_bitset_containers
        type: uint64_t
      - name: max_value
        type: uint64_t
      - name: min_value
        type: uint64_t
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring64_statistics_s
      pos:
        line_end: 817
        line_start: 789
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: index
        type: int32_t
      item_type: struct
      name: roaring_container_iterator_s
      pos:
        line_end: 826
        line_start: 822
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields: []
      item_type: struct
      name: container_s
      pos:
        line_end: 714
        line_start: 714
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: size
        type: int32_t
      - name: allocation_size
        type: int32_t
      - name: '**containers'
        type: ROARING_CONTAINER_T
      - name: '*keys'
        type: uint16_t
      - name: '*typecodes'
        type: uint8_t
      - name: flags
        type: uint8_t
      item_type: struct
      name: roaring_array_s
      pos:
        line_end: 741
        line_start: 734
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: n_containers
        type: uint32_t
      - name: n_array_containers
        type: uint32_t
      - name: n_run_containers
        type: uint32_t
      - name: n_bitset_containers
        type: uint32_t
      - name: n_values_array_containers
        type: uint32_t
      - name: n_values_run_containers
        type: uint32_t
      - name: n_values_bitset_containers
        type: uint32_t
      - name: n_bytes_array_containers
        type: uint32_t
      - name: n_bytes_run_containers
        type: uint32_t
      - name: n_bytes_bitset_containers
        type: uint32_t
      - name: max_value
        type: uint32_t
      - name: min_value
        type: uint32_t
      - name: sum_value
        type: CROARING_DEPRECATED
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring_statistics_s
      pos:
        line_end: 782
        line_start: 751
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: n_containers
        type: uint64_t
      - name: n_array_containers
        type: uint64_t
      - name: n_run_containers
        type: uint64_t
      - name: n_bitset_containers
        type: uint64_t
      - name: n_values_array_containers
        type: uint64_t
      - name: n_values_run_containers
        type: uint64_t
      - name: n_values_bitset_containers
        type: uint64_t
      - name: n_bytes_array_containers
        type: uint64_t
      - name: n_bytes_run_containers
        type: uint64_t
      - name: n_bytes_bitset_containers
        type: uint64_t
      - name: max_value
        type: uint64_t
      - name: min_value
        type: uint64_t
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring64_statistics_s
      pos:
        line_end: 817
        line_start: 789
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: index
        type: int32_t
      item_type: struct
      name: roaring_container_iterator_s
      pos:
        line_end: 826
        line_start: 822
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields: []
      item_type: struct
      name: container_s
      pos:
        line_end: 714
        line_start: 714
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: size
        type: int32_t
      - name: allocation_size
        type: int32_t
      - name: '**containers'
        type: ROARING_CONTAINER_T
      - name: '*keys'
        type: uint16_t
      - name: '*typecodes'
        type: uint8_t
      - name: flags
        type: uint8_t
      item_type: struct
      name: roaring_array_s
      pos:
        line_end: 741
        line_start: 734
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: n_containers
        type: uint32_t
      - name: n_array_containers
        type: uint32_t
      - name: n_run_containers
        type: uint32_t
      - name: n_bitset_containers
        type: uint32_t
      - name: n_values_array_containers
        type: uint32_t
      - name: n_values_run_containers
        type: uint32_t
      - name: n_values_bitset_containers
        type: uint32_t
      - name: n_bytes_array_containers
        type: uint32_t
      - name: n_bytes_run_containers
        type: uint32_t
      - name: n_bytes_bitset_containers
        type: uint32_t
      - name: max_value
        type: uint32_t
      - name: min_value
        type: uint32_t
      - name: sum_value
        type: CROARING_DEPRECATED
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring_statistics_s
      pos:
        line_end: 782
        line_start: 751
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: n_containers
        type: uint64_t
      - name: n_array_containers
        type: uint64_t
      - name: n_run_containers
        type: uint64_t
      - name: n_bitset_containers
        type: uint64_t
      - name: n_values_array_containers
        type: uint64_t
      - name: n_values_run_containers
        type: uint64_t
      - name: n_values_bitset_containers
        type: uint64_t
      - name: n_bytes_array_containers
        type: uint64_t
      - name: n_bytes_run_containers
        type: uint64_t
      - name: n_bytes_bitset_containers
        type: uint64_t
      - name: max_value
        type: uint64_t
      - name: min_value
        type: uint64_t
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring64_statistics_s
      pos:
        line_end: 817
        line_start: 789
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: index
        type: int32_t
      item_type: struct
      name: roaring_container_iterator_s
      pos:
        line_end: 826
        line_start: 822
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields: []
      item_type: struct
      name: container_s
      pos:
        line_end: 714
        line_start: 714
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: size
        type: int32_t
      - name: allocation_size
        type: int32_t
      - name: '**containers'
        type: ROARING_CONTAINER_T
      - name: '*keys'
        type: uint16_t
      - name: '*typecodes'
        type: uint8_t
      - name: flags
        type: uint8_t
      item_type: struct
      name: roaring_array_s
      pos:
        line_end: 741
        line_start: 734
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: n_containers
        type: uint32_t
      - name: n_array_containers
        type: uint32_t
      - name: n_run_containers
        type: uint32_t
      - name: n_bitset_containers
        type: uint32_t
      - name: n_values_array_containers
        type: uint32_t
      - name: n_values_run_containers
        type: uint32_t
      - name: n_values_bitset_containers
        type: uint32_t
      - name: n_bytes_array_containers
        type: uint32_t
      - name: n_bytes_run_containers
        type: uint32_t
      - name: n_bytes_bitset_containers
        type: uint32_t
      - name: max_value
        type: uint32_t
      - name: min_value
        type: uint32_t
      - name: sum_value
        type: CROARING_DEPRECATED
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring_statistics_s
      pos:
        line_end: 782
        line_start: 751
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: n_containers
        type: uint64_t
      - name: n_array_containers
        type: uint64_t
      - name: n_run_containers
        type: uint64_t
      - name: n_bitset_containers
        type: uint64_t
      - name: n_values_array_containers
        type: uint64_t
      - name: n_values_run_containers
        type: uint64_t
      - name: n_values_bitset_containers
        type: uint64_t
      - name: n_bytes_array_containers
        type: uint64_t
      - name: n_bytes_run_containers
        type: uint64_t
      - name: n_bytes_bitset_containers
        type: uint64_t
      - name: max_value
        type: uint64_t
      - name: min_value
        type: uint64_t
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring64_statistics_s
      pos:
        line_end: 817
        line_start: 789
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: index
        type: int32_t
      item_type: struct
      name: roaring_container_iterator_s
      pos:
        line_end: 826
        line_start: 822
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*CROARING_CBITSET_RESTRICT'
        type: uint64_t
      - name: arraysize
        type: size_t
      - name: capacity
        type: size_t
      item_type: struct
      name: bitset_s
      pos:
        line_end: 869
        line_start: 862
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*CROARING_CBITSET_RESTRICT'
        type: uint64_t
      - name: arraysize
        type: size_t
      - name: capacity
        type: size_t
      item_type: struct
      name: bitset_s
      pos:
        line_end: 869
        line_start: 862
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*CROARING_CBITSET_RESTRICT'
        type: uint64_t
      - name: arraysize
        type: size_t
      - name: capacity
        type: size_t
      item_type: struct
      name: bitset_s
      pos:
        line_end: 869
        line_start: 862
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*CROARING_CBITSET_RESTRICT'
        type: uint64_t
      - name: arraysize
        type: size_t
      - name: capacity
        type: size_t
      item_type: struct
      name: bitset_s
      pos:
        line_end: 869
        line_start: 862
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: high_low_container
        type: roaring_array_t
      item_type: struct
      name: roaring_bitmap_s
      pos:
        line_end: 1158
        line_start: 1156
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: idx
        type: int
      - name: key
        type: uint16_t
      - name: typecode
        type: uint8_t
      item_type: struct
      name: roaring_bulk_context_s
      pos:
        line_end: 1482
        line_start: 1477
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*parent'
        type: roaring_bitmap_t
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: typecode
        type: uint8_t
      - name: container_index
        type: int32_t
      - name: highbits
        type: uint32_t
      - name: container_it
        type: roaring_container_iterator_t
      - name: current_value
        type: uint32_t
      - name: has_value
        type: bool
      item_type: struct
      name: roaring_uint32_iterator_s
      pos:
        line_end: 2186
        line_start: 2176
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: high_low_container
        type: roaring_array_t
      item_type: struct
      name: roaring_bitmap_s
      pos:
        line_end: 1158
        line_start: 1156
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: idx
        type: int
      - name: key
        type: uint16_t
      - name: typecode
        type: uint8_t
      item_type: struct
      name: roaring_bulk_context_s
      pos:
        line_end: 1482
        line_start: 1477
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*parent'
        type: roaring_bitmap_t
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: typecode
        type: uint8_t
      - name: container_index
        type: int32_t
      - name: highbits
        type: uint32_t
      - name: container_it
        type: roaring_container_iterator_t
      - name: current_value
        type: uint32_t
      - name: has_value
        type: bool
      item_type: struct
      name: roaring_uint32_iterator_s
      pos:
        line_end: 2186
        line_start: 2176
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: high_low_container
        type: roaring_array_t
      item_type: struct
      name: roaring_bitmap_s
      pos:
        line_end: 1158
        line_start: 1156
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: idx
        type: int
      - name: key
        type: uint16_t
      - name: typecode
        type: uint8_t
      item_type: struct
      name: roaring_bulk_context_s
      pos:
        line_end: 1482
        line_start: 1477
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*parent'
        type: roaring_bitmap_t
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: typecode
        type: uint8_t
      - name: container_index
        type: int32_t
      - name: highbits
        type: uint32_t
      - name: container_it
        type: roaring_container_iterator_t
      - name: current_value
        type: uint32_t
      - name: has_value
        type: bool
      item_type: struct
      name: roaring_uint32_iterator_s
      pos:
        line_end: 2186
        line_start: 2176
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: high_low_container
        type: roaring_array_t
      item_type: struct
      name: roaring_bitmap_s
      pos:
        line_end: 1158
        line_start: 1156
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: idx
        type: int
      - name: key
        type: uint16_t
      - name: typecode
        type: uint8_t
      item_type: struct
      name: roaring_bulk_context_s
      pos:
        line_end: 1482
        line_start: 1477
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: '*parent'
        type: roaring_bitmap_t
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: typecode
        type: uint8_t
      - name: container_index
        type: int32_t
      - name: highbits
        type: uint32_t
      - name: container_it
        type: roaring_container_iterator_t
      - name: current_value
        type: uint32_t
      - name: has_value
        type: bool
      item_type: struct
      name: roaring_uint32_iterator_s
      pos:
        line_end: 2186
        line_start: 2176
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: malloc
        type: roaring_malloc_p
      - name: realloc
        type: roaring_realloc_p
      - name: calloc
        type: roaring_calloc_p
      - name: free
        type: roaring_free_p
      - name: aligned_malloc
        type: roaring_aligned_malloc_p
      - name: aligned_free
        type: roaring_aligned_free_p
      item_type: struct
      name: roaring_memory_s
      pos:
        line_end: 2378
        line_start: 2371
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: high_bytes[6]
        type: uint8_t
      - name: '*leaf'
        type: roaring64_leaf_t
      item_type: struct
      name: roaring64_bulk_context_s
      pos:
        line_end: 2428
        line_start: 2425
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: high_bytes[6]
        type: uint8_t
      - name: '*leaf'
        type: roaring64_leaf_t
      item_type: struct
      name: roaring64_bulk_context_s
      pos:
        line_end: 2428
        line_start: 2425
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: high_bytes[6]
        type: uint8_t
      - name: '*leaf'
        type: roaring64_leaf_t
      item_type: struct
      name: roaring64_bulk_context_s
      pos:
        line_end: 2428
        line_start: 2425
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    - fields:
      - name: high_bytes[6]
        type: uint8_t
      - name: '*leaf'
        type: roaring64_leaf_t
      item_type: struct
      name: roaring64_bulk_context_s
      pos:
        line_end: 2428
        line_start: 2425
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
    typedefs:
    - item_type: typedef
      name: croaring_refcount_t
      pos:
        line_end: 585
        line_start: 585
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: atomic<uint32_t>
    - item_type: typedef
      name: croaring_refcount_t
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: long
    - item_type: typedef
      name: croaring_refcount_t
      pos:
        line_end: 630
        line_start: 630
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: uint32_t
    - item_type: typedef
      name: (*roaring_iterator)(uint32_t value, void *param)
      pos:
        line_end: 743
        line_start: 743
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator64)(uint64_t value, void *param)
      pos:
        line_end: 744
        line_start: 744
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator)(uint32_t value, void *param)
      pos:
        line_end: 743
        line_start: 743
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator64)(uint64_t value, void *param)
      pos:
        line_end: 744
        line_start: 744
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator)(uint32_t value, void *param)
      pos:
        line_end: 743
        line_start: 743
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator64)(uint64_t value, void *param)
      pos:
        line_end: 744
        line_start: 744
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator)(uint32_t value, void *param)
      pos:
        line_end: 743
        line_start: 743
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator64)(uint64_t value, void *param)
      pos:
        line_end: 744
        line_start: 744
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: bitset_t
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bitset_s
    - item_type: typedef
      name: (*bitset_iterator)(size_t value, void *param)
      pos:
        line_end: 1100
        line_start: 1100
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: bitset_t
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bitset_s
    - item_type: typedef
      name: (*bitset_iterator)(size_t value, void *param)
      pos:
        line_end: 1100
        line_start: 1100
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: bitset_t
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bitset_s
    - item_type: typedef
      name: (*bitset_iterator)(size_t value, void *param)
      pos:
        line_end: 1100
        line_start: 1100
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: bitset_t
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bitset_s
    - item_type: typedef
      name: (*bitset_iterator)(size_t value, void *param)
      pos:
        line_end: 1100
        line_start: 1100
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: bool
    - item_type: typedef
      name: '* (*roaring_malloc_p)(size_t)'
      pos:
        line_end: 2364
        line_start: 2364
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: void
    - item_type: typedef
      name: '* (*roaring_realloc_p)(void*, size_t)'
      pos:
        line_end: 2365
        line_start: 2365
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: void
    - item_type: typedef
      name: '* (*roaring_calloc_p)(size_t, size_t)'
      pos:
        line_end: 2366
        line_start: 2366
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: void
    - item_type: typedef
      name: (*roaring_free_p)(void*)
      pos:
        line_end: 2367
        line_start: 2367
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: void
    - item_type: typedef
      name: '* (*roaring_aligned_malloc_p)(size_t, size_t)'
      pos:
        line_end: 2368
        line_start: 2368
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: void
    - item_type: typedef
      name: (*roaring_aligned_free_p)(void*)
      pos:
        line_end: 2369
        line_start: 2369
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: void
    - item_type: typedef
      name: roaring64_bitmap_t
      pos:
        line_end: 2410
        line_start: 2410
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: roaring64_bitmap_s
    - item_type: typedef
      name: roaring64_leaf_t
      pos:
        line_end: 2411
        line_start: 2411
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: uint64_t
    - item_type: typedef
      name: roaring64_iterator_t
      pos:
        line_end: 2412
        line_start: 2412
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: roaring64_iterator_s
    - item_type: typedef
      name: roaring64_bitmap_t
      pos:
        line_end: 2410
        line_start: 2410
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: roaring64_bitmap_s
    - item_type: typedef
      name: roaring64_leaf_t
      pos:
        line_end: 2411
        line_start: 2411
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: uint64_t
    - item_type: typedef
      name: roaring64_iterator_t
      pos:
        line_end: 2412
        line_start: 2412
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: roaring64_iterator_s
    - item_type: typedef
      name: roaring64_bitmap_t
      pos:
        line_end: 2410
        line_start: 2410
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: roaring64_bitmap_s
    - item_type: typedef
      name: roaring64_leaf_t
      pos:
        line_end: 2411
        line_start: 2411
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: uint64_t
    - item_type: typedef
      name: roaring64_iterator_t
      pos:
        line_end: 2412
        line_start: 2412
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: roaring64_iterator_s
    - item_type: typedef
      name: roaring64_bitmap_t
      pos:
        line_end: 2410
        line_start: 2410
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: roaring64_bitmap_s
    - item_type: typedef
      name: roaring64_leaf_t
      pos:
        line_end: 2411
        line_start: 2411
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: uint64_t
    - item_type: typedef
      name: roaring64_iterator_t
      pos:
        line_end: 2412
        line_start: 2412
        source_file: /src/ndpi/src/lib/third_party/include/roaring.h
      type: roaring64_iterator_s
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/pl7m.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - roaring::api::roaring_bitmap_create
  - roaring::api::roaring_bitmap_init_cleared
  - roaring::api::roaring_bitmap_get_copy_on_write
  - roaring::api::roaring_bitmap_set_copy_on_write
  - roaring::api::roaring_bitmap_add_range
  - roaring::api::roaring_bitmap_remove_range
  - roaring::api::roaring_bitmap_create
  - roaring::api::roaring_bitmap_init_cleared
  - roaring::api::roaring_bitmap_get_copy_on_write
  - roaring::api::roaring_bitmap_set_copy_on_write
  - roaring::api::roaring_bitmap_add_range
  - roaring::api::roaring_bitmap_remove_range
  - roaring::api::roaring_bitmap_create
  - roaring::api::roaring_bitmap_init_cleared
  - roaring::api::roaring_bitmap_get_copy_on_write
  - roaring::api::roaring_bitmap_set_copy_on_write
  - roaring::api::roaring_bitmap_add_range
  - roaring::api::roaring_bitmap_remove_range
  - roaring::api::roaring_bitmap_create
  - roaring::api::roaring_bitmap_init_cleared
  - roaring::api::roaring_bitmap_get_copy_on_write
  - roaring::api::roaring_bitmap_set_copy_on_write
  - roaring::api::roaring_bitmap_add_range
  - roaring::api::roaring_bitmap_remove_range
  source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ROARING_INCLUDE_ROARING_VERSION
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: '#define ROARING_VERSION "0.9.6"'
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: ::roaring::api::container_s
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: void  // no compile-time checking
    - item_type: preproc_def
      name: ROARING_FLAG_COW
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: UINT8_C(0x1)
    - item_type: preproc_def
      name: ROARING_FLAG_FROZEN
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: UINT8_C(0x2)
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: ::roaring::api::container_s
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: void  // no compile-time checking
    - item_type: preproc_def
      name: ROARING_FLAG_COW
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: UINT8_C(0x1)
    - item_type: preproc_def
      name: ROARING_FLAG_FROZEN
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: UINT8_C(0x2)
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: ::roaring::api::container_s
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: void  // no compile-time checking
    - item_type: preproc_def
      name: ROARING_FLAG_COW
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: UINT8_C(0x1)
    - item_type: preproc_def
      name: ROARING_FLAG_FROZEN
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: UINT8_C(0x2)
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: ::roaring::api::container_s
    - item_type: preproc_def
      name: ROARING_CONTAINER_T
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: void  // no compile-time checking
    - item_type: preproc_def
      name: ROARING_FLAG_COW
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: UINT8_C(0x1)
    - item_type: preproc_def
      name: ROARING_FLAG_FROZEN
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type_or_value: UINT8_C(0x2)
    structs:
    - fields: []
      item_type: struct
      name: container_s
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: size
        type: int32_t
      - name: allocation_size
        type: int32_t
      - name: '**containers'
        type: ROARING_CONTAINER_T
      - name: '*keys'
        type: uint16_t
      - name: '*typecodes'
        type: uint8_t
      - name: flags
        type: uint8_t
      item_type: struct
      name: roaring_array_s
      pos:
        line_end: 125
        line_start: 118
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: n_containers
        type: uint32_t
      - name: n_array_containers
        type: uint32_t
      - name: n_run_containers
        type: uint32_t
      - name: n_bitset_containers
        type: uint32_t
      - name: n_values_array_containers
        type: uint32_t
      - name: n_values_run_containers
        type: uint32_t
      - name: n_values_bitset_containers
        type: uint32_t
      - name: n_bytes_array_containers
        type: uint32_t
      - name: n_bytes_run_containers
        type: uint32_t
      - name: n_bytes_bitset_containers
        type: uint32_t
      - name: max_value
        type: uint32_t
      - name: min_value
        type: uint32_t
      - name: sum_value
        type: uint64_t
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring_statistics_s
      pos:
        line_end: 166
        line_start: 136
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields: []
      item_type: struct
      name: container_s
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: size
        type: int32_t
      - name: allocation_size
        type: int32_t
      - name: '**containers'
        type: ROARING_CONTAINER_T
      - name: '*keys'
        type: uint16_t
      - name: '*typecodes'
        type: uint8_t
      - name: flags
        type: uint8_t
      item_type: struct
      name: roaring_array_s
      pos:
        line_end: 125
        line_start: 118
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: n_containers
        type: uint32_t
      - name: n_array_containers
        type: uint32_t
      - name: n_run_containers
        type: uint32_t
      - name: n_bitset_containers
        type: uint32_t
      - name: n_values_array_containers
        type: uint32_t
      - name: n_values_run_containers
        type: uint32_t
      - name: n_values_bitset_containers
        type: uint32_t
      - name: n_bytes_array_containers
        type: uint32_t
      - name: n_bytes_run_containers
        type: uint32_t
      - name: n_bytes_bitset_containers
        type: uint32_t
      - name: max_value
        type: uint32_t
      - name: min_value
        type: uint32_t
      - name: sum_value
        type: uint64_t
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring_statistics_s
      pos:
        line_end: 166
        line_start: 136
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields: []
      item_type: struct
      name: container_s
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: size
        type: int32_t
      - name: allocation_size
        type: int32_t
      - name: '**containers'
        type: ROARING_CONTAINER_T
      - name: '*keys'
        type: uint16_t
      - name: '*typecodes'
        type: uint8_t
      - name: flags
        type: uint8_t
      item_type: struct
      name: roaring_array_s
      pos:
        line_end: 125
        line_start: 118
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: n_containers
        type: uint32_t
      - name: n_array_containers
        type: uint32_t
      - name: n_run_containers
        type: uint32_t
      - name: n_bitset_containers
        type: uint32_t
      - name: n_values_array_containers
        type: uint32_t
      - name: n_values_run_containers
        type: uint32_t
      - name: n_values_bitset_containers
        type: uint32_t
      - name: n_bytes_array_containers
        type: uint32_t
      - name: n_bytes_run_containers
        type: uint32_t
      - name: n_bytes_bitset_containers
        type: uint32_t
      - name: max_value
        type: uint32_t
      - name: min_value
        type: uint32_t
      - name: sum_value
        type: uint64_t
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring_statistics_s
      pos:
        line_end: 166
        line_start: 136
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields: []
      item_type: struct
      name: container_s
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: size
        type: int32_t
      - name: allocation_size
        type: int32_t
      - name: '**containers'
        type: ROARING_CONTAINER_T
      - name: '*keys'
        type: uint16_t
      - name: '*typecodes'
        type: uint8_t
      - name: flags
        type: uint8_t
      item_type: struct
      name: roaring_array_s
      pos:
        line_end: 125
        line_start: 118
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: n_containers
        type: uint32_t
      - name: n_array_containers
        type: uint32_t
      - name: n_run_containers
        type: uint32_t
      - name: n_bitset_containers
        type: uint32_t
      - name: n_values_array_containers
        type: uint32_t
      - name: n_values_run_containers
        type: uint32_t
      - name: n_values_bitset_containers
        type: uint32_t
      - name: n_bytes_array_containers
        type: uint32_t
      - name: n_bytes_run_containers
        type: uint32_t
      - name: n_bytes_bitset_containers
        type: uint32_t
      - name: max_value
        type: uint32_t
      - name: min_value
        type: uint32_t
      - name: sum_value
        type: uint64_t
      - name: cardinality
        type: uint64_t
      item_type: struct
      name: roaring_statistics_s
      pos:
        line_end: 166
        line_start: 136
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: high_low_container
        type: roaring_array_t
      item_type: struct
      name: roaring_bitmap_s
      pos:
        line_end: 193
        line_start: 191
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: idx
        type: int
      - name: key
        type: uint16_t
      - name: typecode
        type: uint8_t
      item_type: struct
      name: roaring_bulk_context_s
      pos:
        line_end: 460
        line_start: 455
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: '*parent'
        type: roaring_bitmap_t
      - name: container_index
        type: int32_t
      - name: in_container_index
        type: int32_t
      - name: run_index
        type: int32_t
      - name: current_value
        type: uint32_t
      - name: has_value
        type: bool
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: typecode
        type: uint8_t
      - name: highbits
        type: uint32_t
      item_type: struct
      name: roaring_uint32_iterator_s
      pos:
        line_end: 1004
        line_start: 985
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: high_low_container
        type: roaring_array_t
      item_type: struct
      name: roaring_bitmap_s
      pos:
        line_end: 193
        line_start: 191
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: idx
        type: int
      - name: key
        type: uint16_t
      - name: typecode
        type: uint8_t
      item_type: struct
      name: roaring_bulk_context_s
      pos:
        line_end: 460
        line_start: 455
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: '*parent'
        type: roaring_bitmap_t
      - name: container_index
        type: int32_t
      - name: in_container_index
        type: int32_t
      - name: run_index
        type: int32_t
      - name: current_value
        type: uint32_t
      - name: has_value
        type: bool
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: typecode
        type: uint8_t
      - name: highbits
        type: uint32_t
      item_type: struct
      name: roaring_uint32_iterator_s
      pos:
        line_end: 1004
        line_start: 985
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: high_low_container
        type: roaring_array_t
      item_type: struct
      name: roaring_bitmap_s
      pos:
        line_end: 193
        line_start: 191
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: idx
        type: int
      - name: key
        type: uint16_t
      - name: typecode
        type: uint8_t
      item_type: struct
      name: roaring_bulk_context_s
      pos:
        line_end: 460
        line_start: 455
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: '*parent'
        type: roaring_bitmap_t
      - name: container_index
        type: int32_t
      - name: in_container_index
        type: int32_t
      - name: run_index
        type: int32_t
      - name: current_value
        type: uint32_t
      - name: has_value
        type: bool
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: typecode
        type: uint8_t
      - name: highbits
        type: uint32_t
      item_type: struct
      name: roaring_uint32_iterator_s
      pos:
        line_end: 1004
        line_start: 985
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: high_low_container
        type: roaring_array_t
      item_type: struct
      name: roaring_bitmap_s
      pos:
        line_end: 193
        line_start: 191
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: idx
        type: int
      - name: key
        type: uint16_t
      - name: typecode
        type: uint8_t
      item_type: struct
      name: roaring_bulk_context_s
      pos:
        line_end: 460
        line_start: 455
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: '*parent'
        type: roaring_bitmap_t
      - name: container_index
        type: int32_t
      - name: in_container_index
        type: int32_t
      - name: run_index
        type: int32_t
      - name: current_value
        type: uint32_t
      - name: has_value
        type: bool
      - name: '*container'
        type: ROARING_CONTAINER_T
      - name: typecode
        type: uint8_t
      - name: highbits
        type: uint32_t
      item_type: struct
      name: roaring_uint32_iterator_s
      pos:
        line_end: 1004
        line_start: 985
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    - fields:
      - name: malloc
        type: roaring_malloc_p
      - name: realloc
        type: roaring_realloc_p
      - name: calloc
        type: roaring_calloc_p
      - name: free
        type: roaring_free_p
      - name: aligned_malloc
        type: roaring_aligned_malloc_p
      - name: aligned_free
        type: roaring_aligned_free_p
      item_type: struct
      name: roaring_memory_s
      pos:
        line_end: 1126
        line_start: 1119
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
    typedefs:
    - item_type: typedef
      name: (*roaring_iterator)(uint32_t value, void *param)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator64)(uint64_t value, void *param)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator)(uint32_t value, void *param)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator64)(uint64_t value, void *param)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator)(uint32_t value, void *param)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator64)(uint64_t value, void *param)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator)(uint32_t value, void *param)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: bool
    - item_type: typedef
      name: (*roaring_iterator64)(uint64_t value, void *param)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: bool
    - item_type: typedef
      name: '* (*roaring_malloc_p)(size_t)'
      pos:
        line_end: 1112
        line_start: 1112
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: void
    - item_type: typedef
      name: '* (*roaring_realloc_p)(void*, size_t)'
      pos:
        line_end: 1113
        line_start: 1113
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: void
    - item_type: typedef
      name: '* (*roaring_calloc_p)(size_t, size_t)'
      pos:
        line_end: 1114
        line_start: 1114
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: void
    - item_type: typedef
      name: (*roaring_free_p)(void*)
      pos:
        line_end: 1115
        line_start: 1115
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: void
    - item_type: typedef
      name: '* (*roaring_aligned_malloc_p)(size_t, size_t)'
      pos:
        line_end: 1116
        line_start: 1116
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: void
    - item_type: typedef
      name: (*roaring_aligned_free_p)(void*)
      pos:
        line_end: 1117
        line_start: 1117
        source_file: /src/ndpi/src/lib/third_party/include/roaring_v2.h
      type: void
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/libcache.h
  types:
    enum:
    - enumerators:
      - name: CACHE_NO_ERROR
        value: '0'
      - name: CACHE_CONTAINS_TRUE
      - name: CACHE_CONTAINS_FALSE
        value: '0'
      - name: CACHE_REMOVE_NOT_FOUND
      - name: CACHE_INVALID_INPUT
      - name: CACHE_MALLOC_ERROR
      item_type: enum
      name: cache_result
      pos:
        line_end: 50
        line_start: 43
        source_file: /src/ndpi/src/lib/third_party/include/libcache.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*cache_entry'
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/ndpi/src/lib/third_party/include/libcache.h
      type: cache_entry_
    - item_type: typedef
      name: '*cache_entry_map'
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/ndpi/src/lib/third_party/include/libcache.h
      type: cache_entry_map_
    - item_type: typedef
      name: '*cache_t'
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/ndpi/src/lib/third_party/include/libcache.h
      type: cache
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HMAC_SHA256_DIGEST_SIZE
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '32  '
    - item_type: preproc_def
      name: SHA256_DIGEST_SIZE
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_MD_BUFF_SIZE
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '256'
    - item_type: preproc_def
      name: GCRY_CIPHER_AES128
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '7'
    - item_type: preproc_def
      name: GCRY_CIPHER_AES256
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '8'
    - item_type: preproc_def
      name: GCRY_CIPHER_MODE_ECB
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GCRY_CIPHER_MODE_GCM
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '8 '
    - item_type: preproc_def
      name: GCRY_MD_SHA256
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '8'
    - item_type: preproc_def
      name: GCRY_MD_FLAG_HMAC
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GPG_ERR_NO_ERROR
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '0'
    - item_type: preproc_def
      name: GPG_ERR_KEY
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: GPG_ERR_ANY
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: GPG_ERR_INV_ARG
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '-3'
    - item_type: preproc_def
      name: GCRYCTL_INITIALIZATION_FINISHED_P
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: 1,0
    - item_type: preproc_def
      name: GCRYCTL_INITIALIZATION_FINISHED
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GCRYCTL_RESET
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '3'
    - item_type: preproc_def
      name: GCRY_AES_KEY_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_AES_AUTH_SIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '256'
    - item_type: preproc_def
      name: GCRY_AES_TAG_SIZE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '32'
    - item_type: preproc_def
      name: GCRY_AES_IV_SIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type_or_value: '12'
    structs:
    - fields:
      - name: key[64]
        type: uint8_t
      - name: data_buf[GCRY_MD_BUFF_SIZE]
        type: uint8_t
      - name: key_len
        type: uint32_t
      - name: data_len
        type: uint32_t
      item_type: struct
      name: gcry_md_hd
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
    - fields:
      - name: algo
        type: int
      - name: keylen
        type: size_t
      - name: s_key
        type: uint8_t
      - name: auth[GCRY_AES_AUTH_SIZE]
        type: uint8_t
      - name: tag[GCRY_AES_TAG_SIZE]
        type: uint8_t
      - name: iv[GCRY_AES_IV_SIZE]
        type: uint8_t
      - name: ctx
        type: "union {\n        struct mbedtls_aes_context *ecb;\n        struct mbedtls_gcm_context
          *gcm;\n    }"
      item_type: struct
      name: gcry_cipher_hd
      pos:
        line_end: 54
        line_start: 43
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
    typedefs:
    - item_type: typedef
      name: gcry_error_t
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type: int
    - item_type: typedef
      name: gpg_error_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type: gcry_error_t
    - item_type: typedef
      name: '* gcry_md_hd_t'
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type: gcry_md_hd
    - item_type: typedef
      name: '* gcry_cipher_hd_t'
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt_light.h
      type: gcry_cipher_hd
    union: []
- function_names:
  - secure_memzero
  - secure_memzero
  - secure_memzero
  - secure_memzero
  - secure_memzero
  source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMZ_SECUREZEROMEMORY
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: SMZ_MEMSET_S
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: SMZ_ASM_BARRIER
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: SMZ_VDATAPTR
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: SMZ_VFUNCPTR
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: SMZ_SECUREZEROMEMORY
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "0\r"
    - item_type: preproc_def
      name: SMZ_MEMSET_S
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "0\r"
    - item_type: preproc_def
      name: __STDC_WANT_LIB_EXT1__
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "1\r"
    - item_type: preproc_def
      name: SMZ_MEMSET_S
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "0\r"
    - item_type: preproc_def
      name: SMZ_ASM_BARRIER
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "0\r"
    - item_type: preproc_def
      name: SMZ_PREFERENCE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "0\r"
    - item_type: preproc_def
      name: SMZ_PREFERENCE
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "SMZ_SECUREZEROMEMORY\r"
    - item_type: preproc_def
      name: SMZ_PREFERENCE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "SMZ_MEMSET_S\r"
    - item_type: preproc_def
      name: SMZ_PREFERENCE
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "SMZ_ASM_BARRIER\r"
    - item_type: preproc_def
      name: SMZ_PREFERENCE
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "SMZ_VDATAPTR\r"
    - item_type: preproc_def
      name: SMZ_PREFERENCE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/ndpi/src/lib/third_party/include/secure_memzero.h
      type_or_value: "SMZ_VFUNCPTR\r"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/ndpi_sha1.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state[5]
        type: u_int32_t
      - name: count[2]
        type: u_int32_t
      - name: buffer[64]
        type: unsigned char
      item_type: struct
      name: SHA1_CTX
      pos:
        line_end: 11
        line_start: 7
        source_file: /src/ndpi/src/lib/third_party/include/ndpi_sha1.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/rce_injection.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_RCE_REGEX
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/ndpi/src/lib/third_party/include/rce_injection.h
      type_or_value: '7'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/ndpi_sha256.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_SHA256_BLOCK_SIZE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/ndpi/src/lib/third_party/include/ndpi_sha256.h
      type_or_value: 32            // SHA256 outputs a 32 byte digest
    structs:
    - fields:
      - name: data[64]
        type: u_int8_t
      - name: datalen
        type: u_int32_t
      - name: bitlen
        type: unsigned long long
      - name: state[8]
        type: u_int32_t
      item_type: struct
      name: ndpi_SHA256_CTX
      pos:
        line_end: 26
        line_start: 21
        source_file: /src/ndpi/src/lib/third_party/include/ndpi_sha256.h
    typedefs: []
    union: []
- function_names:
  - DECLTYPE
  - DECLTYPE
  - DECLTYPE_ASSIGN
  - DECLTYPE_ASSIGN
  - uthash_malloc
  - uthash_free
  - uthash_bzero
  - uthash_strlen
  - HASH_FUNCTION
  - HASH_KEYCMP
  - uthash_nonfatal_oom
  - HASH_RECORD_OOM
  - IF_HASH_NONFATAL_OOM
  - uthash_fatal
  - HASH_RECORD_OOM
  - ELMT_FROM_HH
  - HH_FROM_ELMT
  - HASH_ROLLBACK_BKT
  - HASH_VALUE
  - HASH_FIND_BYHASHVALUE
  - HASH_FIND
  - HASH_BLOOM_MAKE
  - HASH_BLOOM_FREE
  - HASH_BLOOM_BITSET
  - HASH_BLOOM_BITTEST
  - HASH_BLOOM_ADD
  - HASH_BLOOM_TEST
  - HASH_BLOOM_TEST
  - HASH_MAKE_TABLE
  - HASH_REPLACE_BYHASHVALUE_INORDER
  - HASH_REPLACE_BYHASHVALUE
  - HASH_REPLACE
  - HASH_REPLACE_INORDER
  - HASH_APPEND_LIST
  - HASH_AKBI_INNER_LOOP
  - HASH_AKBI_INNER_LOOP
  - HASH_ADD_TO_TABLE
  - HASH_ADD_TO_TABLE
  - HASH_ADD_KEYPTR_BYHASHVALUE_INORDER
  - HASH_ADD_KEYPTR_INORDER
  - HASH_ADD_BYHASHVALUE_INORDER
  - HASH_ADD_INORDER
  - HASH_ADD_KEYPTR_BYHASHVALUE
  - HASH_ADD_KEYPTR
  - HASH_ADD_BYHASHVALUE
  - HASH_ADD
  - HASH_TO_BKT
  - HASH_DELETE
  - HASH_DELETE_HH
  - HASH_FIND_STR
  - HASH_ADD_STR
  - HASH_REPLACE_STR
  - HASH_FIND_INT
  - HASH_ADD_INT
  - HASH_REPLACE_INT
  - HASH_FIND_PTR
  - HASH_ADD_PTR
  - HASH_REPLACE_PTR
  - HASH_DEL
  - HASH_OOPS
  - HASH_FSCK
  - HASH_EMIT_KEY
  - HASH_BER
  - HASH_SAX
  - HASH_FNV
  - HASH_OAT
  - HASH_JEN_MIX
  - HASH_JEN
  - get16bits
  - get16bits
  - HASH_SFH
  - HASH_FIND_IN_BKT
  - HASH_ADD_TO_BKT
  - HASH_DEL_IN_BKT
  - HASH_EXPAND_BUCKETS
  - HASH_SORT
  - HASH_SRT
  - HASH_SELECT
  - HASH_CLEAR
  - HASH_OVERHEAD
  - HASH_ITER
  - HASH_ITER
  - HASH_COUNT
  - HASH_CNT
  source_file: /src/ndpi/src/lib/third_party/include/uthash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UTHASH_VERSION
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type_or_value: 2.3.0
    - item_type: preproc_def
      name: HASH_NONFATAL_OOM
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HASH_INITIAL_NUM_BUCKETS
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type_or_value: '32U     '
    - item_type: preproc_def
      name: HASH_INITIAL_NUM_BUCKETS_LOG2
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type_or_value: '5U '
    - item_type: preproc_def
      name: HASH_BKT_CAPACITY_THRESH
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type_or_value: '10U     '
    - item_type: preproc_def
      name: HASH_BLOOM_BITLEN
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type_or_value: (1UL << HASH_BLOOM)
    - item_type: preproc_def
      name: HASH_BLOOM_BYTELEN
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type_or_value: '(HASH_BLOOM_BITLEN/8UL) + (((HASH_BLOOM_BITLEN%8UL)!=0UL) ?
        1UL : 0UL)'
    - item_type: preproc_def
      name: HASH_BLOOM_BYTELEN
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type_or_value: 0U
    - item_type: preproc_def
      name: HASH_SIGNATURE
      pos:
        line_end: 1091
        line_start: 1090
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type_or_value: 0xa0111fe1u
    - item_type: preproc_def
      name: HASH_BLOOM_SIGNATURE
      pos:
        line_end: 1092
        line_start: 1091
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type_or_value: 0xb12220f2u
    structs:
    - fields:
      - name: '*hh_head'
        type: struct UT_hash_handle
      - name: count
        type: unsigned
      - name: expand_mult
        type: unsigned
      item_type: struct
      name: UT_hash_bucket
      pos:
        line_end: 1087
        line_start: 1069
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
    - fields:
      - name: '*buckets'
        type: UT_hash_bucket
      - name: num_buckets
        type: unsigned
      - name: num_items
        type: unsigned
      - name: '*tail'
        type: struct UT_hash_handle
      - name: hho
        type: ptrdiff_t
      - name: ideal_chain_maxlen
        type: unsigned
      - name: nonideal_items
        type: unsigned
      - name: ineff_expands
        type: unsigned
      - name: signature
        type: uint32_t
      item_type: struct
      name: UT_hash_table
      pos:
        line_end: 1124
        line_start: 1093
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
    - fields:
      - name: '*tbl'
        type: struct UT_hash_table
      - name: '*prev'
        type: void
      - name: '*next'
        type: void
      - name: '*hh_prev'
        type: struct UT_hash_handle
      - name: '*hh_next'
        type: struct UT_hash_handle
      - name: '*key'
        type: void
      - name: keylen
        type: unsigned
      - name: hashv
        type: unsigned
      item_type: struct
      name: UT_hash_handle
      pos:
        line_end: 1135
        line_start: 1126
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
    typedefs:
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type: unsigned int
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/ndpi/src/lib/third_party/include/uthash.h
      type: unsigned char
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/libinjection_html5.h
  types:
    enum:
    - enumerators:
      - name: DATA_TEXT
      - name: TAG_NAME_OPEN
      - name: TAG_NAME_SELFCLOSE
      - name: TAG_DATA
      - name: TAG_NAME_CLOSE
      - name: TAG_CLOSE
      - name: ATTR_NAME
      - name: ATTR_VALUE
      - name: TAG_COMMENT
      - name: DOCTYPE
      item_type: enum
      name: html5_type
      pos:
        line_end: 22
        line_start: 11
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_html5.h
    - enumerators:
      - name: DATA_STATE
      - name: VALUE_DOUBLE_QUOTE
      - name: VALUE_NO_QUOTE
      - name: VALUE_SINGLE_QUOTE
      - name: VALUE_BACK_QUOTE
      item_type: enum
      name: html5_flags
      pos:
        line_end: 30
        line_start: 24
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_html5.h
    preproc_defs: []
    structs:
    - fields:
      - name: '* s'
        type: char
      - name: len
        type: size_t
      - name: pos
        type: size_t
      - name: is_close
        type: int
      - name: state
        type: ptr_html5_state
      - name: '* token_start'
        type: char
      - name: token_len
        type: size_t
      - name: token_type
        type: enum html5_type
      item_type: struct
      name: h5_state
      pos:
        line_end: 44
        line_start: 35
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_html5.h
    typedefs:
    - item_type: typedef
      name: (*ptr_html5_state)(struct h5_state*)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_html5.h
      type: int
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/hll.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/MurmurHash3.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/libinjection_sqli_data.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*word'
        type: char
      - name: type
        type: char
      item_type: struct
      name: keyword_t
      pos:
        line_end: 10
        line_start: 7
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_sqli_data.h
    typedefs:
    - item_type: typedef
      name: (*pt2Function)(sfilter *sf)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_sqli_data.h
      type: size_t
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/kdtree.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AC_PATTRN_MAX_LENGTH
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
      type_or_value: '256'
    - item_type: preproc_def
      name: REALLOC_CHUNK_MATCHSTR
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
      type_or_value: '8'
    - item_type: preproc_def
      name: REALLOC_CHUNK_OUTGOING
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
      type_or_value: '8'
    - item_type: preproc_def
      name: AC_FEATURE_DEBUG
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: AC_FEATURE_LC
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AC_FEATURE_NO_ROOT_RANGE
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
      type_or_value: '4'
    structs:
    - fields:
      - name: number
        type: uint32_t
      - name: number64
        type: uint64_t
      - name: breed
        type: uint16_t
      - name: level
        type: uint16_t
      item_type: struct
      name: AC_REP_t
      pos:
        line_end: 66
        line_start: 58
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
    - fields:
      - name: '* astring'
        type: AC_ALPHABET_t
      - name: length
        type: uint16_t
      - name: rep
        type: AC_REP_t
      item_type: struct
      name: AC_PATTERN_t
      pos:
        line_end: 87
        line_start: 81
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
    - fields:
      - name: num
        type: unsigned short
      - name: max
        type: unsigned short
      - name: patterns[]
        type: AC_PATTERN_t
      item_type: struct
      name: AC_PATTERNS_t
      pos:
        line_end: 93
        line_start: 89
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
    - fields:
      - name: '*matched[4]'
        type: AC_PATTERN_t
      - name: '*patterns'
        type: AC_PATTERN_t
      - name: match_map
        type: unsigned int
      - name: position
        type: unsigned int
      - name: match_num
        type: unsigned short int
      - name: match_counter
        type: unsigned short int
      item_type: struct
      name: AC_MATCH_t
      pos:
        line_end: 120
        line_start: 111
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
    - fields:
      - name: match
        type: AC_MATCH_t
      - name: '* astring'
        type: AC_ALPHABET_t
      - name: length
        type: unsigned short int
      item_type: struct
      name: AC_TEXT_t
      pos:
        line_end: 133
        line_start: 127
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
    - fields:
      - name: id
        type: int
      - name: one_alpha
        type: AC_ALPHABET_t
      - name: one
        type: unsigned char
      - name: depth
        type: unsigned short
      - name: '*matched_patterns'
        type: AC_PATTERNS_t
      - name: '*outgoing'
        type: struct edge
      - name: '*failure_node'
        type: struct ac_node
      - name: '*a_ptr'
        type: unsigned char
      item_type: struct
      name: ac_node
      pos:
        line_end: 194
        line_start: 177
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
    - fields:
      - name: degree
        type: unsigned short
      - name: max
        type: unsigned short
      - name: cmap[8]
        type: uint32_t
      - name: '*next[]'
        type: AC_NODE_t
      item_type: struct
      name: edge
      pos:
        line_end: 211
        line_start: 196
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
    - fields:
      - name: '* n'
        type: AC_NODE_t
      - name: idx
        type: unsigned short int
      item_type: struct
      name: ac_path
      pos:
        line_end: 216
        line_start: 213
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
    - fields:
      - name: n_search
        type: uint64_t
      - name: n_found
        type: uint64_t
      item_type: struct
      name: ac_stats
      pos:
        line_end: 221
        line_start: 218
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
    - fields:
      - name: '* root'
        type: AC_NODE_t
      - name: match_handler
        type: MATCH_CALLBACK_f
      - name: all_nodes_num
        type: unsigned int
      - name: automata_open
        type: unsigned short
      - name: total_patterns
        type: unsigned long
      - name: max_str_len
        type: unsigned long
      - name: ac_path[AC_PATTRN_MAX_LENGTH+4]
        type: struct ac_path
      - name: id
        type: int
      - name: add_to_range
        type: int
      - name: n_oc
        type: int
      - name: name[32]
        type: char
      - name: stats
        type: struct ac_stats
      item_type: struct
      name: AC_AUTOMATA_t
      pos:
        line_end: 248
        line_start: 223
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
    typedefs:
    - item_type: typedef
      name: AC_ALPHABET_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
      type: char
    - item_type: typedef
      name: (*MATCH_CALLBACK_f)(AC_MATCH_t *, AC_TEXT_t *, AC_REP_t *)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
      type: int
    - item_type: typedef
      name: (*NODE_CALLBACK_f)(AC_AUTOMATA_t *, AC_NODE_t *,int idx, void *)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
      type: AC_ERROR_t
    - item_type: typedef
      name: (*ALPHA_CALLBACK_f)(AC_AUTOMATA_t *, AC_NODE_t *,AC_NODE_t *,int ,void
        *)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/ndpi/src/lib/third_party/include/ahocorasick.h
      type: void
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/ball.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/third_party/include/ball.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/third_party/include/ball.h
      type_or_value: '0'
    structs:
    - fields:
      - name: n_neighbors
        type: int
      - name: leaf_size
        type: int
      - name: '**data'
        type: double
      - name: n_samples
        type: int
      - name: n_features
        type: int
      item_type: struct
      name: s_data
      pos:
        line_end: 34
        line_start: 27
        source_file: /src/ndpi/src/lib/third_party/include/ball.h
    - fields:
      - name: '**distances'
        type: double
      - name: '**indices'
        type: int
      - name: n_pts
        type: int
      - name: n_nbrs
        type: int
      item_type: struct
      name: s_nheap
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/ndpi/src/lib/third_party/include/ball.h
    - fields:
      - name: '**distances'
        type: double
      - name: '**indices'
        type: int
      - name: n_samples
        type: int
      - name: n_neighbors
        type: int
      item_type: struct
      name: s_knn
      pos:
        line_end: 52
        line_start: 46
        source_file: /src/ndpi/src/lib/third_party/include/ball.h
    - fields:
      - name: idx_start
        type: int
      - name: idx_end
        type: int
      - name: is_leaf
        type: int
      - name: radius
        type: double
      item_type: struct
      name: s_nodedata
      pos:
        line_end: 61
        line_start: 55
        source_file: /src/ndpi/src/lib/third_party/include/ball.h
    - fields:
      - name: '**data'
        type: double
      - name: '*idx_array'
        type: int
      - name: '*node_data'
        type: t_nodedata
      - name: '***node_bounds'
        type: double
      - name: n_samples
        type: int
      - name: n_features
        type: int
      - name: leaf_size
        type: int
      - name: n_levels
        type: int
      - name: n_nodes
        type: int
      item_type: struct
      name: s_btree
      pos:
        line_end: 76
        line_start: 63
        source_file: /src/ndpi/src/lib/third_party/include/ball.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/libinjection_sqli.h
  types:
    enum:
    - enumerators:
      - name: FLAG_NONE
        value: '0'
      - name: FLAG_QUOTE_SINGLE
        value: '2'
      - name: FLAG_QUOTE_DOUBLE
        value: '4'
      - name: FLAG_SQL_ANSI
        value: '8'
      - name: FLAG_QUOTE_NONE
        value: '1'
      - name: FLAG_SQL_MYSQL
        value: '16'
      item_type: enum
      name: sqli_flags
      pos:
        line_end: 29
        line_start: 21
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_sqli.h
    - enumerators:
      - name: LOOKUP_WORD
        value: '1'
      - name: LOOKUP_OPERATOR
        value: '3'
      - name: LOOKUP_TYPE
        value: '2'
      - name: LOOKUP_FINGERPRINT
        value: '4'
      item_type: enum
      name: lookup_type
      pos:
        line_end: 36
        line_start: 31
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_sqli.h
    preproc_defs: []
    structs:
    - fields:
      - name: pos
        type: size_t
      - name: len
        type: size_t
      - name: count
        type: int
      - name: type
        type: char
      - name: str_open
        type: char
      - name: str_close
        type: char
      - name: val[32]
        type: char
      item_type: struct
      name: libinjection_sqli_token
      pos:
        line_end: 59
        line_start: 38
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_sqli.h
    - fields:
      - name: '*s'
        type: char
      - name: slen
        type: size_t
      - name: lookup
        type: ptr_lookup_fn
      - name: '*         userdata'
        type: void
      - name: flags
        type: int
      - name: pos
        type: size_t
      - name: '*current'
        type: struct libinjection_sqli_token
      - name: fingerprint[8]
        type: char
      - name: reason
        type: int
      - name: stats_comment_ddw
        type: int
      - name: stats_comment_ddx
        type: int
      - name: stats_comment_c
        type: int
      - name: stats_comment_hash
        type: int
      - name: stats_folds
        type: int
      - name: stats_tokens
        type: int
      item_type: struct
      name: libinjection_sqli_state
      pos:
        line_end: 172
        line_start: 70
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_sqli.h
    typedefs:
    - item_type: typedef
      name: stoken_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_sqli.h
      type: libinjection_sqli_token
    - item_type: typedef
      name: (*ptr_lookup_fn)(struct libinjection_sqli_state*, int lookuptype, const
        char* word, size_t len)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_sqli.h
      type: char
    - item_type: typedef
      name: sfilter
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/ndpi/src/lib/third_party/include/libinjection_sqli.h
      type: libinjection_sqli_state
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/shoco.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: shoco_restrict
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/ndpi/src/lib/third_party/include/shoco.h
      type_or_value: __restrict
    - item_type: preproc_def
      name: shoco_restrict
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/ndpi/src/lib/third_party/include/shoco.h
      type_or_value: __restrict__
    - item_type: preproc_def
      name: shoco_restrict
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/ndpi/src/lib/third_party/include/shoco.h
      type_or_value: restrict
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_prefix_touchar
  - BIT_TEST
  - PATRICIA_NBIT
  - PATRICIA_NBYTE
  - PATRICIA_DATA_GET
  - PATRICIA_DATA_SET
  - PATRICIA_WALK
  - PATRICIA_WALK_ALL
  source_file: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXLINE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: addroute
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
      type_or_value: make_and_lookup
    - item_type: preproc_def
      name: PATRICIA_MAXBITS
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
      type_or_value: '128'
    - item_type: preproc_def
      name: PATRICIA_MAXBITS
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
      type_or_value: (sizeof(struct in6_addr) * 8)
    - item_type: preproc_def
      name: PATRICIA_WALK_BREAK
      pos:
        line_end: 124
        line_start: 117
        source_file: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
      type_or_value: "{\t\t\t\\\n    if (Xsp != Xstack) {\t\t\t\\\n      Xrn = *(--Xsp);\t\t\t\t\\\n
        \   } else {\t\t\t\t\t\\\n      Xrn = (ndpi_patricia_node_t *) 0;\t\t\\\n
        \   }\t\t\t\t\t\t\\\n    continue; }"
    - item_type: preproc_def
      name: PATRICIA_WALK_END
      pos:
        line_end: 140
        line_start: 125
        source_file: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
      type_or_value: "if (Xrn->l) {\t\t\t\t\t\\\n    if (Xrn->r) {\t\t\t\t\\\n      *Xsp++
        = Xrn->r;\t\t\t\t\\\n    }\t\t\t\t\t\t\\\n    Xrn = Xrn->l;\t\t\t\t\\\n  }
        else if (Xrn->r) {\t\t\t\t\\\n    Xrn = Xrn->r;\t\t\t\t\\\n  } else if (Xsp
        != Xstack) {\t\t\t\\\n    Xrn = *(--Xsp);\t\t\t\t\\\n  } else {\t\t\t\t\t\\\n
        \   Xrn = (ndpi_patricia_node_t *) 0;\t\t\\\n  }\t\t\t\t\t\t\\\n  }\t\t\t\t\t\t\\\n
        \   } while (0)"
    structs:
    - fields:
      - name: family
        type: u_int16_t
      - name: bitlen
        type: u_int16_t
      - name: ref_count
        type: int
      - name: sin
        type: struct in_addr
      item_type: struct
      name: _prefix4_t
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/ndpi/src/lib/third_party/include/ndpi_patricia.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/ndpi_md5.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: buf[4]
        type: uint32_t
      - name: bits[2]
        type: uint32_t
      - name: in[64]
        type: unsigned char
      item_type: struct
      name: ndpi_MD5Context
      pos:
        line_end: 11
        line_start: 7
        source_file: /src/ndpi/src/lib/third_party/include/ndpi_md5.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/libinjection.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIBINJECTION_BEGIN_DECLS
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/ndpi/src/lib/third_party/include/libinjection.h
      type_or_value: extern "C" {
    - item_type: preproc_def
      name: LIBINJECTION_END_DECLS
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/ndpi/src/lib/third_party/include/libinjection.h
      type_or_value: '}'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/shoco_domains_model.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MIN_CHR
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/ndpi/src/lib/third_party/include/shoco_domains_model.h
      type_or_value: '45'
    - item_type: preproc_def
      name: MAX_CHR
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/ndpi/src/lib/third_party/include/shoco_domains_model.h
      type_or_value: '123'
    - item_type: preproc_def
      name: PACK_COUNT
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/ndpi/src/lib/third_party/include/shoco_domains_model.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MAX_SUCCESSOR_N
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/ndpi/src/lib/third_party/include/shoco_domains_model.h
      type_or_value: '7'
    structs:
    - fields:
      - name: word
        type: uint32_t
      - name: bytes_packed
        type: unsigned int
      - name: bytes_unpacked
        type: unsigned int
      - name: offsets[8]
        type: unsigned int
      - name: _ALIGNED masks[8]
        type: int16_t
      - name: header_mask
        type: unsigned char
      - name: header
        type: unsigned char
      item_type: struct
      name: Pack
      pos:
        line_end: 158
        line_start: 150
        source_file: /src/ndpi/src/lib/third_party/include/shoco_domains_model.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/aes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CBC
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ECB
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CTR
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AES256
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AES_BLOCKLEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
      type_or_value: 16 // Block length in bytes - AES is 128b block only
    - item_type: preproc_def
      name: AES_KEYLEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
      type_or_value: '32'
    - item_type: preproc_def
      name: AES_keyExpSize
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
      type_or_value: '240'
    - item_type: preproc_def
      name: AES_KEYLEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
      type_or_value: '24'
    - item_type: preproc_def
      name: AES_keyExpSize
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
      type_or_value: '208'
    - item_type: preproc_def
      name: AES_KEYLEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
      type_or_value: 16   // Key length in bytes
    - item_type: preproc_def
      name: AES_keyExpSize
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
      type_or_value: '176'
    structs:
    - fields:
      - name: RoundKey[AES_keyExpSize]
        type: uint8_t
      item_type: struct
      name: AES_ctx
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/ndpi/src/lib/third_party/include/aes.h
    typedefs: []
    union: []
- function_names:
  - binary_fuse_murmur64
  - binary_fuse_mix_split
  - binary_fuse_rotl64
  - binary_fuse_reduce
  - binary_fuse8_fingerprint
  - binary_fuse_rng_splitmix64
  - binary_fuse_mulhi
  - binary_fuse_mulhi
  - binary_fuse_mulhi
  - binary_fuse_mulhi
  - binary_fuse8_hash_batch
  - binary_fuse8_hash
  - binary_fuse8_contain
  - binary_fuse_calculate_segment_length
  - binary_fuse_max
  - binary_fuse_calculate_size_factor
  - binary_fuse8_allocate
  - binary_fuse8_size_in_bytes
  - binary_fuse8_free
  - binary_fuse_mod3
  - binary_fuse8_populate
  - binary_fuse16_fingerprint
  - binary_fuse16_hash_batch
  - binary_fuse16_hash
  - binary_fuse16_contain
  - binary_fuse16_allocate
  - binary_fuse16_size_in_bytes
  - binary_fuse16_free
  - binary_fuse16_populate
  source_file: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XOR_MAX_ITERATIONS
      pos:
        line_end: 13
        line_start: 11
        source_file: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
      type_or_value: 100 // probability of success should always be > 0.5 so 100 iterations
        is
    structs:
    - fields:
      - name: Seed
        type: uint64_t
      - name: SegmentLength
        type: uint32_t
      - name: SegmentLengthMask
        type: uint32_t
      - name: SegmentCount
        type: uint32_t
      - name: SegmentCountLength
        type: uint32_t
      - name: ArrayLength
        type: uint32_t
      - name: '*Fingerprints'
        type: uint8_t
      item_type: struct
      name: binary_fuse8_s
      pos:
        line_end: 65
        line_start: 57
        source_file: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    - fields:
      - name: h0
        type: uint32_t
      - name: h1
        type: uint32_t
      - name: h2
        type: uint32_t
      item_type: struct
      name: binary_hashes_s
      pos:
        line_end: 140
        line_start: 136
        source_file: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    - fields:
      - name: Seed
        type: uint64_t
      - name: SegmentLength
        type: uint32_t
      - name: SegmentLengthMask
        type: uint32_t
      - name: SegmentCount
        type: uint32_t
      - name: SegmentCountLength
        type: uint32_t
      - name: ArrayLength
        type: uint32_t
      - name: '*Fingerprints'
        type: uint16_t
      item_type: struct
      name: binary_fuse16_s
      pos:
        line_end: 457
        line_start: 449
        source_file: /src/ndpi/src/lib/third_party/include/binaryfusefilter.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _GETOPT_API
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: _GETOPT_API
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: _GETOPT_BEGIN_EXTERN_C
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: extern "C" {
    - item_type: preproc_def
      name: _GETOPT_END_EXTERN_C
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: '}'
    - item_type: preproc_def
      name: _GETOPT_THROW
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: throw()
    - item_type: preproc_def
      name: null_argument
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: no_argument
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: required_argument
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: optional_argument
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ARG_NULL
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ARG_NONE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ARG_REQ
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ARG_OPT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: getopt
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: getopt_w
    - item_type: preproc_def
      name: getopt_long
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: getopt_long_w
    - item_type: preproc_def
      name: getopt_long_only
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: getopt_long_only_w
    - item_type: preproc_def
      name: option
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: option_w
    - item_type: preproc_def
      name: optarg
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: optarg_w
    - item_type: preproc_def
      name: getopt
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: getopt_a
    - item_type: preproc_def
      name: getopt_long
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: getopt_long_a
    - item_type: preproc_def
      name: getopt_long_only
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: getopt_long_only_a
    - item_type: preproc_def
      name: option
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: option_a
    - item_type: preproc_def
      name: optarg
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
      type_or_value: optarg_a
    structs:
    - fields:
      - name: '* name'
        type: char
      - name: has_arg
        type: int
      - name: '*flag'
        type: int
      - name: val
        type: int
      item_type: struct
      name: option_a
      pos:
        line_end: 96
        line_start: 90
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
    - fields:
      - name: '* name'
        type: wchar_t
      - name: has_arg
        type: int
      - name: '*flag'
        type: int
      - name: val
        type: int
      item_type: struct
      name: option_w
      pos:
        line_end: 109
        line_start: 103
        source_file: /src/ndpi/src/lib/third_party/include/windows/getopt.h
    typedefs: []
    union: []
- function_names:
  - IFTODT
  - DTTOIF
  - S_ISFIFO
  - S_ISDIR
  - S_ISREG
  - S_ISLNK
  - S_ISSOCK
  - S_ISCHR
  - S_ISBLK
  - _D_EXACT_NAMLEN
  - _D_ALLOC_NAMLEN
  - _wopendir
  - _wreaddir
  - _wreaddir_r
  - _wclosedir
  - _wrewinddir
  - dirent_first
  - dirent_next
  - dirent_hash
  - opendir
  - readdir
  - readdir_r
  - closedir
  - rewinddir
  - _wtelldir
  - telldir
  - _wseekdir
  - seekdir
  - scandir
  - alphasort
  - versionsort
  - strverscmp
  - dirent_mbstowcs_s
  - dirent_wcstombs_s
  - dirent_set_errno
  source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILE_ATTRIBUTE_DEVICE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: S_IFMT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _S_IFMT
    - item_type: preproc_def
      name: S_IFDIR
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _S_IFDIR
    - item_type: preproc_def
      name: S_IFCHR
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _S_IFCHR
    - item_type: preproc_def
      name: S_IFFIFO
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _S_IFFIFO
    - item_type: preproc_def
      name: S_IFREG
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _S_IFREG
    - item_type: preproc_def
      name: S_IREAD
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _S_IREAD
    - item_type: preproc_def
      name: S_IWRITE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _S_IWRITE
    - item_type: preproc_def
      name: S_IEXEC
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _S_IEXEC
    - item_type: preproc_def
      name: S_IFIFO
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _S_IFIFO
    - item_type: preproc_def
      name: S_IFBLK
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IFLNK
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: (_S_IFDIR | _S_IFREG)
    - item_type: preproc_def
      name: S_IFSOCK
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IRUSR
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: S_IREAD
    - item_type: preproc_def
      name: S_IWUSR
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: S_IWRITE
    - item_type: preproc_def
      name: S_IXUSR
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IRWXU
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: (S_IRUSR | S_IWUSR | S_IXUSR)
    - item_type: preproc_def
      name: S_IRGRP
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IWGRP
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IXGRP
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IRWXG
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: (S_IRGRP | S_IWGRP | S_IXGRP)
    - item_type: preproc_def
      name: S_IROTH
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IWOTH
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IXOTH
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IRWXO
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: (S_IROTH | S_IWOTH | S_IXOTH)
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: MAX_PATH
    - item_type: preproc_def
      name: FILENAME_MAX
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: MAX_PATH
    - item_type: preproc_def
      name: NAME_MAX
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: FILENAME_MAX
    - item_type: preproc_def
      name: DT_UNKNOWN
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DT_REG
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: S_IFREG
    - item_type: preproc_def
      name: DT_DIR
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: S_IFDIR
    - item_type: preproc_def
      name: DT_FIFO
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: S_IFIFO
    - item_type: preproc_def
      name: DT_SOCK
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: S_IFSOCK
    - item_type: preproc_def
      name: DT_CHR
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: S_IFCHR
    - item_type: preproc_def
      name: DT_BLK
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: S_IFBLK
    - item_type: preproc_def
      name: DT_LNK
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: S_IFLNK
    - item_type: preproc_def
      name: wdirent
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _wdirent
    - item_type: preproc_def
      name: WDIR
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _WDIR
    - item_type: preproc_def
      name: wopendir
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _wopendir
    - item_type: preproc_def
      name: wreaddir
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _wreaddir
    - item_type: preproc_def
      name: wclosedir
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _wclosedir
    - item_type: preproc_def
      name: wrewinddir
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _wrewinddir
    - item_type: preproc_def
      name: wtelldir
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _wtelldir
    - item_type: preproc_def
      name: wseekdir
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _wseekdir
    - item_type: preproc_def
      name: wcstombs_s
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: dirent_wcstombs_s
    - item_type: preproc_def
      name: mbstowcs_s
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: dirent_mbstowcs_s
    - item_type: preproc_def
      name: dirent_set_errno
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type_or_value: _set_errno
    structs:
    - fields:
      - name: d_ino
        type: long
      - name: d_off
        type: long
      - name: d_reclen
        type: unsigned short
      - name: d_namlen
        type: size_t
      - name: d_type
        type: int
      - name: d_name[PATH_MAX+1]
        type: wchar_t
      item_type: struct
      name: _wdirent
      pos:
        line_end: 258
        line_start: 240
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    - fields:
      - name: ent
        type: struct _wdirent
      - name: data
        type: WIN32_FIND_DATAW
      - name: cached
        type: int
      - name: invalid
        type: int
      - name: handle
        type: HANDLE
      - name: '*patt'
        type: wchar_t
      item_type: struct
      name: _WDIR
      pos:
        line_end: 279
        line_start: 261
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    - fields:
      - name: d_ino
        type: long
      - name: d_off
        type: long
      - name: d_reclen
        type: unsigned short
      - name: d_namlen
        type: size_t
      - name: d_type
        type: int
      - name: d_name[PATH_MAX+1]
        type: char
      item_type: struct
      name: dirent
      pos:
        line_end: 301
        line_start: 283
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    - fields:
      - name: ent
        type: struct dirent
      - name: '*wdirp'
        type: struct _WDIR
      item_type: struct
      name: DIR
      pos:
        line_end: 307
        line_start: 304
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
    typedefs:
    - item_type: typedef
      name: _wdirent
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type: _wdirent
    - item_type: typedef
      name: _WDIR
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type: _WDIR
    - item_type: typedef
      name: dirent
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type: dirent
    - item_type: typedef
      name: DIR
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/ndpi/src/lib/third_party/include/windows/dirent.h
      type: DIR
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher_wrap.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cipher
        type: mbedtls_cipher_id_t
      - name: "(*ecb_func)( void *ctx, mbedtls_operation_t mode,\n                     const
          unsigned char *input, unsigned char *output )"
        type: int
      - name: "(*setkey_enc_func)( void *ctx, const unsigned char *key,\n                            unsigned
          int key_bitlen )"
        type: int
      - name: "(*setkey_dec_func)( void *ctx, const unsigned char *key,\n                            unsigned
          int key_bitlen)"
        type: int
      - name: '* (*ctx_alloc_func)( void )'
        type: void
      - name: (*ctx_free_func)( void *ctx )
        type: void
      - name: (*ctx_zero_func)( void *ctx )
        type: void
      item_type: struct
      name: mbedtls_cipher_base_t
      pos:
        line_end: 74
        line_start: 36
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher_wrap.h
    - fields:
      - name: type
        type: mbedtls_cipher_type_t
      - name: '*info'
        type: mbedtls_cipher_info_t
      item_type: struct
      name: mbedtls_cipher_definition_t
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher_wrap.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/gcrypt/gcm.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBEDTLS_GCM_ENCRYPT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/gcm.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MBEDTLS_GCM_DECRYPT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/gcm.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MBEDTLS_ERR_GCM_AUTH_FAILED
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/gcm.h
      type_or_value: '-0x0012'
    - item_type: preproc_def
      name: MBEDTLS_ERR_GCM_BAD_INPUT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/gcm.h
      type_or_value: '-0x0014'
    - item_type: preproc_def
      name: MBEDTLS_ERR_GCM_BUFFER_TOO_SMALL
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/gcm.h
      type_or_value: '-0x0016'
    structs:
    - fields:
      - name: cipher_ctx
        type: mbedtls_cipher_context_t
      - name: HL[16]
        type: uint64_t
      - name: HH[16]
        type: uint64_t
      - name: len
        type: uint64_t
      - name: add_len
        type: uint64_t
      - name: base_ectr[16]
        type: unsigned char
      - name: y[16]
        type: unsigned char
      - name: buf[16]
        type: unsigned char
      - name: mode
        type: int
      item_type: struct
      name: mbedtls_gcm_context
      pos:
        line_end: 67
        line_start: 54
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/gcm.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/gcrypt/digest.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HMAC_SHA256_DIGEST_SIZE
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/digest.h
      type_or_value: '32  '
    - item_type: preproc_def
      name: SHA256_DIGEST_SIZE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/digest.h
      type_or_value: '32'
    structs:
    - fields:
      - name: state[8]
        type: uint32_t
      - name: count
        type: uint64_t
      - name: buffer[64]
        type: unsigned char
      item_type: struct
      name: sha256_t
      pos:
        line_end: 18
        line_start: 13
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/digest.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/gcrypt/aesni.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBEDTLS_AESNI_AES
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/aesni.h
      type_or_value: 0x02000000u
    - item_type: preproc_def
      name: MBEDTLS_AESNI_CLMUL
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/aesni.h
      type_or_value: 0x00000002u
    structs: []
    typedefs: []
    union: []
- function_names:
  - bswap_64
  - bswap_64
  - bswap_64
  - bswap_64
  - bswap_64
  - bswap_64
  - bswap_64
  - MBEDTLS_GET_UINT32_LE
  - MBEDTLS_GET_UINT32_BE
  - MBEDTLS_PUT_UINT32_LE
  - MBEDTLS_PUT_UINT64_BE
  - MBEDTLS_GET_UINT32_LE
  - MBEDTLS_GET_UINT32_BE
  - MBEDTLS_PUT_UINT32_LE
  - MBEDTLS_PUT_UINT64_BE
  - MBEDTLS_BYTE_0
  - MBEDTLS_BYTE_1
  - MBEDTLS_BYTE_2
  - MBEDTLS_BYTE_3
  - MBEDTLS_GET_UINT32_BE
  - MBEDTLS_PUT_UINT32_BE
  - MBEDTLS_GET_UINT32_LE
  - MBEDTLS_PUT_UINT32_LE
  - MBEDTLS_GET_UINT16_LE
  - MBEDTLS_PUT_UINT16_LE
  - MBEDTLS_GET_UINT16_BE
  - MBEDTLS_PUT_UINT16_BE
  - MBEDTLS_GET_UINT64_BE
  - MBEDTLS_PUT_UINT64_BE
  - MBEDTLS_GET_UINT64_LE
  - MBEDTLS_PUT_UINT64_LE
  - ROTL8
  - ROTL16
  - ROTL24
  source_file: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __func__
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
      type_or_value: __FUNCTION__
    - item_type: preproc_def
      name: mbedtls_calloc
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
      type_or_value: calloc
    - item_type: preproc_def
      name: mbedtls_free
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/common.h
      type_or_value: free
    structs: []
    typedefs: []
    union: []
- function_names:
  - MBEDTLS_ERROR_ADD
  - mbedtls_error_add
  source_file: /src/ndpi/src/lib/third_party/include/gcrypt/error.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/error.h
      type_or_value: __inline
    - item_type: preproc_def
      name: MBEDTLS_ERR_ERROR_GENERIC_ERROR
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/error.h
      type_or_value: '-0x0001'
    - item_type: preproc_def
      name: MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/error.h
      type_or_value: '-0x006E'
    - item_type: preproc_def
      name: MBEDTLS_ERR_PLATFORM_HW_ACCEL_FAILED
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/error.h
      type_or_value: '-0x0070'
    - item_type: preproc_def
      name: MBEDTLS_ERR_PLATFORM_FEATURE_UNSUPPORTED
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/error.h
      type_or_value: '-0x0072'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mbedtls_cipher_info_get_type
  - mbedtls_cipher_info_get_mode
  - mbedtls_cipher_info_get_key_bitlen
  - mbedtls_cipher_info_get_name
  - mbedtls_cipher_info_get_iv_size
  - mbedtls_cipher_info_get_block_size
  - mbedtls_cipher_info_has_variable_key_bitlen
  - mbedtls_cipher_info_has_variable_iv_size
  - mbedtls_cipher_get_block_size
  - mbedtls_cipher_get_cipher_mode
  - mbedtls_cipher_get_iv_size
  - mbedtls_cipher_get_type
  - mbedtls_cipher_get_name
  - mbedtls_cipher_get_key_bitlen
  - mbedtls_cipher_get_operation
  source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: __inline
    - item_type: preproc_def
      name: MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '-0x6080'
    - item_type: preproc_def
      name: MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '-0x6100'
    - item_type: preproc_def
      name: MBEDTLS_ERR_CIPHER_ALLOC_FAILED
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '-0x6180'
    - item_type: preproc_def
      name: MBEDTLS_ERR_CIPHER_INVALID_PADDING
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '-0x6200'
    - item_type: preproc_def
      name: MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '-0x6280'
    - item_type: preproc_def
      name: MBEDTLS_ERR_CIPHER_AUTH_FAILED
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '-0x6300'
    - item_type: preproc_def
      name: MBEDTLS_ERR_CIPHER_INVALID_CONTEXT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '-0x6380'
    - item_type: preproc_def
      name: MBEDTLS_CIPHER_VARIABLE_IV_LEN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '0x01    '
    - item_type: preproc_def
      name: MBEDTLS_CIPHER_VARIABLE_KEY_LEN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '0x02    '
    - item_type: preproc_def
      name: MBEDTLS_MAX_IV_LENGTH
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MBEDTLS_MAX_BLOCK_LENGTH
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MBEDTLS_MAX_KEY_LENGTH
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type_or_value: '32'
    structs:
    - fields:
      - name: type
        type: mbedtls_cipher_type_t
      - name: mode
        type: mbedtls_cipher_mode_t
      - name: key_bitlen
        type: unsigned int
      - name: '* name'
        type: char
      - name: iv_size
        type: unsigned int
      - name: flags
        type: int
      - name: block_size
        type: unsigned int
      - name: '*base'
        type: mbedtls_cipher_base_t
      item_type: struct
      name: mbedtls_cipher_info_t
      pos:
        line_end: 307
        line_start: 270
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    - fields:
      - name: '*cipher_info'
        type: mbedtls_cipher_info_t
      - name: key_bitlen
        type: int
      - name: operation
        type: mbedtls_operation_t
      - name: unprocessed_data[MBEDTLS_MAX_BLOCK_LENGTH]
        type: unsigned char
      - name: unprocessed_len
        type: size_t
      - name: iv[MBEDTLS_MAX_IV_LENGTH]
        type: unsigned char
      - name: iv_size
        type: size_t
      - name: '*cipher_ctx'
        type: void
      item_type: struct
      name: mbedtls_cipher_context_t
      pos:
        line_end: 344
        line_start: 312
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
    typedefs:
    - item_type: typedef
      name: mbedtls_cipher_base_t
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type: mbedtls_cipher_base_t
    - item_type: typedef
      name: mbedtls_cmac_context_t
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/cipher.h
      type: mbedtls_cmac_context_t
    union: []
- function_names: []
  source_file: /src/ndpi/src/lib/third_party/include/gcrypt/aes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBEDTLS_AES_ENCRYPT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/aes.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: MBEDTLS_AES_DECRYPT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/aes.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: MBEDTLS_ERR_AES_INVALID_KEY_LENGTH
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/aes.h
      type_or_value: '-0x0020'
    - item_type: preproc_def
      name: MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/aes.h
      type_or_value: '-0x0022'
    - item_type: preproc_def
      name: MBEDTLS_ERR_AES_BAD_INPUT_DATA
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/aes.h
      type_or_value: '-0x0021'
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/aes.h
      type_or_value: __inline
    structs:
    - fields:
      - name: nr
        type: int
      - name: '*rk'
        type: uint32_t
      - name: buf[68]
        type: uint32_t
      item_type: struct
      name: mbedtls_aes_context
      pos:
        line_end: 85
        line_start: 73
        source_file: /src/ndpi/src/lib/third_party/include/gcrypt/aes.h
    typedefs: []
    union: []
- function_names:
  - ndpi_search_nats_tcp
  - init_nats_dissector
  source_file: /src/ndpi/src/lib/protocols/nats.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/nats.c
      type_or_value: NDPI_PROTOCOL_NATS
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_roughtime_add_connection
  - ndpi_search_roughtime
  - init_roughtime_dissector
  source_file: /src/ndpi/src/lib/protocols/roughtime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/roughtime.c
      type_or_value: NDPI_PROTOCOL_ROUGHTIME
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_hamachi_add_connection
  - search_hamachi_tcp
  - search_hamachi_udp
  - ndpi_search_hamachi
  - init_hamachi_dissector
  source_file: /src/ndpi/src/lib/protocols/hamachi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/hamachi.c
      type_or_value: NDPI_PROTOCOL_HAMACHI
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_nfs_add_connection
  - ndpi_search_nfs
  - init_nfs_dissector
  source_file: /src/ndpi/src/lib/protocols/nfs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/nfs.c
      type_or_value: NDPI_PROTOCOL_NFS
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_crynet_add_connection
  - ndpi_search_crynet
  - init_crynet_dissector
  source_file: /src/ndpi/src/lib/protocols/crynet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/crynet.c
      type_or_value: NDPI_PROTOCOL_CRYNET
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_nano_add_connection
  - ndpi_search_nano
  - init_nano_dissector
  source_file: /src/ndpi/src/lib/protocols/nano.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/nano.c
      type_or_value: NDPI_PROTOCOL_NANO
    - item_type: preproc_def
      name: NANO_MIN_PROTOCOL_VER
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/nano.c
      type_or_value: '18'
    - item_type: preproc_def
      name: NANO_MAX_PROTOCOL_VER
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/src/lib/protocols/nano.c
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_check_hcl_notes
  - ndpi_search_hcl_notes
  - init_hcl_notes_dissector
  source_file: /src/ndpi/src/lib/protocols/hcl_notes.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/hcl_notes.c
      type_or_value: NDPI_PROTOCOL_HCL_NOTES
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_matter
  - init_matter_dissector
  source_file: /src/ndpi/src/lib/protocols/matter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/matter.c
      type_or_value: NDPI_PROTOCOL_MATTER
    structs: []
    typedefs: []
    union: []
- function_names:
  - ts_header
  - ndpi_int_tristation_add_connection
  - ndpi_search_tristation
  - init_tristation_dissector
  source_file: /src/ndpi/src/lib/protocols/tristation.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/tristation.c
      type_or_value: NDPI_PROTOCOL_TRISTATION
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_profinet_io_add_connection
  - ndpi_search_profinet_io
  - init_profinet_io_dissector
  source_file: /src/ndpi/src/lib/protocols/profinet_io.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/profinet_io.c
      type_or_value: NDPI_PROTOCOL_PROFINET_IO
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_mpegdash_add_connection
  - ndpi_search_mpegdash_http
  - init_mpegdash_dissector
  source_file: /src/ndpi/src/lib/protocols/mpegdash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/mpegdash.c
      type_or_value: NDPI_PROTOCOL_MPEGDASH
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_checkmk_add_connection
  - ndpi_search_checkmk
  - init_checkmk_dissector
  source_file: /src/ndpi/src/lib/protocols/checkmk.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/checkmk.c
      type_or_value: NDPI_PROTOCOL_CHECKMK
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_check_radius
  - ndpi_search_radius
  - init_radius_dissector
  source_file: /src/ndpi/src/lib/protocols/radius_proto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/radius_proto.c
      type_or_value: NDPI_PROTOCOL_RADIUS
    - item_type: preproc_def
      name: RADIUS_PORT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/radius_proto.c
      type_or_value: '1812'
    - item_type: preproc_def
      name: RADIUS_PORT_ACC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/radius_proto.c
      type_or_value: '1813'
    - item_type: preproc_def
      name: RADIUS_PORT_ACC_ALTERNATIVE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/protocols/radius_proto.c
      type_or_value: '18013'
    structs:
    - fields:
      - name: code
        type: u_int8_t
      - name: packet_id
        type: u_int8_t
      - name: len
        type: u_int16_t
      item_type: struct
      name: radius_header
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/radius_proto.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_among_us_add_connection
  - ndpi_search_among_us
  - init_among_us_dissector
  source_file: /src/ndpi/src/lib/protocols/among_us.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/among_us.c
      type_or_value: NDPI_PROTOCOL_AMONG_US
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_monero_add_connection
  - ndpi_search_monero
  - init_monero_dissector
  source_file: /src/ndpi/src/lib/protocols/monero.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/monero.c
      type_or_value: NDPI_PROTOCOL_MONERO
    structs: []
    typedefs: []
    union: []
- function_names:
  - forge_attempt_msg
  - ndpi_set_binary_data_transfer
  - ndpi_set_binary_application_transfer
  - ndpi_analyze_content_signature
  - ndpi_search_http_tcp_again
  - ndpi_http_is_print
  - ndpi_http_check_human_redeable_content
  - ndpi_validate_http_content
  - update_category_and_breed
  - ndpi_http_check_content
  - ndpi_int_http_add_connection
  - setHttpUserAgent
  - ndpi_http_parse_subprotocol
  - ndpi_check_user_agent
  - http_process_user_agent
  - ndpi_check_numeric_ip
  - ndpi_check_http_url
  - ndpi_check_http_url_subprotocol
  - ndpi_check_http_server
  - check_content_type_and_change_protocol
  - non_ctrl
  - STATIC_STRING_L
  - http_request_url_offset
  - is_a_suspicious_header
  - ndpi_check_http_header
  - parse_response_code
  - is_request
  - is_response
  - process_request
  - process_response
  - reset
  - ndpi_check_http_tcp
  - ndpi_search_http_tcp
  - init_http_dissector
  source_file: /src/ndpi/src/lib/protocols/http.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/http.c
      type_or_value: NDPI_PROTOCOL_HTTP
    - item_type: preproc_def
      name: ATTACHMENT_LEN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/src/lib/protocols/http.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MIN_APACHE_VERSION
      pos:
        line_end: 996
        line_start: 995
        source_file: /src/ndpi/src/lib/protocols/http.c
      type_or_value: '2004000 '
    - item_type: preproc_def
      name: MIN_NGINX_VERSION
      pos:
        line_end: 997
        line_start: 996
        source_file: /src/ndpi/src/lib/protocols/http.c
      type_or_value: '1022000 '
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: len
        type: size_t
      item_type: struct
      name: l_string
      pos:
        line_end: 1381
        line_start: 1378
        source_file: /src/ndpi/src/lib/protocols/http.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_nintendo_add_connection
  - ndpi_search_nintendo
  - init_nintendo_dissector
  source_file: /src/ndpi/src/lib/protocols/nintendo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/nintendo.c
      type_or_value: NDPI_PROTOCOL_NINTENDO
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_lagofast_add_connection
  - ndpi_search_lagofast
  - init_lagofast_dissector
  source_file: /src/ndpi/src/lib/protocols/lagofast.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/lagofast.c
      type_or_value: NDPI_PROTOCOL_LAGOFAST
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_tuya_lp_add_connection
  - ndpi_search_tuya_lp
  - init_tuya_lp_dissector
  source_file: /src/ndpi/src/lib/protocols/tuya_lp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/tuya_lp.c
      type_or_value: NDPI_PROTOCOL_TUYA_LP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_raknet_add_connection
  - raknet_dissect_ip
  - is_custom_version
  - exclude_proto
  - ndpi_search_raknet
  - init_raknet_dissector
  source_file: /src/ndpi/src/lib/protocols/raknet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/raknet.c
      type_or_value: NDPI_PROTOCOL_RAKNET
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_someip_add_connection
  - someip_data_cover_32
  - ndpi_search_someip
  - init_someip_dissector
  source_file: /src/ndpi/src/lib/protocols/someip.c
  types:
    enum:
    - enumerators:
      - name: SOMEIP_REQUEST
        value: '0x00'
      - name: SOMEIP_REQUEST_NO_RETURN_ACK
        value: '0x41'
      - name: SOMEIP_REQUEST_NO_RETURN
        value: '0x01'
      - name: SOMEIP_REQUEST_ACK
        value: '0x40'
      - name: SOMEIP_NOTIFICATION
        value: '0x02'
      - name: SOMEIP_NOTIFICATION_ACK
        value: '0x42'
      - name: SOMEIP_RESPONSE
        value: '0x80'
      - name: SOMEIP_ERROR
        value: '0x81'
      - name: SOMEIP_RESPONSE_ACK
        value: '0xc0'
      - name: SOMEIP_ERROR_ACK
        value: '0xc1'
      item_type: enum
      name: SOMEIP_MESSAGE_TYPES
      pos:
        line_end: 41
        line_start: 30
        source_file: /src/ndpi/src/lib/protocols/someip.c
    - enumerators:
      - name: E_OK
        value: '0x00'
      - name: E_NOT_READY
        value: '0x04'
      - name: E_UNKNOWN_SERVICE
        value: '0x02'
      - name: E_UNKNOWN_METHOD
        value: '0x03'
      - name: E_NOT_OK
        value: '0x01'
      - name: E_NOT_REACHABLE
        value: '0x05'
      - name: E_TIMEOUT
        value: '0x06'
      - name: E_WRONG_PROTOCOL_VERSION
        value: '0x07'
      - name: E_WRONG_INTERFACE_VERSION
        value: '0x08'
      - name: E_MALFORMED_MESSAGE
        value: '0x09'
      - name: E_WRONG_MESSAGE_TYPE
        value: '0x0a'
      - name: E_RETURN_CODE_LEGAL_THRESHOLD
        value: '0x40'
      item_type: enum
      name: SOMEIP_RETURN_CODES
      pos:
        line_end: 56
        line_start: 43
        source_file: /src/ndpi/src/lib/protocols/someip.c
    - enumerators:
      - name: MSG_MAGIC_COOKIE
        value: '0xffff0000'
      - name: MSG_MAGIC_COOKIE_ACK
        value: '0xffff8000'
      - name: MSG_SD
        value: '0xffff8100'
      item_type: enum
      name: SPECIAL_MESSAGE_IDS
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/ndpi/src/lib/protocols/someip.c
    - enumerators:
      - name: LEGAL_PROTOCOL_VERSION
        value: '0x01'
      item_type: enum
      name: PROTOCOL_VERSION
      pos:
        line_end: 66
        line_start: 64
        source_file: /src/ndpi/src/lib/protocols/someip.c
    - enumerators:
      - name: MC_REQUEST_ID
        value: '0xDEADBEEF'
      - name: MC_LENGTH
        value: '0x08'
      - name: MC_INTERFACE_VERSION
        value: '0x01'
      item_type: enum
      name: MAGIC_COOKIE_CONSTANTS
      pos:
        line_end: 72
        line_start: 68
        source_file: /src/ndpi/src/lib/protocols/someip.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/someip.c
      type_or_value: NDPI_PROTOCOL_SOMEIP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_oracle_add_connection
  - ndpi_search_oracle
  - init_oracle_dissector
  source_file: /src/ndpi/src/lib/protocols/oracle.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/oracle.c
      type_or_value: NDPI_PROTOCOL_ORACLE
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_yojimbo_add_connection
  - ndpi_search_yojimbo
  - init_yojimbo_dissector
  source_file: /src/ndpi/src/lib/protocols/yojimbo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/yojimbo.c
      type_or_value: NDPI_PROTOCOL_YOJIMBO
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_ceph
  - init_ceph_dissector
  source_file: /src/ndpi/src/lib/protocols/ceph.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/ceph.c
      type_or_value: NDPI_PROTOCOL_CEPH
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_cnp_ip_add_connection
  - ndpi_search_cnp_ip
  - init_cnp_ip_dissector
  source_file: /src/ndpi/src/lib/protocols/cnp-ip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/cnp-ip.c
      type_or_value: NDPI_PROTOCOL_CNP_IP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_check_vxlan
  - ndpi_search_vxlan
  - init_vxlan_dissector
  source_file: /src/ndpi/src/lib/protocols/vxlan.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/vxlan.c
      type_or_value: NDPI_PROTOCOL_VXLAN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_epicgames_add_connection
  - ndpi_search_epicgames
  - init_epicgames_dissector
  source_file: /src/ndpi/src/lib/protocols/epicgames.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/epicgames.c
      type_or_value: NDPI_PROTOCOL_EPICGAMES
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_paltalk_add_connection
  - ndpi_search_paltalk
  - init_paltalk_dissector
  source_file: /src/ndpi/src/lib/protocols/paltalk.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/paltalk.c
      type_or_value: NDPI_PROTOCOL_PALTALK
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_h323_add_connection
  - ndpi_search_h323
  - init_h323_dissector
  source_file: /src/ndpi/src/lib/protocols/h323.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/h323.c
      type_or_value: NDPI_PROTOCOL_H323
    structs: []
    typedefs: []
    union: []
- function_names:
  - GET_SEQ_SIZE
  - GET_SEQ
  - ndpi_int_whatsapp_add_connection
  - ndpi_int_match_whatsapp_sequence
  - ndpi_search_whatsapp
  - init_whatsapp_dissector
  source_file: /src/ndpi/src/lib/protocols/whatsapp.c
  types:
    enum:
    - enumerators:
      - name: WA_SEQ_NEW
        value: '0'
      - name: WA_SEQ_COUNT
      - name: WA_SEQ_OLD
      - name: WA_SEQ_VERY_OLD
      item_type: enum
      name: whatsapp_sequence_id
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/whatsapp.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/whatsapp.c
      type_or_value: NDPI_PROTOCOL_WHATSAPP
    - item_type: preproc_def
      name: sequence
      pos:
        line_end: 28
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/whatsapp.c
      type_or_value: = seq }
    structs:
    - fields:
      - name: sequence_size
        type: size_t
      - name: '* const sequence'
        type: char
      item_type: struct
      name: whatsapp_sequence
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/whatsapp.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_kismet_add_connection
  - ndpi_search_kismet
  - init_kismet_dissector
  source_file: /src/ndpi/src/lib/protocols/kismet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/kismet.c
      type_or_value: NDPI_PROTOCOL_KISMET
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_cpha
  - init_cpha_dissector
  source_file: /src/ndpi/src/lib/protocols/cpha.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/cpha.c
      type_or_value: NDPI_PROTOCOL_CPHA
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_syslog_add_connection
  - ndpi_search_syslog
  - init_syslog_dissector
  source_file: /src/ndpi/src/lib/protocols/syslog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/syslog.c
      type_or_value: NDPI_PROTOCOL_SYSLOG
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_hl7
  - init_hl7_dissector
  source_file: /src/ndpi/src/lib/protocols/hl7.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/hl7.c
      type_or_value: NDPI_PROTOCOL_HL7
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_pfcp
  - init_pfcp_dissector
  source_file: /src/ndpi/src/lib/protocols/pfcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/pfcp.c
      type_or_value: NDPI_PROTOCOL_PFCP
    structs: []
    typedefs: []
    union: []
- function_names:
  - P_HARD_RESET_PACKET_ID_OFFSET
  - P_PACKET_ID_ARRAY_LEN_OFFSET
  - ndpi_int_openvpn_add_connection
  - is_opcode_valid
  - get_packet_id
  - check_for_valid_hmac
  - detect_hmac_size
  - search_standard
  - search_heur_opcode_common
  - search_heur_opcode
  - ndpi_search_openvpn
  - init_openvpn_dissector
  source_file: /src/ndpi/src/lib/protocols/openvpn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: NDPI_PROTOCOL_OPENVPN
    - item_type: preproc_def
      name: P_CONTROL_HARD_RESET_CLIENT_V1
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: (0x01 << 3)
    - item_type: preproc_def
      name: P_CONTROL_HARD_RESET_SERVER_V1
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: (0x02 << 3)
    - item_type: preproc_def
      name: P_CONTROL_V1
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: (0x04 << 3)
    - item_type: preproc_def
      name: P_ACK_V1
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: (0x05 << 3)
    - item_type: preproc_def
      name: P_CONTROL_HARD_RESET_CLIENT_V2
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: (0x07 << 3)
    - item_type: preproc_def
      name: P_CONTROL_HARD_RESET_SERVER_V2
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: (0x08 << 3)
    - item_type: preproc_def
      name: P_CONTROL_HARD_RESET_CLIENT_V3
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: (0x0A << 3)
    - item_type: preproc_def
      name: P_CONTROL_WKC_V1
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: (0x0B << 3)
    - item_type: preproc_def
      name: P_OPCODE_MASK
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: '0xF8'
    - item_type: preproc_def
      name: P_SHA1_HMAC_SIZE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: '20'
    - item_type: preproc_def
      name: P_HMAC_128
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: 16                            // (RSA-)MD5, (RSA-)MD4, ..others
    - item_type: preproc_def
      name: P_HMAC_160
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: 20                            // (RSA-|DSA-)SHA(1), ..others,
        SHA1 is openvpn default
    - item_type: preproc_def
      name: P_HMAC_NONE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/src/lib/protocols/openvpn.c
      type_or_value: 0                            // No HMAC
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_dlep_add_connection
  - ndpi_search_dlep
  - init_dlep_dissector
  source_file: /src/ndpi/src/lib/protocols/dlep.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/dlep.c
      type_or_value: NDPI_PROTOCOL_DLEP
    structs: []
    typedefs: []
    union: []
- function_names:
  - dump_bt_proto_struct
  - _print_safe_str
  - print_safe_str
  - DEBUG_TRACE
  - DEBUG_TRACE
  - STREQ
  - cb_data
  - bt_decode
  source_file: /src/ndpi/src/lib/protocols/btlib.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_wsd
  - init_wsd_dissector
  source_file: /src/ndpi/src/lib/protocols/wsd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/protocols/wsd.c
      type_or_value: NDPI_PROTOCOL_WSD
    - item_type: preproc_def
      name: WSD_PORT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/protocols/wsd.c
      type_or_value: '3702'
    structs: []
    typedefs: []
    union: []
- function_names:
  - krb_decode_asn1_length
  - krb_decode_asn1_sequence_type
  - krb_decode_asn1_string_type
  - krb_decode_asn1_int_type
  - krb_decode_asn1_blocks_skip
  - krb_strncpy_lower
  - krb_parse
  - ndpi_int_kerberos_add_connection
  - ndpi_search_kerberos
  - ndpi_search_kerberos_extra
  - init_kerberos_dissector
  source_file: /src/ndpi/src/lib/protocols/kerberos.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/kerberos.c
      type_or_value: NDPI_PROTOCOL_KERBEROS
    - item_type: preproc_def
      name: KERBEROS_PORT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/kerberos.c
      type_or_value: '88'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ripe_atlas_add_connection
  - ndpi_search_ripe_atlas
  - init_ripe_atlas_dissector
  source_file: /src/ndpi/src/lib/protocols/ripe_atlas.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/ripe_atlas.c
      type_or_value: NDPI_PROTOCOL_RIPE_ATLAS
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_cod_mobile_add_connection
  - ndpi_search_cod_mobile
  - init_cod_mobile_dissector
  source_file: /src/ndpi/src/lib/protocols/cod_mobile.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/cod_mobile.c
      type_or_value: NDPI_PROTOCOL_COD_MOBILE
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_snmp_add_connection
  - ndpi_search_snmp_again
  - ndpi_search_snmp
  - init_snmp_dissector
  source_file: /src/ndpi/src/lib/protocols/snmp_proto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/snmp_proto.c
      type_or_value: NDPI_PROTOCOL_SNMP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ptpv2_add_connection
  - ndpi_search_ptpv2_udp
  - init_ptpv2_dissector
  source_file: /src/ndpi/src/lib/protocols/ptpv2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/ptpv2.c
      type_or_value: NDPI_PROTOCOL_PTPV2
    - item_type: preproc_def
      name: PTP_EVENT_MSG_PORT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/ptpv2.c
      type_or_value: '319'
    - item_type: preproc_def
      name: PTP_GENERAL_MSG_PORT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/ptpv2.c
      type_or_value: '320'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_z3950_add_connection
  - z3950_parse_sequences
  - ndpi_search_z3950
  - init_z3950_dissector
  source_file: /src/ndpi/src/lib/protocols/z3950.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/z3950.c
      type_or_value: NDPI_PROTOCOL_Z3950
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_imo_add_connection
  - ndpi_search_imo
  - init_imo_dissector
  source_file: /src/ndpi/src/lib/protocols/imo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/imo.c
      type_or_value: NDPI_PROTOCOL_IMO
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_openflow_add_connection
  - ndpi_search_openflow
  - init_openflow_dissector
  source_file: /src/ndpi/src/lib/protocols/openflow.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/openflow.c
      type_or_value: NDPI_PROTOCOL_OPENFLOW
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_teamview_add_connection
  - ndpi_search_teamview
  - init_teamviewer_dissector
  source_file: /src/ndpi/src/lib/protocols/teamviewer.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/teamviewer.c
      type_or_value: NDPI_PROTOCOL_TEAMVIEWER
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_hots_add_connection
  - ndpi_search_hots
  - init_hots_dissector
  source_file: /src/ndpi/src/lib/protocols/hots.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/hots.c
      type_or_value: NDPI_PROTOCOL_HOTS
    structs: []
    typedefs: []
    union: []
- function_names:
  - thrift_strict_hdr
  - thrift_compact_hdr
  - ndpi_int_thrift_add_connection
  - thrift_validate_method
  - thrift_validate_version
  - thrift_validate_type
  - thrift_set_method
  - thrift_set_type
  - ndpi_dissect_strict_hdr
  - ndpi_dissect_compact_hdr
  - ndpi_search_thrift_tcp_udp
  - init_apache_thrift_dissector
  source_file: /src/ndpi/src/lib/protocols/thrift.c
  types:
    enum:
    - enumerators:
      - name: TMT_INVALID_TMESSAGE_TYPE
        value: '0'
      - name: TMT_ONEWAY
        value: '4'
      - name: TMT_REPLY
        value: '2'
      - name: TMT_CALL
        value: '1'
      - name: TMT_EXCEPTION
        value: '3'
      - name: TMT_TYPE_MAX
      item_type: enum
      name: thrift_message_type
      pos:
        line_end: 71
        line_start: 64
        source_file: /src/ndpi/src/lib/protocols/thrift.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/thrift.c
      type_or_value: NDPI_PROTOCOL_APACHE_THRIFT
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '* const ptr'
        type: uint8_t
      - name: '* const str'
        type: char
      item_type: union
      name: m = { .str = method }
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/ndpi/src/lib/protocols/thrift.c
    - fields:
      - name: '* const raw_ptr'
        type: uint8_t
      - name: '* const strict_hdr'
        type: struct thrift_strict_hdr
      - name: '* const compact_hdr'
        type: struct thrift_compact_hdr
      item_type: union
      name: thrift_data = { .raw_ptr = &packet->payload[0] }
      pos:
        line_end: 230
        line_start: 226
        source_file: /src/ndpi/src/lib/protocols/thrift.c
- function_names:
  - xiaomi_dissect_metadata
  - ndpi_search_xiaomi
  - init_xiaomi_dissector
  source_file: /src/ndpi/src/lib/protocols/xiaomi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/xiaomi.c
      type_or_value: NDPI_PROTOCOL_XIAOMI
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_bjnp_add_connection
  - ndpi_check_bjnp
  - ndpi_search_bjnp
  - init_bjnp_dissector
  source_file: /src/ndpi/src/lib/protocols/bjnp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/ndpi/src/lib/protocols/bjnp.c
      type_or_value: NDPI_PROTOCOL_BJNP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_capwap_add_connection
  - is_capwap_multicast
  - ndpi_search_setup_capwap
  - ndpi_search_capwap
  - init_capwap_dissector
  source_file: /src/ndpi/src/lib/protocols/capwap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/capwap.c
      type_or_value: NDPI_PROTOCOL_CAPWAP
    - item_type: preproc_def
      name: NDPI_CAPWAP_CONTROL_PORT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/capwap.c
      type_or_value: '5246'
    - item_type: preproc_def
      name: NDPI_CAPWAP_DATA_PORT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/protocols/capwap.c
      type_or_value: '5247'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_afp_add_connection
  - ndpi_search_afp
  - init_afp_dissector
  source_file: /src/ndpi/src/lib/protocols/afp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/afp.c
      type_or_value: NDPI_PROTOCOL_AFP
    structs:
    - fields:
      - name: flags
        type: u_int8_t
      - name: requestId
        type: u_int16_t
      - name: dataOffset
        type: u_int32_t
      item_type: struct
      name: afpHeader
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/afp.c
    typedefs: []
    union: []
- function_names:
  - ndpi_search_ethersio
  - init_ethersio_dissector
  source_file: /src/ndpi/src/lib/protocols/ethersio.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/ethersio.c
      type_or_value: NDPI_PROTOCOL_ETHERSIO
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_trdp_add_connection
  - ndpi_search_trdp
  - init_trdp_dissector
  source_file: /src/ndpi/src/lib/protocols/trdp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/trdp.c
      type_or_value: NDPI_PROTOCOL_TRDP
    - item_type: preproc_def
      name: TRDP_MD_HDR_LEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/trdp.c
      type_or_value: '116'
    - item_type: preproc_def
      name: TRDP_PD_HDR_LEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/trdp.c
      type_or_value: '40'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_vmware
  - init_vmware_dissector
  source_file: /src/ndpi/src/lib/protocols/vmware.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/vmware.c
      type_or_value: NDPI_PROTOCOL_VMWARE
    structs: []
    typedefs: []
    union: []
- function_names:
  - raft_header
  - ndpi_int_raft_add_connection
  - ndpi_search_raft
  - init_raft_dissector
  source_file: /src/ndpi/src/lib/protocols/raft.c
  types:
    enum:
    - enumerators:
      - name: RAFT_IO_APPEND_ENTRIES
        value: '1'
      - name: RAFT_IO_REQUEST_VOTE
      - name: RAFT_IO_APPEND_ENTRIES_RESULT
      - name: RAFT_IO_INSTALL_SNAPSHOT
      - name: RAFT_IO_REQUEST_VOTE_RESULT
      - name: RAFT_IO_TIMEOUT_NOW
      item_type: enum
      name: raft_header_type
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/raft.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/protocols/raft.c
      type_or_value: NDPI_PROTOCOL_RAFT
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_smpp_add_connection
  - ndpi_check_overflow
  - ndpi_search_smpp_tcp
  - init_smpp_dissector
  source_file: /src/ndpi/src/lib/protocols/smpp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/protocols/smpp.c
      type_or_value: NDPI_PROTOCOL_SMPP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_tftp_add_connection
  - tftp_dissect_szstr
  - tftp_dissect_mode
  - tftp_dissect_options
  - ndpi_search_tftp
  - init_tftp_dissector
  source_file: /src/ndpi/src/lib/protocols/tftp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/tftp.c
      type_or_value: NDPI_PROTOCOL_TFTP
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '* const as_ptr'
        type: uint8_t
      - name: '* const as_str'
        type: char
      item_type: union
      name: payload = { .as_ptr = packet->payload + *offset }
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/ndpi/src/lib/protocols/tftp.c
- function_names:
  - ndpi_search_gearman
  - init_gearman_dissector
  source_file: /src/ndpi/src/lib/protocols/gearman.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/gearman.c
      type_or_value: NDPI_PROTOCOL_GEARMAN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_kakaotalk_voice
  - init_kakaotalk_voice_dissector
  source_file: /src/ndpi/src/lib/protocols/kakaotalk_voice.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/kakaotalk_voice.c
      type_or_value: NDPI_PROTOCOL_KAKAOTALK_VOICE
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_sip_add_connection
  - search_cmd
  - get_imsi
  - metadata_enabled
  - search_metadata
  - ndpi_search_sip
  - init_sip_dissector
  source_file: /src/ndpi/src/lib/protocols/sip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/sip.c
      type_or_value: NDPI_PROTOCOL_SIP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_nexon_add_connection
  - ndpi_search_nexon
  - init_nexon_dissector
  source_file: /src/ndpi/src/lib/protocols/nexon.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/nexon.c
      type_or_value: NDPI_PROTOCOL_NEXON
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_lustre_add_connection
  - ndpi_search_lustre
  - init_lustre_dissector
  source_file: /src/ndpi/src/lib/protocols/lustre.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/lustre.c
      type_or_value: NDPI_PROTOCOL_LUSTRE
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_cip
  - init_cip_dissector
  source_file: /src/ndpi/src/lib/protocols/cip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/protocols/cip.c
      type_or_value: NDPI_PROTOCOL_CIP
    - item_type: preproc_def
      name: CIP_IO_PORT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/cip.c
      type_or_value: '2222'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_ookla_key
  - ookla_search_into_cache
  - ookla_add_to_cache
  - ndpi_search_ookla
  - init_ookla_dissector
  source_file: /src/ndpi/src/lib/protocols/ookla.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/ookla.c
      type_or_value: NDPI_PROTOCOL_OOKLA
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_nest_log_sink
  - init_nest_log_sink_dissector
  source_file: /src/ndpi/src/lib/protocols/nest_log_sink.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/nest_log_sink.c
      type_or_value: NDPI_PROTOCOL_NEST_LOG_SINK
    - item_type: preproc_def
      name: NEST_LOG_SINK_PORT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/nest_log_sink.c
      type_or_value: '11095'
    - item_type: preproc_def
      name: NEST_LOG_SINK_MIN_LEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/nest_log_sink.c
      type_or_value: '8'
    - item_type: preproc_def
      name: NEST_LOG_SINK_MIN_MATCH
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/nest_log_sink.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_discord_add_connection
  - ndpi_search_discord
  - init_discord_dissector
  source_file: /src/ndpi/src/lib/protocols/discord.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/discord.c
      type_or_value: NDPI_PROTOCOL_DISCORD
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_icecast_add_connection
  - ndpi_search_icecast_tcp
  - init_icecast_dissector
  source_file: /src/ndpi/src/lib/protocols/icecast.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/icecast.c
      type_or_value: NDPI_PROTOCOL_ICECAST
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_vnc_tcp
  - init_vnc_dissector
  source_file: /src/ndpi/src/lib/protocols/vnc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/protocols/vnc.c
      type_or_value: NDPI_PROTOCOL_VNC
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_modbus_tcp
  - init_modbus_dissector
  source_file: /src/ndpi/src/lib/protocols/modbus.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/modbus.c
      type_or_value: NDPI_PROTOCOL_MODBUS
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_ether_cache_connection
  - ndpi_ether_is_discv4
  - ndpi_search_ethereum_udp
  - ndpi_is_ether_port
  - ndpi_search_ethereum_tcp
  - ndpi_search_ethereum
  - init_ethereum_dissector
  source_file: /src/ndpi/src/lib/protocols/ethereum.c
  types:
    enum:
    - enumerators:
      - name: DISC_PING
        value: '0x01'
      - name: DISC_NEIGHBOURS
        value: '0x04'
      - name: DISC_ENRREQUEST
        value: '0x05'
      - name: DISC_FINDNODE
        value: '0x03'
      - name: DISC_PONG
        value: '0x02'
      - name: DISC_ENRRESPONSE
        value: '0x06'
      item_type: enum
      name: ether_disc_packet_type
      pos:
        line_end: 34
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/ethereum.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/ethereum.c
      type_or_value: NDPI_PROTOCOL_ETHEREUM
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_valid_rtp_payload_type
  - rtp_get_stream_type
  - is_valid_rtcp_payload_type
  - is_rtp_or_rtcp
  - get_rtp_info
  - keep_extra_dissection
  - rtp_search_again
  - ndpi_int_rtp_add_connection
  - ndpi_rtp_search
  - ndpi_search_rtp_tcp
  - ndpi_search_rtp_udp
  - ndpi_search_rtp
  - init_rtp_dissector
  source_file: /src/ndpi/src/lib/protocols/rtp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/rtp.c
      type_or_value: NDPI_PROTOCOL_RTP
    - item_type: preproc_def
      name: RTP_MIN_HEADER
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/rtp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: RTCP_MIN_HEADER
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/rtp.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_protobuf_add_connection
  - protobuf_dissect_tag
  - protobuf_dissect_varint
  - ndpi_search_protobuf
  - init_protobuf_dissector
  source_file: /src/ndpi/src/lib/protocols/protobuf.c
  types:
    enum:
    - enumerators:
      - name: PT_INVALID
        value: '-1'
      - name: PT_VARINT
        value: '0'
      - name: PT_SGROUP
      - name: PT_LEN
      - name: PT_I64
      - name: PT_EGROUP
      - name: PT_I32
      item_type: enum
      name: protobuf_type
      pos:
        line_end: 44
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/protobuf.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/protobuf.c
      type_or_value: NDPI_PROTOCOL_PROTOBUF
    - item_type: preproc_def
      name: PROTOBUF_MIN_ELEMENTS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/protobuf.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PROTOBUF_MAX_ELEMENTS
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/protobuf.c
      type_or_value: '32'
    - item_type: preproc_def
      name: PROTOBUF_REQUIRED_ELEMENTS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/protocols/protobuf.c
      type_or_value: '8'
    - item_type: preproc_def
      name: PROTOBUF_MIN_PACKETS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/src/lib/protocols/protobuf.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PROTOBUF_MAX_PACKETS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/protobuf.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: as_i64
        type: int64_t
      - name: as_u64
        type: uint64_t
      - name: as_double
        type: double
      item_type: union
      name: value
      pos:
        line_end: 161
        line_start: 157
        source_file: /src/ndpi/src/lib/protocols/protobuf.c
    - fields:
      - name: as_i32
        type: int32_t
      - name: as_u32
        type: uint32_t
      - name: as_float
        type: float
      item_type: union
      name: value
      pos:
        line_end: 210
        line_start: 206
        source_file: /src/ndpi/src/lib/protocols/protobuf.c
- function_names: []
  source_file: /src/ndpi/src/lib/protocols/btlib.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BDEC_MAXDEPT
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/protocols/btlib.h
      type_or_value: '8'
    structs:
    - fields:
      - name: '*s'
        type: u_int8_t
      - name: l
        type: size_t
      item_type: struct
      name: b_elem_s
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/ndpi/src/lib/protocols/btlib.h
    - fields:
      - name: y_e
        type: u_int16_t
      - name: a
        type: "struct {\n\t\tconst u_int8_t\t*id,\t\t// 20\n\t\t\t \t*info_hash,\t//
          20\n\t\t\t \t*target,\t// 20\n\t\t\t\t*token,\t\t// 20|8\n\t\t\t \t*name;\t\t//
          varlen\n\t\tu_int16_t name_len;\n\t\tu_int16_t port;\n\t\tu_int16_t\tt_len;\n\t}"
      - name: r
        type: "struct {\n\t\tconst u_int8_t \t*id,\t\t// 20\n\t\t\t \t*token,\t\t//
          20|8\n\t\t\t\t*values,\t// (6+2)*x\n\t\t\t\t*values6,\t// (18_3)*x\n\t\t\t
          \t*name;\t\t// varlen\n\t\tstruct bt_ipv4p\t*ip;\n\t\tstruct bt_nodes_data
          *nodes;\n\t\tstruct bt_nodes6_data *nodes6;\n\t\tu_int16_t\tname_len;\n\t\tu_int16_t\tnn;\t\t//
          nodes num\n\t\tu_int16_t\tnv;\t\t// values num\n\t\tu_int16_t\tnn6;\t\t//
          nodes6 num\n\t\tu_int16_t\tnv6;\t\t// values6 num\n\t\tu_int16_t\tport;\n\t\tu_int16_t\tt_len;\n\t}"
      - name: interval
        type: int
      - name: '*peers'
        type: struct bt_ipv4p
      - name: n_peers
        type: int
      - name: '*ip'
        type: struct bt_ipv4p
      - name: '*e_msg'
        type: u_int8_t
      - name: e_len
        type: u_int16_t
      - name: t
        type: u_int64_t
      item_type: struct
      name: bt_parse_protocol
      pos:
        line_end: 165
        line_start: 126
        source_file: /src/ndpi/src/lib/protocols/btlib.h
    - fields:
      - name: p
        type: struct bt_parse_protocol
      - name: buf[64]
        type: char
      - name: level
        type: int
      - name: t
        type: int
      - name: v
        type: "union {\n\t\tint64_t i;\n\t\tb_elem_s_t s;\n\t}"
      item_type: struct
      name: bt_parse_data_cb
      pos:
        line_end: 176
        line_start: 167
        source_file: /src/ndpi/src/lib/protocols/btlib.h
    typedefs: []
    union: []
- function_names:
  - oicq_hdr
  - ndpi_int_oicq_add_connection
  - ndpi_search_oicq
  - init_oicq_dissector
  source_file: /src/ndpi/src/lib/protocols/oicq.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/oicq.c
      type_or_value: NDPI_PROTOCOL_OICQ
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_egd
  - init_egd_dissector
  source_file: /src/ndpi/src/lib/protocols/egd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/egd.c
      type_or_value: NDPI_PROTOCOL_EGD
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ieee_c37118_add_connection
  - ndpi_search_ieee_c37118
  - init_ieee_c37118_dissector
  source_file: /src/ndpi/src/lib/protocols/ieee-c37118.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/ieee-c37118.c
      type_or_value: NDPI_PROTOCOL_IEEE_C37118
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_source_engine_add_connection
  - ndpi_search_source_engine
  - init_source_engine_dissector
  source_file: /src/ndpi/src/lib/protocols/source_engine.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/source_engine.c
      type_or_value: NDPI_PROTOCOL_SOURCE_ENGINE
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_zmq
  - init_zmq_dissector
  source_file: /src/ndpi/src/lib/protocols/zeromq.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/zeromq.c
      type_or_value: NDPI_PROTOCOL_ZMQ
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_drda
  - init_drda_dissector
  source_file: /src/ndpi/src/lib/protocols/drda.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/drda.c
      type_or_value: NDPI_PROTOCOL_DRDA
    structs:
    - fields:
      - name: length
        type: u_int16_t
      - name: magic
        type: u_int8_t
      - name: format
        type: u_int8_t
      - name: correlID
        type: u_int16_t
      - name: length2
        type: u_int16_t
      - name: code_pnt
        type: u_int16_t
      item_type: struct
      name: ndpi_drda_hdr
      pos:
        line_end: 33
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/drda.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_gnutella_add_connection
  - ndpi_search_gnutella
  - init_gnutella_dissector
  source_file: /src/ndpi/src/lib/protocols/gnutella.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/gnutella.c
      type_or_value: NDPI_PROTOCOL_GNUTELLA
    structs: []
    typedefs: []
    union: []
- function_names:
  - MEMCACHED_MATCH
  - ndpi_int_memcached_add_connection
  - ndpi_search_memcached
  - init_memcached_dissector
  source_file: /src/ndpi/src/lib/protocols/memcached.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: NDPI_PROTOCOL_MEMCACHED
    - item_type: preproc_def
      name: MCDC_SET
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"set "'
    - item_type: preproc_def
      name: MCDC_SET_LEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_SET) - 1)
    - item_type: preproc_def
      name: MCDC_ADD
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"add "'
    - item_type: preproc_def
      name: MCDC_ADD_LEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_ADD) - 1)
    - item_type: preproc_def
      name: MCDC_REPLACE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"replace "'
    - item_type: preproc_def
      name: MCDC_REPLACE_LEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_REPLACE) - 1)
    - item_type: preproc_def
      name: MCDC_APPEND
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"append "'
    - item_type: preproc_def
      name: MCDC_APPEND_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_APPEND) - 1)
    - item_type: preproc_def
      name: MCDC_PREPEND
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"prepend "'
    - item_type: preproc_def
      name: MCDC_PREPEND_LEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_PREPEND) - 1)
    - item_type: preproc_def
      name: MCDC_CAS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"cas "'
    - item_type: preproc_def
      name: MCDC_CAS_LEN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_CAS) - 1)
    - item_type: preproc_def
      name: MCDC_GET
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"get "'
    - item_type: preproc_def
      name: MCDC_GET_LEN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_GET) - 1)
    - item_type: preproc_def
      name: MCDC_GETS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"gets "'
    - item_type: preproc_def
      name: MCDC_GETS_LEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_GETS) - 1)
    - item_type: preproc_def
      name: MCDC_DELETE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"delete "'
    - item_type: preproc_def
      name: MCDC_DELETE_LEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_DELETE) - 1)
    - item_type: preproc_def
      name: MCDC_INCR
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"incr "'
    - item_type: preproc_def
      name: MCDC_INCR_LEN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_INCR) - 1)
    - item_type: preproc_def
      name: MCDC_DECR
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"decr "'
    - item_type: preproc_def
      name: MCDC_DECR_LEN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_DECR) - 1)
    - item_type: preproc_def
      name: MCDC_TOUCH
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"touch "'
    - item_type: preproc_def
      name: MCDC_TOUCH_LEN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_TOUCH) - 1)
    - item_type: preproc_def
      name: MCDC_GAT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"gat "'
    - item_type: preproc_def
      name: MCDC_GAT_LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_GAT) - 1)
    - item_type: preproc_def
      name: MCDC_GATS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"gats "'
    - item_type: preproc_def
      name: MCDC_GATS_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_GATS) - 1)
    - item_type: preproc_def
      name: MCDC_STATS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"stats"'
    - item_type: preproc_def
      name: MCDC_STATS_LEN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDC_STATS) - 1)
    - item_type: preproc_def
      name: MCDR_ERROR
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"ERROR\r\n"'
    - item_type: preproc_def
      name: MCDR_ERROR_LEN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDR_ERROR) - 1)
    - item_type: preproc_def
      name: MCDR_CLIENT_ERROR
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"CLIENT_ERROR "'
    - item_type: preproc_def
      name: MCDR_CLIENT_ERROR_LEN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDR_CLIENT_ERROR) - 1)
    - item_type: preproc_def
      name: MCDR_SERVER_ERROR
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"SERVER_ERROR "'
    - item_type: preproc_def
      name: MCDR_SERVER_ERROR_LEN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDR_SERVER_ERROR) - 1)
    - item_type: preproc_def
      name: MCDR_STORED
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"STORED\r\n"'
    - item_type: preproc_def
      name: MCDR_STORED_LEN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDR_STORED) - 1)
    - item_type: preproc_def
      name: MCDR_NOT_STORED
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"NOT_STORED\r\n"'
    - item_type: preproc_def
      name: MCDR_NOT_STORED_LEN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDR_NOT_STORED) - 1)
    - item_type: preproc_def
      name: MCDR_EXISTS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"EXISTS\r\n"'
    - item_type: preproc_def
      name: MCDR_EXISTS_LEN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDR_EXISTS) - 1)
    - item_type: preproc_def
      name: MCDR_NOT_FOUND
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"NOT_FOUND\r\n"'
    - item_type: preproc_def
      name: MCDR_NOT_FOUND_LEN
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDR_NOT_FOUND) - 1)
    - item_type: preproc_def
      name: MCDR_END
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"END\r\n"'
    - item_type: preproc_def
      name: MCDR_END_LEN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDR_END) - 1)
    - item_type: preproc_def
      name: MCDR_DELETED
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"DELETED\r\n"'
    - item_type: preproc_def
      name: MCDR_DELETED_LEN
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDR_DELETED) - 1)
    - item_type: preproc_def
      name: MCDR_TOUCHED
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"TOUCHED\r\n"'
    - item_type: preproc_def
      name: MCDR_TOUCHED_LEN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDR_TOUCHED) - 1)
    - item_type: preproc_def
      name: MCDR_STAT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '"STAT "'
    - item_type: preproc_def
      name: MCDR_STAT_LEN
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (sizeof(MCDR_STAT) - 1)
    - item_type: preproc_def
      name: MEMCACHED_UDP_HDR_LEN
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MEMCACHED_MIN_LEN
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: MCDR_END_LEN
    - item_type: preproc_def
      name: MEMCACHED_MIN_UDP_LEN
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: (MEMCACHED_MIN_LEN + MEMCACHED_UDP_HDR_LEN)
    - item_type: preproc_def
      name: MEMCACHED_MIN_MATCH
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/ndpi/src/lib/protocols/memcached.c
      type_or_value: '2 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_dofus_add_connection
  - ndpi_search_dofus
  - init_dofus_dissector
  source_file: /src/ndpi/src/lib/protocols/dofus.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/dofus.c
      type_or_value: NDPI_PROTOCOL_DOFUS
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_dnp3_tcp
  - init_dnp3_dissector
  source_file: /src/ndpi/src/lib/protocols/dnp3.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/dnp3.c
      type_or_value: NDPI_PROTOCOL_DNP3
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_genshin_impact_add_connection
  - ndpi_search_genshin_impact
  - init_genshin_impact_dissector
  source_file: /src/ndpi/src/lib/protocols/genshin_impact.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/genshin_impact.c
      type_or_value: NDPI_PROTOCOL_GENSHIN_IMPACT
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_coap_add_connection
  - isCoAPport
  - ndpi_search_coap
  - init_coap_dissector
  source_file: /src/ndpi/src/lib/protocols/coap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/coap.c
      type_or_value: NDPI_PROTOCOL_COAP
    - item_type: preproc_def
      name: CON
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/coap.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NO_CON
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/coap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ACK
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/coap.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RST
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/coap.c
      type_or_value: '3'
    structs:
    - fields:
      - name: code
        type: u_int8_t
      - name: message_id
        type: u_int16_t
      item_type: struct
      name: ndpi_coap_hdr
      pos:
        line_end: 47
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/coap.c
    typedefs: []
    union: []
- function_names:
  - ssdp_parse_lines
  - ndpi_int_ssdp_add_connection
  - ndpi_search_ssdp
  - init_ssdp_dissector
  source_file: /src/ndpi/src/lib/protocols/ssdp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/ssdp.c
      type_or_value: NDPI_PROTOCOL_SSDP
    - item_type: preproc_def
      name: SSDP_HTTP
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/ndpi/src/lib/protocols/ssdp.c
      type_or_value: '"HTTP/1.1 200 OK\r\n"'
    structs:
    - fields:
      - name: '*detection_line'
        type: char
      - name: '*method'
        type: char
      item_type: struct
      name: SSDP
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/ssdp.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_merakicloud_add_connection
  - ndpi_search_merakicloud
  - init_merakicloud_dissector
  source_file: /src/ndpi/src/lib/protocols/merakicloud.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/merakicloud.c
      type_or_value: NDPI_PROTOCOL_MERAKI_CLOUD
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_line_add_connection
  - ndpi_search_line
  - init_line_dissector
  source_file: /src/ndpi/src/lib/protocols/line.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/line.c
      type_or_value: NDPI_PROTOCOL_LINE_CALL
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_iec62056_add_connection
  - ndpi_search_iec62056
  - init_iec62056_dissector
  source_file: /src/ndpi/src/lib/protocols/iec62056.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/iec62056.c
      type_or_value: NDPI_PROTOCOL_IEC62056
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_uftp_add_connection
  - ndpi_search_uftp
  - init_uftp_dissector
  source_file: /src/ndpi/src/lib/protocols/uftp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/uftp.c
      type_or_value: NDPI_PROTOCOL_UFTP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_lisp_add_connection
  - ndpi_check_lisp
  - ndpi_search_lisp
  - init_lisp_dissector
  source_file: /src/ndpi/src/lib/protocols/lisp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/lisp.c
      type_or_value: NDPI_PROTOCOL_LISP
    - item_type: preproc_def
      name: LISP_PORT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/lisp.c
      type_or_value: '4341 '
    - item_type: preproc_def
      name: LISP_PORT1
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/lisp.c
      type_or_value: '4342 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_hislip_add_connection
  - ndpi_search_hislip
  - init_hislip_dissector
  source_file: /src/ndpi/src/lib/protocols/hislip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/hislip.c
      type_or_value: NDPI_PROTOCOL_HISLIP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_guildwars2_tcp
  - init_guildwars2_dissector
  source_file: /src/ndpi/src/lib/protocols/guildwars2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/guildwars2.c
      type_or_value: NDPI_PROTOCOL_GUILDWARS2
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ubntac2_add_connection
  - ndpi_search_ubntac2
  - init_ubntac2_dissector
  source_file: /src/ndpi/src/lib/protocols/ubntac2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/ubntac2.c
      type_or_value: NDPI_PROTOCOL_UBNTAC2
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_apple_push_addr
  - ndpi_check_apple_push
  - ndpi_search_apple_push
  - init_apple_push_dissector
  source_file: /src/ndpi/src/lib/protocols/apple_push.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/apple_push.c
      type_or_value: NDPI_PROTOCOL_APPLE_PUSH
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_mongodb_detected
  - ndpi_check_mongodb
  - ndpi_search_mongodb
  - init_mongodb_dissector
  source_file: /src/ndpi/src/lib/protocols/mongodb.c
  types:
    enum:
    - enumerators:
      - name: OP_REPLY
        value: '1'
      - name: RESERVED
        value: '2003'
      - name: OP_INSERT
        value: '2002'
      - name: OP_UPDATE
        value: '2001'
      - name: OP_QUERY
        value: '2004'
      - name: OP_GET_MORE
        value: '2005'
      - name: OP_DELETE
        value: '2006'
      - name: OP_KILL_CURSORS
        value: '2007'
      - name: OP_MSG
        value: '2013'
      item_type: enum
      name: mongo_opcodes
      pos:
        line_end: 42
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/mongodb.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/protocols/mongodb.c
      type_or_value: NDPI_PROTOCOL_MONGODB
    structs:
    - fields:
      - name: message_length
        type: uint32_t
      - name: request_id
        type: uint32_t
      - name: response_to
        type: uint32_t
      - name: op_code
        type: uint32_t
      item_type: struct
      name: mongo_message_header
      pos:
        line_end: 50
        line_start: 44
        source_file: /src/ndpi/src/lib/protocols/mongodb.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_kafka_add_connection
  - ndpi_search_kafka
  - init_kafka_dissector
  source_file: /src/ndpi/src/lib/protocols/kafka.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/kafka.c
      type_or_value: NDPI_PROTOCOL_APACHE_KAFKA
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ipp_add_connection
  - ndpi_search_ipp
  - init_ipp_dissector
  source_file: /src/ndpi/src/lib/protocols/ipp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/ipp.c
      type_or_value: NDPI_PROTOCOL_IPP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_samsung_sdp_add_connection
  - ndpi_search_samsung_sdp
  - init_samsung_sdp_dissector
  source_file: /src/ndpi/src/lib/protocols/samsung_sdp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/samsung_sdp.c
      type_or_value: NDPI_PROTOCOL_SAMSUNG_SDP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_smb_tcp
  - init_smb_dissector
  source_file: /src/ndpi/src/lib/protocols/smb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/smb.c
      type_or_value: NDPI_PROTOCOL_SMBV23
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_mail_smtp_add_connection
  - get_credentials_auth_plain
  - ndpi_search_mail_smtp_tcp
  - ndpi_extra_search_mail_smtp_tcp
  - smtpInitExtraPacketProcessing
  - init_mail_smtp_dissector
  source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: NDPI_PROTOCOL_MAIL_SMTP
    - item_type: preproc_def
      name: SMTP_BIT_220
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SMTP_BIT_250
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SMTP_BIT_235
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SMTP_BIT_334
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: SMTP_BIT_354
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: SMTP_BIT_HELO_EHLO
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: SMTP_BIT_MAIL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: SMTP_BIT_RCPT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: SMTP_BIT_AUTH_LOGIN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x100'
    - item_type: preproc_def
      name: SMTP_BIT_STARTTLS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x200'
    - item_type: preproc_def
      name: SMTP_BIT_DATA
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x400'
    - item_type: preproc_def
      name: SMTP_BIT_NOOP
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x800'
    - item_type: preproc_def
      name: SMTP_BIT_RSET
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: SMTP_BIT_TlRM
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: SMTP_BIT_AUTH_PLAIN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/ndpi/src/lib/protocols/mail_smtp.c
      type_or_value: '0x4000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_rx_header
  - ndpi_check_rx
  - ndpi_search_rx
  - init_rx_dissector
  source_file: /src/ndpi/src/lib/protocols/rx.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: NDPI_PROTOCOL_RX
    - item_type: preproc_def
      name: RX_DATA
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RX_ACK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RX_BUSY
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RX_ABORT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RX_ACKALL
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '5'
    - item_type: preproc_def
      name: RX_CHALLENGE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '6'
    - item_type: preproc_def
      name: RX_RESPONSE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '7'
    - item_type: preproc_def
      name: RX_DEBUG
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '8'
    - item_type: preproc_def
      name: RX_PARAM_1
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '9'
    - item_type: preproc_def
      name: RX_PARAM_2
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '10'
    - item_type: preproc_def
      name: RX_PARAM_3
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '11'
    - item_type: preproc_def
      name: RX_PARAMS_4
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '12'
    - item_type: preproc_def
      name: RX_VERS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '13'
    - item_type: preproc_def
      name: EMPTY
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CLIENT_INIT_1
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '1'
    - item_type: preproc_def
      name: REQ_ACK
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PLUS_0
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LAST_PKT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PLUS_1
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '5'
    - item_type: preproc_def
      name: PLUS_2
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MORE_1
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '9'
    - item_type: preproc_def
      name: CLIENT_INIT_2
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '33'
    - item_type: preproc_def
      name: PLUS_3
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/ndpi/src/lib/protocols/rx.c
      type_or_value: '34'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_sflow
  - init_sflow_dissector
  source_file: /src/ndpi/src/lib/protocols/sflow.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/sflow.c
      type_or_value: NDPI_PROTOCOL_SFLOW
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_mikrotik
  - init_mikrotik_dissector
  source_file: /src/ndpi/src/lib/protocols/mikrotik.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/mikrotik.c
      type_or_value: NDPI_PROTOCOL_MIKROTIK
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ldp_add_connection
  - ndpi_search_ldp
  - init_ldp_dissector
  source_file: /src/ndpi/src/lib/protocols/ldp.c
  types:
    enum:
    - enumerators:
      - name: LDP_INITIALIZATION
        value: '0x0200'
      - name: LDP_ADDRESS_WITHDRAWAL
        value: '0x0301'
      - name: LDP_CAPABILITY
        value: '0x0202'
      - name: LDP_ADDRESS
        value: '0x0300'
      - name: LDP_KEEPALIVE
        value: '0x0201'
      - name: LDP_LABEL_MAPPING
        value: '0x0400'
      - name: LDP_LABEL_REQUEST
        value: '0x0401'
      - name: LDP_LABEL_WITHDRAWAL
        value: '0x0402'
      - name: LDP_LABEL_RELEASE
        value: '0x0403'
      - name: LDP_LABEL_ABORT_REQUEST
        value: '0x0404'
      - name: LDP_CALL_SETUP
        value: '0x0500'
      - name: LDP_RG_NOTIFICATION_MESSAGE
        value: '0x0702'
      - name: LDP_RG_APPLICATION_DATA_MESSAGE
        value: '0x0703'
      - name: LDP_RG_DISCONNECT_MESSAGE
        value: '0x0701'
      - name: LDP_RG_CONNECT_MESSAGE
        value: '0x0700'
      - name: LDP_CALL_RELEASE
        value: '0x0501'
      item_type: enum
      name: ldp_message_types
      pos:
        line_end: 51
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/ldp.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/ldp.c
      type_or_value: NDPI_PROTOCOL_LDP
    structs: []
    typedefs: []
    union: []
- function_names:
  - dhcp_packet
  - ndpi_int_dhcp_add_connection
  - is_dhcp_magic
  - ndpi_search_dhcp_udp
  - init_dhcp_dissector
  source_file: /src/ndpi/src/lib/protocols/dhcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/dhcp.c
      type_or_value: NDPI_PROTOCOL_DHCP
    - item_type: preproc_def
      name: DHCP_CHADDR_LEN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/dhcp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: DHCP_SNAME_LEN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/protocols/dhcp.c
      type_or_value: '64'
    - item_type: preproc_def
      name: DHCP_FILE_LEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/src/lib/protocols/dhcp.c
      type_or_value: '128'
    - item_type: preproc_def
      name: DHCP_VEND_LEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/dhcp.c
      type_or_value: '308'
    - item_type: preproc_def
      name: DHCP_OPTION_MAGIC_NUMBER
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/dhcp.c
      type_or_value: '0x63825363'
    - item_type: preproc_def
      name: DHCP_MAGIC_LEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/dhcp.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_sonos_add_connection
  - ndpi_search_sonos
  - init_sonos_dissector
  source_file: /src/ndpi/src/lib/protocols/sonos.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/sonos.c
      type_or_value: NDPI_PROTOCOL_SONOS
    structs: []
    typedefs: []
    union: []
- function_names:
  - viber_add_connection
  - ndpi_search_viber
  - init_viber_dissector
  source_file: /src/ndpi/src/lib/protocols/viber.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/viber.c
      type_or_value: NDPI_PROTOCOL_VIBER
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_bfd_add_connection
  - ndpi_search_bfd
  - init_bfd_dissector
  source_file: /src/ndpi/src/lib/protocols/bfd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/bfd.c
      type_or_value: NDPI_PROTOCOL_BFD
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_jrmi_add_connection
  - ndpi_search_jrmi
  - init_jrmi_dissector
  source_file: /src/ndpi/src/lib/protocols/jrmi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/jrmi.c
      type_or_value: NDPI_PROTOCOL_JRMI
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_dingtalk
  - init_dingtalk_dissector
  source_file: /src/ndpi/src/lib/protocols/dingtalk.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/dingtalk.c
      type_or_value: NDPI_PROTOCOL_DINGTALK
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_version_forcing_vn
  - is_version_gquic
  - is_version_quic
  - is_version_valid
  - get_u8_quic_ver
  - is_quic_ver_less_than
  - is_quic_ver_greater_than
  - get_u8_gquic_ver
  - is_gquic_ver_less_than
  - is_version_supported
  - is_version_with_encrypted_header
  - is_version_with_tls
  - is_version_with_var_int_transport_params
  - is_version_with_ietf_long_header
  - is_version_with_v1_labels
  - is_version_quic_v2
  - ndpi_quic_version2str
  - quic_len
  - quic_len_buffer_still_required
  - gquic_get_u16
  - __gcry_err
  - pntoh64
  - phton64
  - memdup
  - ws_hmac_buffer
  - hkdf_expand
  - hkdf_extract
  - tls13_hkdf_expand_label_context
  - tls13_hkdf_expand_label
  - quic_hkdf_expand_label
  - quic_hp_cipher_reset
  - quic_pp_cipher_reset
  - quic_ciphers_reset
  - quic_hp_cipher_init
  - quic_pp_cipher_init
  - quic_get_pn_cipher_algo
  - quic_hp_cipher_prepare
  - quic_pp_cipher_prepare
  - quic_ciphers_prepare
  - quic_decrypt_header
  - quic_decrypt_message
  - quic_derive_initial_secrets
  - decrypt_initial_packet
  - update_reasm_buf_bitmap
  - is_reasm_buf_complete
  - __reassemble
  - is_ch_complete
  - is_ch_reassembler_pending
  - get_reassembled_crypto_data
  - get_crypto_data
  - get_clear_payload
  - process_tls
  - process_chlo
  - may_be_gquic_rej
  - may_be_sh
  - may_be_0rtt
  - may_be_initial_pkt
  - eval_extra_processing
  - ndpi_search_quic_extra
  - is_vn
  - ndpi_search_quic_extra_vn
  - ndpi_search_quic
  - init_quic_dissector
  source_file: /src/ndpi/src/lib/protocols/quic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: NDPI_PROTOCOL_QUIC
    - item_type: preproc_def
      name: V_2
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x6b3343cf'
    - item_type: preproc_def
      name: V_1
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: V_Q024
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x51303234'
    - item_type: preproc_def
      name: V_Q025
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x51303235'
    - item_type: preproc_def
      name: V_Q030
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x51303330'
    - item_type: preproc_def
      name: V_Q033
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x51303333'
    - item_type: preproc_def
      name: V_Q034
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x51303334'
    - item_type: preproc_def
      name: V_Q035
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x51303335'
    - item_type: preproc_def
      name: V_Q037
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x51303337'
    - item_type: preproc_def
      name: V_Q039
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x51303339'
    - item_type: preproc_def
      name: V_Q043
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x51303433'
    - item_type: preproc_def
      name: V_Q046
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x51303436'
    - item_type: preproc_def
      name: V_Q050
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x51303530'
    - item_type: preproc_def
      name: V_T050
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x54303530'
    - item_type: preproc_def
      name: V_T051
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0x54303531'
    - item_type: preproc_def
      name: V_MVFST_22
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0xfaceb001'
    - item_type: preproc_def
      name: V_MVFST_27
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0xfaceb002'
    - item_type: preproc_def
      name: V_MVFST_EXP
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '0xfaceb00e'
    - item_type: preproc_def
      name: QUIC_MAX_CID_LENGTH
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '20'
    - item_type: preproc_def
      name: HASH_SHA2_256_LENGTH
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '32'
    - item_type: preproc_def
      name: TLS13_AEAD_NONCE_LENGTH
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/ndpi/src/lib/protocols/quic.c
      type_or_value: '12'
    structs:
    - fields:
      - name: '*data'
        type: unsigned char
      - name: data_len
        type: unsigned int
      item_type: struct
      name: _StringInfo
      pos:
        line_end: 343
        line_start: 340
        source_file: /src/ndpi/src/lib/protocols/quic.c
    - fields:
      - name: hp_cipher
        type: gcry_cipher_hd_t
      item_type: struct
      name: quic_hp_cipher
      pos:
        line_end: 349
        line_start: 347
        source_file: /src/ndpi/src/lib/protocols/quic.c
    - fields:
      - name: pp_cipher
        type: gcry_cipher_hd_t
      - name: pp_iv[TLS13_AEAD_NONCE_LENGTH]
        type: uint8_t
      item_type: struct
      name: quic_pp_cipher
      pos:
        line_end: 353
        line_start: 350
        source_file: /src/ndpi/src/lib/protocols/quic.c
    - fields:
      - name: hp_cipher
        type: quic_hp_cipher
      - name: pp_cipher
        type: quic_pp_cipher
      item_type: struct
      name: quic_ciphers
      pos:
        line_end: 357
        line_start: 354
        source_file: /src/ndpi/src/lib/protocols/quic.c
    - fields:
      - name: '*data'
        type: uint8_t
      - name: data_len
        type: uint32_t
      item_type: struct
      name: quic_decrypt_result
      pos:
        line_end: 362
        line_start: 359
        source_file: /src/ndpi/src/lib/protocols/quic.c
    typedefs: []
    union: []
- function_names:
  - ndpi_search_whois_das
  - init_whois_das_dissector
  source_file: /src/ndpi/src/lib/protocols/whoisdas.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/whoisdas.c
      type_or_value: NDPI_PROTOCOL_WHOIS_DAS
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_check_citrix
  - ndpi_search_citrix
  - init_citrix_dissector
  source_file: /src/ndpi/src/lib/protocols/citrix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/citrix.c
      type_or_value: NDPI_PROTOCOL_CITRIX
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_bitcoin
  - init_bitcoin_dissector
  source_file: /src/ndpi/src/lib/protocols/bitcoin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/bitcoin.c
      type_or_value: NDPI_PROTOCOL_BITCOIN
    - item_type: preproc_def
      name: MAIN_NET_MAGIC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/bitcoin.c
      type_or_value: '0xF9BEB4D9'
    - item_type: preproc_def
      name: TEST_NET_MAGIC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/protocols/bitcoin.c
      type_or_value: '0xFABFB5DA'
    - item_type: preproc_def
      name: TEST_3_NET_MAGIC
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/src/lib/protocols/bitcoin.c
      type_or_value: '0x0B110907'
    - item_type: preproc_def
      name: SIG_NET_MAGIC
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/bitcoin.c
      type_or_value: '0x0A03CF40'
    - item_type: preproc_def
      name: NAME_COIN_NET_MAGIC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/bitcoin.c
      type_or_value: '0xF9BEB4FE'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_hsrp
  - init_hsrp_dissector
  source_file: /src/ndpi/src/lib/protocols/hsrp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/hsrp.c
      type_or_value: NDPI_PROTOCOL_HSRP
    - item_type: preproc_def
      name: HSRP_PORT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/hsrp.c
      type_or_value: '1985'
    - item_type: preproc_def
      name: HSRP_PORT_V6
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/hsrp.c
      type_or_value: '2029'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_avast_add_connection
  - ndpi_search_avast
  - init_avast_dissector
  source_file: /src/ndpi/src/lib/protocols/avast.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/avast.c
      type_or_value: NDPI_PROTOCOL_AVAST
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_c1222_add_connection
  - ndpi_search_c1222
  - init_c1222_dissector
  source_file: /src/ndpi/src/lib/protocols/c1222.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/c1222.c
      type_or_value: NDPI_PROTOCOL_C1222
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_iax_add_connection
  - ndpi_search_setup_iax
  - ndpi_search_iax
  - init_iax_dissector
  source_file: /src/ndpi/src/lib/protocols/iax.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/iax.c
      type_or_value: NDPI_PROTOCOL_IAX
    - item_type: preproc_def
      name: NDPI_IAX_MAX_INFORMATION_ELEMENTS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/iax.c
      type_or_value: '15'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_zabbix_add_connection
  - ndpi_search_zabbix
  - init_zabbix_dissector
  source_file: /src/ndpi/src/lib/protocols/zabbix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/zabbix.c
      type_or_value: NDPI_PROTOCOL_ZABBIX
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_gaijin_add_connection
  - ndpi_search_gaijin
  - init_gaijin_dissector
  source_file: /src/ndpi/src/lib/protocols/gaijin_entertainment.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/gaijin_entertainment.c
      type_or_value: NDPI_PROTOCOL_GAIJIN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_natpmp_add_connection
  - natpmp_disable_extra_dissection
  - natpmp_is_common_header
  - natpmp_is_valid
  - ndpi_search_natpmp_extra
  - ndpi_search_natpmp
  - init_natpmp_dissector
  source_file: /src/ndpi/src/lib/protocols/natpmp.c
  types:
    enum:
    - enumerators:
      - name: NATPMP_REQUEST_ADDRESS
        value: '0x00'
      - name: NATPMP_RESPONSE_ADDRESS
        value: '0x80'
      - name: NATPMP_REQUEST_UDP_MAPPING
        value: '0x01'
      - name: NATPMP_RESPONSE_UDP_MAPPING
        value: '0x81'
      - name: NATPMP_REQUEST_TCP_MAPPING
        value: '0x02'
      - name: NATPMP_RESPONSE_TCP_MAPPING
        value: '0x82'
      item_type: enum
      name: natpmp_type
      pos:
        line_end: 37
        line_start: 30
        source_file: /src/ndpi/src/lib/protocols/natpmp.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/natpmp.c
      type_or_value: NDPI_PROTOCOL_NATPMP
    - item_type: preproc_def
      name: NATPMP_PORT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/natpmp.c
      type_or_value: '5351'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_lolwildrift_add_connection
  - ndpi_search_lolwildrift
  - init_lolwildrift_dissector
  source_file: /src/ndpi/src/lib/protocols/lol_wild_rift.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/lol_wild_rift.c
      type_or_value: NDPI_PROTOCOL_LOLWILDRIFT
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_check_amazon_video
  - ndpi_search_amazon_video
  - init_amazon_video_dissector
  source_file: /src/ndpi/src/lib/protocols/amazon_video.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/amazon_video.c
      type_or_value: NDPI_PROTOCOL_AMAZON_VIDEO
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ciscovpn_add_connection
  - ndpi_search_ciscovpn
  - init_ciscovpn_dissector
  source_file: /src/ndpi/src/lib/protocols/ciscovpn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/protocols/ciscovpn.c
      type_or_value: NDPI_PROTOCOL_CISCOVPN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ssh_analyze_signature_version
  - ssh_analyse_cipher
  - search_ssh_again
  - ndpi_int_ssh_add_connection
  - concat_hash_string
  - ndpi_ssh_zap_cr
  - ndpi_search_ssh_tcp
  - init_ssh_dissector
  source_file: /src/ndpi/src/lib/protocols/ssh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/ssh.c
      type_or_value: NDPI_PROTOCOL_SSH
    structs:
    - fields:
      - name: '*signature'
        type: char
      - name: major
        type: u_int16_t
      item_type: struct
      name: ssh_pattern
      pos:
        line_end: 66
        line_start: 63
        source_file: /src/ndpi/src/lib/protocols/ssh.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_tivoconnect_add_connection
  - dissect_tivoconnect_data
  - ndpi_search_tivoconnect
  - init_tivoconnect_dissector
  source_file: /src/ndpi/src/lib/protocols/tivoconnect.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/tivoconnect.c
      type_or_value: NDPI_PROTOCOL_TIVOCONNECT
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_http2_add_connection
  - ndpi_search_http2
  - init_http2_dissector
  source_file: /src/ndpi/src/lib/protocols/http2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/http2.c
      type_or_value: NDPI_PROTOCOL_HTTP2
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_fins_add_connection
  - ndpi_search_fins
  - init_fins_dissector
  source_file: /src/ndpi/src/lib/protocols/fins.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/fins.c
      type_or_value: NDPI_PROTOCOL_FINS
    structs:
    - fields:
      - name: icf
        type: u_int8_t
      - name: rsv
        type: u_int8_t
      - name: gct
        type: u_int8_t
      - name: dna
        type: u_int8_t
      - name: da1
        type: u_int8_t
      - name: da2
        type: u_int8_t
      - name: sna
        type: u_int8_t
      - name: sa1
        type: u_int8_t
      - name: sa2
        type: u_int8_t
      - name: sid
        type: u_int8_t
      item_type: struct
      name: fins_hdr
      pos:
        line_end: 41
        line_start: 30
        source_file: /src/ndpi/src/lib/protocols/fins.c
    typedefs: []
    union: []
- function_names:
  - ndpi_search_tailscale
  - init_tailscale_dissector
  source_file: /src/ndpi/src/lib/protocols/tailscale.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/tailscale.c
      type_or_value: NDPI_PROTOCOL_TAILSCALE
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_mgcp_add_connection
  - ndpi_search_mgcp
  - init_mgcp_dissector
  source_file: /src/ndpi/src/lib/protocols/mgcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/mgcp.c
      type_or_value: NDPI_PROTOCOL_MGCP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ftp_control_add_connection
  - ndpi_ftp_control_check_request
  - ndpi_ftp_control_check_response
  - ndpi_check_ftp_control
  - ndpi_search_ftp_control
  - init_ftp_control_dissector
  source_file: /src/ndpi/src/lib/protocols/ftp_control.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/ftp_control.c
      type_or_value: NDPI_PROTOCOL_FTP_CONTROL
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_diameter
  - ndpi_search_diameter
  - init_diameter_dissector
  source_file: /src/ndpi/src/lib/protocols/diameter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/diameter.c
      type_or_value: NDPI_PROTOCOL_DIAMETER
    - item_type: preproc_def
      name: DIAMETER_REQUEST
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/diameter.c
      type_or_value: 0X80
    - item_type: preproc_def
      name: DIAMETER_PROXYABLE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/diameter.c
      type_or_value: 0X40
    - item_type: preproc_def
      name: DIAMETER_ERROR
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/src/lib/protocols/diameter.c
      type_or_value: 0X20
    - item_type: preproc_def
      name: DIAMETER_RETRASM
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/diameter.c
      type_or_value: 0X10
    - item_type: preproc_def
      name: DIAM_HEADER_LEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/ndpi/src/lib/protocols/diameter.c
      type_or_value: '20'
    structs:
    - fields:
      - name: version
        type: u_int8_t
      - name: length[3]
        type: u_int8_t
      - name: flags
        type: u_int8_t
      - name: com_code[3]
        type: u_int8_t
      - name: app_id
        type: u_int32_t
      - name: hop_id
        type: u_int32_t
      - name: end_id
        type: u_int32_t
      item_type: struct
      name: diameter_header_t
      pos:
        line_end: 61
        line_start: 52
        source_file: /src/ndpi/src/lib/protocols/diameter.c
    typedefs: []
    union: []
- function_names:
  - ndpi_search_melsec
  - init_melsec_dissector
  source_file: /src/ndpi/src/lib/protocols/melsec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/melsec.c
      type_or_value: NDPI_PROTOCOL_MELSEC
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_mumble
  - init_mumble_dissector
  source_file: /src/ndpi/src/lib/protocols/mumble.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/mumble.c
      type_or_value: NDPI_PROTOCOL_MUMBLE
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ultrasurf_add_connection
  - ndpi_search_ultrasurf
  - init_ultrasurf_dissector
  source_file: /src/ndpi/src/lib/protocols/ultrasurf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/ultrasurf.c
      type_or_value: NDPI_PROTOCOL_ULTRASURF
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ftp_data_add_connection
  - ndpi_match_ftp_data_port
  - ndpi_match_ftp_data_directory
  - ndpi_match_file_header
  - ndpi_check_ftp_data
  - ndpi_search_ftp_data
  - init_ftp_data_dissector
  source_file: /src/ndpi/src/lib/protocols/ftp_data.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/ftp_data.c
      type_or_value: NDPI_PROTOCOL_FTP_DATA
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_utp_hdr
  - search_bittorrent_again
  - get_utpv1_length
  - is_utpv1_pkt
  - ndpi_search_bittorrent_hash
  - make_bittorrent_host_key
  - make_bittorrent_peers_key
  - ndpi_add_connection_as_bittorrent
  - ndpi_int_search_bittorrent_tcp_zero
  - ndpi_int_search_bittorrent_tcp
  - is_port
  - ndpi_skip_bittorrent
  - ndpi_search_bittorrent
  - init_bittorrent_dissector
  source_file: /src/ndpi/src/lib/protocols/bittorrent.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/bittorrent.c
      type_or_value: NDPI_PROTOCOL_BITTORRENT
    - item_type: preproc_def
      name: BITTORRENT_PROTO_STRING
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/bittorrent.c
      type_or_value: '"BitTorrent protocol"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_teso_add_connection
  - ndpi_search_teso
  - init_teso_dissector
  source_file: /src/ndpi/src/lib/protocols/teso.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/teso.c
      type_or_value: NDPI_PROTOCOL_TESO
    structs: []
    typedefs: []
    union: []
- function_names:
  - slp_hdr_v1
  - slp_hdr_v2
  - struct
  - struct
  - slp_url_entry
  - ndpi_int_slp_add_connection
  - slp_check_packet_length
  - slp_check_fid
  - slp_dissect_url_entries
  - ndpi_search_slp_v1
  - ndpi_search_slp_v2
  - ndpi_dissect_slp_v2
  - ndpi_search_slp
  - init_slp_dissector
  source_file: /src/ndpi/src/lib/protocols/slp.c
  types:
    enum:
    - enumerators:
      - name: FID_UNKNOWN
        value: '0'
      - name: FID_SrvDeReg
        value: '4'
      - name: FID_SrvRqst
        value: '1'
      - name: FID_SrvReg
        value: '3'
      - name: FID_SrvRply
        value: '2'
      - name: FID_SrvAck
        value: '5'
      - name: FID_AttrRqst
        value: '6'
      - name: FID_AttrRply
        value: '7'
      - name: FID_DAAdvert
        value: '8'
      - name: FID_SrvTypeRqst
        value: '9'
      - name: FID_MAX_v1
        value: '11'
      - name: FID_SAAdvert
        value: '11'
      - name: FID_SrvTypeRply
        value: '10'
      - name: FID_MAX
      item_type: enum
      name: function_id
      pos:
        line_end: 84
        line_start: 69
        source_file: /src/ndpi/src/lib/protocols/slp.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/slp.c
      type_or_value: NDPI_PROTOCOL_SERVICE_LOCATION
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_teredo
  - init_teredo_dissector
  source_file: /src/ndpi/src/lib/protocols/teredo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/teredo.c
      type_or_value: NDPI_PROTOCOL_TEREDO
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_riotgames_add_connection
  - ndpi_search_riotgames
  - init_riotgames_dissector
  source_file: /src/ndpi/src/lib/protocols/riotgames.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/riotgames.c
      type_or_value: NDPI_PROTOCOL_RIOTGAMES
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_openwire
  - init_openwire_dissector
  source_file: /src/ndpi/src/lib/protocols/openwire.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/openwire.c
      type_or_value: NDPI_PROTOCOL_OPENWIRE
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_mysql_tcp
  - init_mysql_dissector
  source_file: /src/ndpi/src/lib/protocols/mysql.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/mysql.c
      type_or_value: NDPI_PROTOCOL_MYSQL
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_teamspeak_add_connection
  - ndpi_search_teamspeak
  - init_teamspeak_dissector
  source_file: /src/ndpi/src/lib/protocols/teamspeak.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/teamspeak.c
      type_or_value: NDPI_PROTOCOL_TEAMSPEAK
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_resp
  - init_resp_dissector
  source_file: /src/ndpi/src/lib/protocols/resp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/resp.c
      type_or_value: NDPI_PROTOCOL_RESP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_telegram_add_connection
  - is_telegram_port_range
  - ndpi_search_telegram
  - init_telegram_dissector
  source_file: /src/ndpi/src/lib/protocols/telegram.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/telegram.c
      type_or_value: NDPI_PROTOCOL_TELEGRAM
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_gettimeofday
  - ndpi_search_netflow
  - init_netflow_dissector
  source_file: /src/ndpi/src/lib/protocols/netflow.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/netflow.c
      type_or_value: NDPI_PROTOCOL_NETFLOW
    structs:
    - fields:
      - name: srcaddr
        type: u_int32_t
      - name: dstaddr
        type: u_int32_t
      - name: nexthop
        type: u_int32_t
      - name: input
        type: u_int16_t
      - name: output
        type: u_int16_t
      - name: dPkts
        type: u_int32_t
      - name: dOctets
        type: u_int32_t
      - name: first
        type: u_int32_t
      - name: last
        type: u_int32_t
      - name: srcport
        type: u_int16_t
      - name: dstport
        type: u_int16_t
      - name: pad
        type: u_int16_t
      - name: proto
        type: u_int8_t
      - name: tos
        type: u_int8_t
      - name: pad2[7]
        type: u_int8_t
      item_type: struct
      name: flow_ver1_rec
      pos:
        line_end: 49
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/netflow.c
    - fields:
      - name: srcaddr
        type: u_int32_t
      - name: dstaddr
        type: u_int32_t
      - name: nexthop
        type: u_int32_t
      - name: input
        type: u_int16_t
      - name: output
        type: u_int16_t
      - name: dPkts
        type: u_int32_t
      - name: dOctets
        type: u_int32_t
      - name: first
        type: u_int32_t
      - name: last
        type: u_int32_t
      - name: srcport
        type: u_int16_t
      - name: dstport
        type: u_int16_t
      - name: pad1
        type: u_int8_t
      - name: tcp_flags
        type: u_int8_t
      - name: proto
        type: u_int8_t
      - name: tos
        type: u_int8_t
      - name: src_as
        type: u_int16_t
      - name: dst_as
        type: u_int16_t
      - name: src_mask
        type: u_int8_t
      - name: dst_mask
        type: u_int8_t
      - name: pad2
        type: u_int16_t
      item_type: struct
      name: flow_ver5_rec
      pos:
        line_end: 74
        line_start: 51
        source_file: /src/ndpi/src/lib/protocols/netflow.c
    - fields:
      - name: srcaddr
        type: u_int32_t
      - name: dstaddr
        type: u_int32_t
      - name: nexthop
        type: u_int32_t
      - name: input
        type: u_int16_t
      - name: output
        type: u_int16_t
      - name: dPkts
        type: u_int32_t
      - name: dOctets
        type: u_int32_t
      - name: first
        type: u_int32_t
      - name: last
        type: u_int32_t
      - name: srcport
        type: u_int16_t
      - name: dstport
        type: u_int16_t
      - name: flags
        type: u_int8_t
      - name: tcp_flags
        type: u_int8_t
      - name: proto
        type: u_int8_t
      - name: tos
        type: u_int8_t
      - name: dst_as
        type: u_int16_t
      - name: src_as
        type: u_int16_t
      - name: dst_mask
        type: u_int8_t
      - name: src_mask
        type: u_int8_t
      - name: pad2
        type: u_int16_t
      - name: router_sc
        type: u_int32_t
      item_type: struct
      name: flow_ver7_rec
      pos:
        line_end: 98
        line_start: 76
        source_file: /src/ndpi/src/lib/protocols/netflow.c
    typedefs: []
    union: []
- function_names:
  - ajp_header
  - set_ajp_detected
  - ndpi_check_ajp
  - ndpi_search_ajp
  - init_ajp_dissector
  source_file: /src/ndpi/src/lib/protocols/ajp.c
  types:
    enum:
    - enumerators:
      - name: AJP_SERVER_TO_CONTAINER
        value: '0x1234'
      - name: AJP_CONTAINER_TO_SERVER
        value: '0x4142'
      item_type: enum
      name: ajp_direction
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/ndpi/src/lib/protocols/ajp.c
    - enumerators:
      - name: AJP_UNKNOWN
        value: '0'
      - name: AJP_END_RESPONSE
        value: '5'
      - name: AJP_SEND_BODY_CHUNK
        value: '3'
      - name: AJP_SEND_HEADERS
        value: '4'
      - name: AJP_FORWARD_REQUEST
        value: '2'
      - name: AJP_GET_BODY_CHUNK
        value: '6'
      - name: AJP_SHUTDOWN
        value: '7'
      - name: AJP_PING
        value: '8'
      - name: AJP_CPONG
        value: '9'
      - name: AJP_CPING
        value: '10'
      - name: AJP_BODY
        value: '11'
      item_type: enum
      name: ajp_packet_type
      pos:
        line_end: 48
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/ajp.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/protocols/ajp.c
      type_or_value: NDPI_PROTOCOL_AJP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_softether_add_connection
  - dissect_softether_type
  - softether_type_to_enum
  - dissect_softether_tuples
  - dissect_softether_host_fqdn
  - dissect_softether_ip_port
  - ndpi_search_softether
  - ndpi_search_softether_again
  - init_softether_dissector
  source_file: /src/ndpi/src/lib/protocols/softether.c
  types:
    enum:
    - enumerators:
      - name: VALUE_INT
        value: 0u
      - name: VALUE_INT64
        value: 4u
      - name: VALUE_DATA
        value: 1u
      - name: VALUE_STR
        value: 2u
      - name: VALUE_UNISTR
        value: 3u
      item_type: enum
      name: softether_value_type
      pos:
        line_end: 34
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/softether.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/softether.c
      type_or_value: NDPI_PROTOCOL_SOFTETHER
    structs:
    - fields:
      - name: type
        type: enum softether_value_type
      - name: value
        type: union softether_dissected_value
      - name: value_size
        type: u_int32_t
      item_type: struct
      name: softether_value
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/ndpi/src/lib/protocols/softether.c
    typedefs: []
    union:
    - fields:
      - name: value_int
        type: int
      - name: value_int64
        type: u_int64_t
      - name: ptr
        type: "union {\n    void const *raw;\n    u_int8_t const *value_data;\n    char
          const *value_str;\n    char const *value_unistr;\n  }"
      item_type: union
      name: softether_dissected_value
      pos:
        line_end: 45
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/softether.c
- function_names:
  - zoom_sfu_enc
  - zoom_media_enc
  - ndpi_int_zoom_add_connection
  - is_zoom_port
  - is_zme
  - is_sfu_5
  - keep_extra_dissection
  - zoom_search_again
  - ndpi_search_zoom
  - init_zoom_dissector
  source_file: /src/ndpi/src/lib/protocols/zoom.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/zoom.c
      type_or_value: NDPI_PROTOCOL_ZOOM
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_eaq_add_connection
  - ndpi_search_eaq
  - init_eaq_dissector
  source_file: /src/ndpi/src/lib/protocols/eaq.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/protocols/eaq.c
      type_or_value: NDPI_PROTOCOL_EAQ
    - item_type: preproc_def
      name: EAQ_DEFAULT_PORT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/eaq.c
      type_or_value: '6000'
    - item_type: preproc_def
      name: EAQ_DEFAULT_SIZE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/src/lib/protocols/eaq.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_jabber_add_connection
  - check_content_type_and_change_protocol
  - ndpi_search_jabber_tcp
  - init_jabber_dissector
  source_file: /src/ndpi/src/lib/protocols/jabber.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/jabber.c
      type_or_value: NDPI_PROTOCOL_JABBER
    structs:
    - fields:
      - name: '*string'
        type: char
      - name: ndpi_protocol
        type: u_int
      item_type: struct
      name: jabber_string
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/jabber.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ipsec_add_connection
  - ndpi_int_check_ports
  - ndpi_int_check_isakmp_v1
  - ndpi_int_check_isakmp_v2
  - ndpi_search_ipsec
  - init_ipsec_dissector
  source_file: /src/ndpi/src/lib/protocols/ipsec.c
  types:
    enum:
    - enumerators:
      - name: ISAKMP_INVALID
        value: '0'
      - name: ISAKMP_V1
      - name: ISAKMP_MALFORMED
      - name: ISAKMP_V2
      item_type: enum
      name: isakmp_type
      pos:
        line_end: 32
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/ipsec.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/ipsec.c
      type_or_value: NDPI_PROTOCOL_IPSEC
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_mqtt_add_connection
  - get_var_int
  - ndpi_search_mqtt
  - init_mqtt_dissector
  source_file: /src/ndpi/src/lib/protocols/mqtt.c
  types:
    enum:
    - enumerators:
      - name: CONNECT
        value: '1'
      - name: PUBLISH
        value: '3'
      - name: PUBREC
        value: '5'
      - name: PUBACK
        value: '4'
      - name: CONNACK
        value: '2'
      - name: PUBREL
        value: '6'
      - name: PUBCOMP
        value: '7'
      - name: SUBSCRIBE
        value: '8'
      - name: SUBACK
        value: '9'
      - name: UNSUBSCRIBE
        value: '10'
      - name: PINGRESP
        value: '13'
      - name: DISCONNECT
        value: '14'
      - name: UNSUBACK
        value: '11'
      - name: PINGREQ
        value: '12'
      item_type: enum
      name: MQTT_PACKET_TYPES
      pos:
        line_end: 50
        line_start: 35
        source_file: /src/ndpi/src/lib/protocols/mqtt.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/mqtt.c
      type_or_value: NDPI_PROTOCOL_MQTT
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_validate_cassandra_response
  - ndpi_validate_cassandra_request
  - ndpi_int_cassandra_add_connection
  - ndpi_search_cassandra
  - init_cassandra_dissector
  source_file: /src/ndpi/src/lib/protocols/cassandra.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/cassandra.c
      type_or_value: NDPI_PROTOCOL_CASSANDRA
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_armagetron_add_connection
  - ndpi_search_armagetron_udp
  - init_armagetron_dissector
  source_file: /src/ndpi/src/lib/protocols/armagetron.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/armagetron.c
      type_or_value: NDPI_PROTOCOL_ARMAGETRON
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_hart_ip_add_connection
  - ndpi_search_hart_ip
  - init_hart_ip_dissector
  source_file: /src/ndpi/src/lib/protocols/hart-ip.c
  types:
    enum:
    - enumerators:
      - name: REQUEST_MSG
      - name: NAK_MSG
        value: '15'
      - name: RESPONSE_MSG
      - name: PUBLISH_MSG
      item_type: enum
      name: hart_ip_msg_type
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/ndpi/src/lib/protocols/hart-ip.c
    - enumerators:
      - name: SESSION_INITIATE_ID
      - name: TOKEN_PASSING_PDU_ID
      - name: KEEPALIVE_ID
      - name: SESSION_CLOSE_ID
      - name: DIRECT_PDU_ID
      - name: READ_AUDIT_LOG_ID
      item_type: enum
      name: hart_ip_msg_id
      pos:
        line_end: 56
        line_start: 49
        source_file: /src/ndpi/src/lib/protocols/hart-ip.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/hart-ip.c
      type_or_value: NDPI_PROTOCOL_HART_IP
    structs:
    - fields:
      - name: version
        type: u_int8_t
      - name: msg_type
        type: u_int8_t
      - name: msg_id
        type: u_int8_t
      - name: status
        type: u_int8_t
      - name: seq_num
        type: u_int16_t
      - name: msg_len
        type: u_int16_t
      item_type: struct
      name: hart_ip_hdr
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/hart-ip.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_dnscrypt_add_connection
  - ndpi_search_dnscrypt
  - init_dnscrypt_dissector
  source_file: /src/ndpi/src/lib/protocols/dnscrypt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/dnscrypt.c
      type_or_value: NDPI_PROTOCOL_DNSCRYPT
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_s7comm
  - init_s7comm_dissector
  source_file: /src/ndpi/src/lib/protocols/s7comm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/s7comm.c
      type_or_value: "NDPI_PROTOCOL_S7COMM\r"
    - item_type: preproc_def
      name: TPKT_PORT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/s7comm.c
      type_or_value: "102\r"
    - item_type: preproc_def
      name: S7COMM_MAGIC_BYTE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/s7comm.c
      type_or_value: "0x32\r"
    - item_type: preproc_def
      name: S7COMM_PLUS_MAGIC_BYTE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/s7comm.c
      type_or_value: "0x72\r"
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_json_rpc
  - init_json_rpc_dissector
  source_file: /src/ndpi/src/lib/protocols/json-rpc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/json-rpc.c
      type_or_value: NDPI_PROTOCOL_JSON_RPC
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_pptp_add_connection
  - ndpi_search_pptp
  - init_pptp_dissector
  source_file: /src/ndpi/src/lib/protocols/pptp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/pptp.c
      type_or_value: NDPI_PROTOCOL_PPTP
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_subclassification_real_by_proto
  - is_subclassification_real
  - is_new_subclassification_better
  - search_into_cache
  - add_to_cache
  - parse_ip_port_attribute
  - parse_xor_ip_port_attribute
  - is_stun
  - keep_extra_dissection
  - __get_master
  - stun_search_again
  - stun_telegram_search_again
  - get_stun_lru_key
  - get_stun_lru_key_raw4
  - get_stun_lru_key_raw6
  - ndpi_int_stun_add_connection
  - switch_extra_dissection_to_stun
  - ndpi_search_stun
  - get_signal_key
  - signal_search_into_cache
  - signal_add_to_cache
  - init_stun_dissector
  source_file: /src/ndpi/src/lib/protocols/stun.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: NDPI_PROTOCOL_STUN
    - item_type: preproc_def
      name: STUN_HDR_LEN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '20 '
    - item_type: preproc_def
      name: METHOD_BINDING
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: METHOD_SHARED_SECRET
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: METHOD_ALLOCATE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x0003 '
    - item_type: preproc_def
      name: METHOD_REFRESH
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: METHOD_DATA_IND_OLD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x0005'
    - item_type: preproc_def
      name: METHOD_SEND
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x0006 '
    - item_type: preproc_def
      name: METHOD_DATA_IND
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x0007 '
    - item_type: preproc_def
      name: METHOD_CREATE_PERMISSION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: METHOD_CHANNELBIND
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x0009 '
    - item_type: preproc_def
      name: METHOD_CONNECT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x000a '
    - item_type: preproc_def
      name: METHOD_CONNECTION_BIND
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x000b '
    - item_type: preproc_def
      name: METHOD_CONNECTION_ATTEMPT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/ndpi/src/lib/protocols/stun.c
      type_or_value: '0x000c '
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_alicloud_add_connection
  - ndpi_search_alicloud
  - init_alicloud_dissector
  source_file: /src/ndpi/src/lib/protocols/alicloud.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/alicloud.c
      type_or_value: NDPI_PROTOCOL_ALICLOUD
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ntp_add_connection
  - ndpi_search_ntp_udp
  - init_ntp_dissector
  source_file: /src/ndpi/src/lib/protocols/ntp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/ntp.c
      type_or_value: NDPI_PROTOCOL_NTP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_gearup_booster_add_connection
  - ndpi_search_gearup_booster
  - init_gearup_booster_dissector
  source_file: /src/ndpi/src/lib/protocols/gearup_booster.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/gearup_booster.c
      type_or_value: NDPI_PROTOCOL_GEARUP_BOOSTER
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_dcerpc_add_connection
  - is_connection_oriented_dcerpc
  - is_connectionless_dcerpc
  - ndpi_search_dcerpc
  - init_dcerpc_dissector
  source_file: /src/ndpi/src/lib/protocols/dcerpc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/dcerpc.c
      type_or_value: NDPI_PROTOCOL_DCERPC
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_stomp_add_connection
  - ndpi_search_stomp
  - init_stomp_dissector
  source_file: /src/ndpi/src/lib/protocols/stomp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/stomp.c
      type_or_value: NDPI_PROTOCOL_STOMP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_qq_add_connection
  - ndpi_search_qq
  - init_qq_dissector
  source_file: /src/ndpi/src/lib/protocols/qq.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/qq.c
      type_or_value: NDPI_PROTOCOL_QQ
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_mssql_tds_add_connection
  - ndpi_search_mssql_tds
  - init_mssql_tds_dissector
  source_file: /src/ndpi/src/lib/protocols/mssql_tds.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/mssql_tds.c
      type_or_value: NDPI_PROTOCOL_MSSQL_TDS
    structs:
    - fields:
      - name: type
        type: u_int8_t
      - name: status
        type: u_int8_t
      - name: length
        type: u_int16_t
      - name: channel
        type: u_int16_t
      - name: number
        type: u_int8_t
      - name: window
        type: u_int8_t
      item_type: struct
      name: tds_packet_header
      pos:
        line_end: 39
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/mssql_tds.c
    typedefs: []
    union: []
- function_names:
  - ndpi_search_fix
  - init_fix_dissector
  source_file: /src/ndpi/src/lib/protocols/fix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/fix.c
      type_or_value: NDPI_PROTOCOL_FIX
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ldap_add_connection
  - ndpi_search_ldap
  - init_ldap_dissector
  source_file: /src/ndpi/src/lib/protocols/ldap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/ldap.c
      type_or_value: NDPI_PROTOCOL_LDAP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_xdmcp_add_connection
  - ndpi_search_xdmcp
  - init_xdmcp_dissector
  source_file: /src/ndpi/src/lib/protocols/xdmcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/xdmcp.c
      type_or_value: NDPI_PROTOCOL_XDMCP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_mail_pop_add_connection
  - ndpi_int_mail_pop_check_for_client_commands
  - ndpi_search_mail_pop_tcp
  - ndpi_extra_search_mail_pop_tcp
  - popInitExtraPacketProcessing
  - init_mail_pop_dissector
  source_file: /src/ndpi/src/lib/protocols/mail_pop.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: NDPI_PROTOCOL_MAIL_POP
    - item_type: preproc_def
      name: POP_BIT_AUTH
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: POP_BIT_APOP
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: POP_BIT_USER
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: POP_BIT_PASS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: POP_BIT_CAPA
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: POP_BIT_LIST
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: POP_BIT_STAT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: POP_BIT_UIDL
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: POP_BIT_RETR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: POP_BIT_DELE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: '0x0200'
    - item_type: preproc_def
      name: POP_BIT_STLS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/ndpi/src/lib/protocols/mail_pop.c
      type_or_value: '0x0400'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_postgres_add_connection
  - ndpi_search_postgres_tcp
  - init_postgres_dissector
  source_file: /src/ndpi/src/lib/protocols/postgres.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/postgres.c
      type_or_value: NDPI_PROTOCOL_POSTGRES
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_iso9506_1_mms_add_connection
  - ndpi_search_iso9506_1_mms
  - init_iso9506_1_mms_dissector
  source_file: /src/ndpi/src/lib/protocols/iso9506-1-mms.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/iso9506-1-mms.c
      type_or_value: NDPI_PROTOCOL_ISO9506_1_MMS
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_rsync_add_connection
  - ndpi_search_rsync
  - init_rsync_dissector
  source_file: /src/ndpi/src/lib/protocols/rsync.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/rsync.c
      type_or_value: NDPI_PROTOCOL_RSYNC
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_bfcp
  - init_bfcp_dissector
  source_file: /src/ndpi/src/lib/protocols/bfcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/bfcp.c
      type_or_value: NDPI_PROTOCOL_BFCP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_threema_add_connection
  - ndpi_search_threema
  - init_threema_dissector
  source_file: /src/ndpi/src/lib/protocols/threema.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/threema.c
      type_or_value: NDPI_PROTOCOL_THREEMA
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_mpegts
  - init_mpegts_dissector
  source_file: /src/ndpi/src/lib/protocols/mpegts.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/mpegts.c
      type_or_value: NDPI_PROTOCOL_MPEGTS
    structs: []
    typedefs: []
    union: []
- function_names:
  - kcp_header
  - ndpi_int_kcp_add_connection
  - ndpi_search_kcp
  - init_kcp_dissector
  source_file: /src/ndpi/src/lib/protocols/kcp.c
  types:
    enum:
    - enumerators:
      - name: IKCP_CMD_PUSH
        value: '81'
      - name: IKCP_CMD_ACK
        value: '82'
      - name: IKCP_CMD_WASK
        value: '83'
      - name: IKCP_CMD_WINS
        value: '84'
      item_type: enum
      name: kcp_commands
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/ndpi/src/lib/protocols/kcp.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/kcp.c
      type_or_value: NDPI_PROTOCOL_KCP
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_valid_knxnet_ip_service_id
  - ndpi_int_knxnet_ip_add_connection
  - ndpi_search_knxnet_ip
  - init_knxnet_ip_dissector
  source_file: /src/ndpi/src/lib/protocols/knxnet_ip.c
  types:
    enum:
    - enumerators:
      - name: KNX_SERVICE_CORE
        value: '0x02'
      - name: KNX_SERVICE_ROUTING
        value: '0x05'
      - name: KNX_SERVICE_REMOTE_LOGGING
        value: '0x06'
      - name: KNX_SERVICE_TUNNELING
        value: '0x04'
      - name: KNX_SERVICE_MANAGEMENT
        value: '0x03'
      - name: KNX_SERVICE_REMOTE_DIAG_AND_CONFIG
        value: '0x07'
      - name: KNX_SERVICE_OBJECT_SERVER
        value: '0x08'
      - name: KNX_SERVICE_SECURITY
        value: '0x09'
      item_type: enum
      name: knx_service_families
      pos:
        line_end: 42
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/knxnet_ip.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/knxnet_ip.c
      type_or_value: NDPI_PROTOCOL_KNXNET_IP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ams_tcp_hdr
  - ndpi_int_beckhoff_ads_add_connection
  - ndpi_search_beckhoff_ads
  - init_beckhoff_ads_dissector
  source_file: /src/ndpi/src/lib/protocols/beckhoff_ads.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/beckhoff_ads.c
      type_or_value: NDPI_PROTOCOL_BECKHOFF_ADS
    structs:
    - fields:
      - name: command_id
        type: u_int16_t
      - name: state_flags
        type: u_int16_t
      - name: length
        type: u_int32_t
      - name: error_code
        type: u_int32_t
      - name: invoke_id
        type: u_int32_t
      item_type: struct
      name: ams_hdr
      pos:
        line_end: 58
        line_start: 39
        source_file: /src/ndpi/src/lib/protocols/beckhoff_ads.c
    typedefs: []
    union: []
- function_names:
  - ndpi_search_tcp_or_udp_raw
  - ndpi_search_tcp_or_udp
  source_file: /src/ndpi/src/lib/protocols/tcp_udp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_sd_rtn_add_connection
  - ndpi_int_sd_rtn_dissect_sni
  - ndpi_search_sd_rtn
  - init_sd_rtn_dissector
  source_file: /src/ndpi/src/lib/protocols/sd_rtn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/sd_rtn.c
      type_or_value: NDPI_PROTOCOL_SD_RTN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_check_dns_type
  - checkPort
  - isMDNSMulticastAddress
  - isLLMNRMulticastAddress
  - checkDNSSubprotocol
  - get16
  - getNameLength
  - dns_error_code2string
  - fpc_dns_cache_key_from_flow
  - fpc_dns_cache_key_from_packet
  - ndpi_grab_dns_name
  - process_queries
  - process_answers
  - process_additionals
  - is_valid_dns
  - keep_extra_dissection
  - search_dns_again
  - process_hostname
  - search_dns
  - ndpi_search_dns
  - init_dns_dissector
  source_file: /src/ndpi/src/lib/protocols/dns.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/dns.c
      type_or_value: NDPI_PROTOCOL_DNS
    - item_type: preproc_def
      name: FLAGS_MASK
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/src/lib/protocols/dns.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: DNS_PORT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/dns.c
      type_or_value: '53'
    - item_type: preproc_def
      name: LLMNR_PORT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/src/lib/protocols/dns.c
      type_or_value: '5355'
    - item_type: preproc_def
      name: MDNS_PORT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/dns.c
      type_or_value: '5353'
    - item_type: preproc_def
      name: PKT_LEN_ALERT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/ndpi/src/lib/protocols/dns.c
      type_or_value: '512'
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_websocket_detected
  - ndpi_check_websocket
  - ndpi_search_websocket
  - init_websocket_dissector
  source_file: /src/ndpi/src/lib/protocols/websocket.c
  types:
    enum:
    - enumerators:
      - name: TEXT_FRAME
        value: '0x01'
      - name: FIN_TEXT_FRAME
        value: '0x81'
      - name: BINARY_FRAME
        value: '0x02'
      - name: FIN_BINARY_FRAME
        value: '0x82'
      - name: CONNECTION_CLOSE_FRAME
        value: '0x08'
      - name: FIN_CONNECTION_CLOSE_FRAME
        value: '0x88'
      - name: PING_FRAME
        value: '0x09'
      - name: FIN_PING_FRAME
        value: '0x89'
      - name: PONG_FRAME
        value: '0x0A'
      - name: FIN_PONG_FRAME
        value: '0x8A'
      item_type: enum
      name: websocket_opcode
      pos:
        line_end: 46
        line_start: 29
        source_file: /src/ndpi/src/lib/protocols/websocket.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/protocols/websocket.c
      type_or_value: NDPI_PROTOCOL_WEBSOCKET
    structs: []
    typedefs: []
    union: []
- function_names:
  - search_blizzard_tcp
  - search_blizzard_udp
  - ndpi_search_blizzard
  - init_blizzard_dissector
  source_file: /src/ndpi/src/lib/protocols/blizzard.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/blizzard.c
      type_or_value: NDPI_PROTOCOL_BLIZZARD
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_hpvirtgrp_add_connection
  - ndpi_search_hpvirtgrp
  - init_hpvirtgrp_dissector
  source_file: /src/ndpi/src/lib/protocols/hpvirtgrp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/hpvirtgrp.c
      type_or_value: NDPI_PROTOCOL_HPVIRTGRP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_git
  - init_git_dissector
  source_file: /src/ndpi/src/lib/protocols/git.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/git.c
      type_or_value: NDPI_PROTOCOL_GIT
    - item_type: preproc_def
      name: GIT_PORT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/git.c
      type_or_value: '9418'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SAFE_INC_IMAP_STAGE
  - ndpi_int_mail_imap_add_connection
  - ndpi_search_mail_imap_tcp
  - init_mail_imap_dissector
  source_file: /src/ndpi/src/lib/protocols/mail_imap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/mail_imap.c
      type_or_value: NDPI_PROTOCOL_MAIL_IMAP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_toca_boca_add_connection
  - ndpi_search_toca_boca
  - init_toca_boca_dissector
  source_file: /src/ndpi/src/lib/protocols/tocaboca.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/tocaboca.c
      type_or_value: NDPI_PROTOCOL_TOCA_BOCA
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_pathofexile
  - init_pathofexile_dissector
  source_file: /src/ndpi/src/lib/protocols/path_of_exile.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/path_of_exile.c
      type_or_value: NDPI_PROTOCOL_PATHOFEXILE
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_collectd_add_connection
  - npdi_int_collectd_block_size
  - ndpi_int_collectd_check_type
  - ndpi_int_collectd_dissect_hostname
  - ndpi_int_collectd_dissect_username
  - ndpi_search_collectd
  - init_collectd_dissector
  source_file: /src/ndpi/src/lib/protocols/collectd.c
  types:
    enum:
    - enumerators:
      - name: COLLECTD_TYPE_HOST
        value: '0x0000'
      - name: COLLECTD_TYPE_TIME_HR
        value: '0x0008'
      - name: COLLECTD_TYPE_TIME
        value: '0x0001'
      - name: COLLECTD_TYPE_PLUGIN
        value: '0x0002'
      - name: COLLECTD_TYPE_PLUGIN_INSTANCE
        value: '0x0003'
      - name: COLLECTD_TYPE_TYPE
        value: '0x0004'
      - name: COLLECTD_TYPE_TYPE_INSTANCE
        value: '0x0005'
      - name: COLLECTD_TYPE_VALUES
        value: '0x0006'
      - name: COLLECTD_TYPE_INTERVAL
        value: '0x0007'
      - name: COLLECTD_TYPE_INTERVAL_HR
        value: '0x0009'
      - name: COLLECTD_TYPE_MESSAGE
        value: '0x0100'
      - name: COLELCTD_TYPE_ENCR_AES256
        value: '0x0210'
      - name: COLLECTD_TYPE_SIGN_SHA256
        value: '0x0200'
      - name: COLLECTD_TYPE_SEVERITY
        value: '0x0101'
      item_type: enum
      name: collectd_type
      pos:
        line_end: 49
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/collectd.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/collectd.c
      type_or_value: NDPI_PROTOCOL_COLLECTD
    - item_type: preproc_def
      name: COLLECTD_MIN_BLOCKS_REQUIRED
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/collectd.c
      type_or_value: '3'
    - item_type: preproc_def
      name: COLLECTD_MAX_BLOCKS_TO_DISSECT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/protocols/collectd.c
      type_or_value: '5'
    - item_type: preproc_def
      name: COLLECTD_ENCR_AES256_MIN_BLOCK_SIZE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/collectd.c
      type_or_value: '6'
    - item_type: preproc_def
      name: COLLECTD_ENCR_AES256_IV_SIZE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/src/lib/protocols/collectd.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_printable_char
  - is_stop_char
  - ndpi_netbios_name_interpret
  - ndpi_int_netbios_add_connection
  - ndpi_search_netbios
  - init_netbios_dissector
  source_file: /src/ndpi/src/lib/protocols/netbios.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/netbios.c
      type_or_value: NDPI_PROTOCOL_NETBIOS
    structs:
    - fields:
      - name: transaction_id
        type: u_int16_t
      item_type: struct
      name: netbios_header
      pos:
        line_end: 36
        line_start: 34
        source_file: /src/ndpi/src/lib/protocols/netbios.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_xbox_add_connection
  - ndpi_search_xbox
  - init_xbox_dissector
  source_file: /src/ndpi/src/lib/protocols/xbox.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/xbox.c
      type_or_value: NDPI_PROTOCOL_XBOX
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_syncthing_add_connection
  - ndpi_search_syncthing
  - init_syncthing_dissector
  source_file: /src/ndpi/src/lib/protocols/syncthing.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/syncthing.c
      type_or_value: NDPI_PROTOCOL_SYNCTHING
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_radmin_add_connection
  - ndpi_search_radmin
  - init_radmin_dissector
  source_file: /src/ndpi/src/lib/protocols/radmin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/radmin.c
      type_or_value: NDPI_PROTOCOL_RADMIN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_dropbox_add_connection
  - ndpi_check_dropbox
  - ndpi_search_dropbox
  - init_dropbox_dissector
  source_file: /src/ndpi/src/lib/protocols/dropbox.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/dropbox.c
      type_or_value: NDPI_PROTOCOL_DROPBOX
    - item_type: preproc_def
      name: DB_LSP_PORT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/dropbox.c
      type_or_value: '17500'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_check_gtp
  - ndpi_search_gtp
  - init_gtp_dissector
  source_file: /src/ndpi/src/lib/protocols/gtp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/gtp.c
      type_or_value: NDPI_PROTOCOL_GTP
    - item_type: preproc_def
      name: HEADER_LEN_GTP_U
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/src/lib/protocols/gtp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: HEADER_LEN_GTP_C_V1
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/src/lib/protocols/gtp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: HEADER_LEN_GTP_C_V2
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/ndpi/src/lib/protocols/gtp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: HEADER_LEN_GTP_PRIME
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/src/lib/protocols/gtp.c
      type_or_value: '6'
    structs:
    - fields:
      - name: flags
        type: u_int8_t
      - name: message_len
        type: u_int16_t
      item_type: struct
      name: gtp_header_generic
      pos:
        line_end: 63
        line_start: 60
        source_file: /src/ndpi/src/lib/protocols/gtp.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_edonkey_add_connection
  - ndpi_search_edonkey
  - init_edonkey_dissector
  source_file: /src/ndpi/src/lib/protocols/edonkey.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/edonkey.c
      type_or_value: NDPI_PROTOCOL_EDONKEY
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_msdo_add_connection
  - ndpi_search_msdo
  - init_msdo_dissector
  source_file: /src/ndpi/src/lib/protocols/msdo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/msdo.c
      type_or_value: NDPI_PROTOCOL_MSDO
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_valve_sdr_add_connection
  - ndpi_search_valve_sdr
  - init_valve_sdr_dissector
  source_file: /src/ndpi/src/lib/protocols/steam_datagram_relay.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/steam_datagram_relay.c
      type_or_value: NDPI_PROTOCOL_VALVE_SDR
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_ethernet_ip_add_connection
  - ndpi_search_ethernet_ip
  - init_ethernet_ip_dissector
  source_file: /src/ndpi/src/lib/protocols/ethernet_ip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/ethernet_ip.c
      type_or_value: NDPI_PROTOCOL_ETHERNET_IP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_iec60870_tcp
  - init_104_dissector
  source_file: /src/ndpi/src/lib/protocols/iec60870-5-104.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/iec60870-5-104.c
      type_or_value: NDPI_PROTOCOL_IEC60870
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_elasticsearch_add_connection
  - ndpi_search_elasticsearch
  - init_elasticsearch_dissector
  source_file: /src/ndpi/src/lib/protocols/elastic_search.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/elastic_search.c
      type_or_value: NDPI_PROTOCOL_ELASTICSEARCH
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_rdp_add_connection
  - ndpi_search_tls_over_rdp
  - ndpi_search_rdp
  - init_rdp_dissector
  source_file: /src/ndpi/src/lib/protocols/rdp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/rdp.c
      type_or_value: NDPI_PROTOCOL_RDP
    - item_type: preproc_def
      name: RDP_PORT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/src/lib/protocols/rdp.c
      type_or_value: '3389'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_mudfish_add_connection
  - ndpi_search_mudfish
  - init_mudfish_dissector
  source_file: /src/ndpi/src/lib/protocols/mudfish.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/mudfish.c
      type_or_value: NDPI_PROTOCOL_MUDFISH
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_flute
  - init_flute_dissector
  source_file: /src/ndpi/src/lib/protocols/flute.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/flute.c
      type_or_value: NDPI_PROTOCOL_FLUTE
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_opc_ua_add_connection
  - ndpi_search_opc_ua
  - init_opc_ua_dissector
  source_file: /src/ndpi/src/lib/protocols/opc-ua.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/opc-ua.c
      type_or_value: NDPI_PROTOCOL_OPC_UA
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_tplink_shp_add_connection
  - ndpi_search_tplink_shp
  - init_tplink_shp_dissector
  source_file: /src/ndpi/src/lib/protocols/tplink_shp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/tplink_shp.c
      type_or_value: NDPI_PROTOCOL_TPLINK_SHP
    - item_type: preproc_def
      name: _TPLSHP_MIN_LEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/src/lib/protocols/tplink_shp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: _TPLSHP_TCP_LEN_HDR
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/src/lib/protocols/tplink_shp.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_netease_add_connection
  - ndpi_search_netease
  - init_netease_games_dissector
  source_file: /src/ndpi/src/lib/protocols/netease_games.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/netease_games.c
      type_or_value: NDPI_PROTOCOL_NETEASE_GAMES
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_tencent_games_add_connection
  - ndpi_search_tencent_games
  - init_tencent_games_dissector
  source_file: /src/ndpi/src/lib/protocols/tencent_games.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/tencent_games.c
      type_or_value: NDPI_PROTOCOL_TENCENTGAMES
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_crossfire_add_connection
  - ndpi_search_crossfire_tcp_udp
  - init_crossfire_dissector
  source_file: /src/ndpi/src/lib/protocols/crossfire.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/crossfire.c
      type_or_value: NDPI_PROTOCOL_CROSSFIRE
    structs: []
    typedefs: []
    union: []
- function_names:
  - can_hdr
  - ndpi_int_can_add_connection
  - ndpi_search_can
  - init_can_dissector
  source_file: /src/ndpi/src/lib/protocols/can.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/can.c
      type_or_value: NDPI_PROTOCOL_CAN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_usenet_add_connection
  - ndpi_search_usenet_tcp
  - init_usenet_dissector
  source_file: /src/ndpi/src/lib/protocols/usenet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/usenet.c
      type_or_value: NDPI_PROTOCOL_USENET
    structs: []
    typedefs: []
    union: []
- function_names:
  - amqp_header
  - ndpi_int_amqp_add_connection
  - ndpi_search_amqp
  - init_amqp_dissector
  source_file: /src/ndpi/src/lib/protocols/amqp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/amqp.c
      type_or_value: NDPI_PROTOCOL_AMQP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_activision_add_connection
  - ndpi_search_activision
  - init_activision_dissector
  source_file: /src/ndpi/src/lib/protocols/activision.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/activision.c
      type_or_value: NDPI_PROTOCOL_ACTIVISION
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_cloudflare_warp_add_connection
  - ndpi_search_cloudflare_warp
  - init_cloudflare_warp_dissector
  source_file: /src/ndpi/src/lib/protocols/cloudflare_warp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/cloudflare_warp.c
      type_or_value: NDPI_PROTOCOL_CLOUDFLARE_WARP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_haproxy_add_connection
  - ndpi_search_haproxy
  - init_haproxy_dissector
  source_file: /src/ndpi/src/lib/protocols/haproxy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/haproxy.c
      type_or_value: NDPI_PROTOCOL_HAPROXY
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_irc_add_connection
  - ndpi_check_for_NOTICE_or_PRIVMSG
  - ndpi_check_for_Nickname
  - ndpi_check_for_cmd
  - ndpi_search_irc_tcp
  - init_irc_dissector
  source_file: /src/ndpi/src/lib/protocols/irc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/irc.c
      type_or_value: NDPI_PROTOCOL_IRC
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_skinny_add_connection
  - is_valid_version
  - is_valid_opcode
  - ndpi_search_skinny
  - init_skinny_dissector
  source_file: /src/ndpi/src/lib/protocols/skinny.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/skinny.c
      type_or_value: NDPI_PROTOCOL_SKINNY
    structs: []
    typedefs: []
    union: []
- function_names:
  - mining_make_lru_cache_key
  - cacheMiningHostTwins
  - ndpi_search_mining
  - init_mining_dissector
  source_file: /src/ndpi/src/lib/protocols/mining.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/mining.c
      type_or_value: NDPI_PROTOCOL_MINING
    structs: []
    typedefs: []
    union: []
- function_names:
  - tinc_cache_entry
  - ndpi_check_tinc
  - ndpi_search_tinc
  - init_tinc_dissector
  source_file: /src/ndpi/src/lib/protocols/tinc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/tinc.c
      type_or_value: NDPI_PROTOCOL_TINC
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_avast_securedns_add_connection
  - ndpi_search_avast_securedns
  - init_avast_securedns_dissector
  source_file: /src/ndpi/src/lib/protocols/avast_securedns.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/avast_securedns.c
      type_or_value: NDPI_PROTOCOL_AVAST_SECUREDNS
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_rtps
  - init_rtps_dissector
  source_file: /src/ndpi/src/lib/protocols/rtps.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/rtps.c
      type_or_value: NDPI_PROTOCOL_RTPS
    - item_type: preproc_def
      name: RTPS_LAST_MAJOR_VER
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/ndpi/src/lib/protocols/rtps.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RTPS_LAST_MINOR_VER
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/src/lib/protocols/rtps.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_zug_add_connection
  - ndpi_search_zug
  - init_zug_dissector
  source_file: /src/ndpi/src/lib/protocols/zug.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/zug.c
      type_or_value: NDPI_PROTOCOL_ZUG
    structs: []
    typedefs: []
    union: []
- function_names:
  - search_telnet_again
  - ndpi_int_telnet_add_connection
  - search_iac
  - ndpi_search_telnet_tcp
  - init_telnet_dissector
  source_file: /src/ndpi/src/lib/protocols/telnet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/telnet.c
      type_or_value: NDPI_PROTOCOL_TELNET
    structs: []
    typedefs: []
    union: []
- function_names:
  - FCGI_Header
  - FCGI_Params
  - ndpi_int_fastcgi_add_connection
  - fcgi_parse_params
  - ndpi_search_fastcgi
  - ndpi_search_fastcgi_extra
  - init_fastcgi_dissector
  source_file: /src/ndpi/src/lib/protocols/fastcgi.c
  types:
    enum:
    - enumerators:
      - name: FCGI_MIN
        value: '1'
      - name: FCGI_END_REQUEST
        value: '3'
      - name: FCGI_PARAMS
        value: '4'
      - name: FCGI_BEGIN_REQUEST
        value: '1'
      - name: FCGI_ABORT_REQUEST
        value: '2'
      - name: FCGI_STDIN
        value: '5'
      - name: FCGI_STDOUT
        value: '6'
      - name: FCGI_STDERR
        value: '7'
      - name: FCGI_DATA
        value: '8'
      - name: FCGI_GET_VALUES
        value: '9'
      - name: FCGI_UNKNOWN_TYPE
        value: '11'
      - name: FCGI_GET_VALUES_RESULT
        value: '10'
      - name: FCGI_MAX
        value: '11'
      item_type: enum
      name: FCGI_Type
      pos:
        line_end: 56
        line_start: 40
        source_file: /src/ndpi/src/lib/protocols/fastcgi.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/fastcgi.c
      type_or_value: NDPI_PROTOCOL_FASTCGI
    structs:
    - fields:
      - name: '* const key'
        type: char
      - name: '* const value'
        type: struct ndpi_int_one_line_struct
      item_type: struct
      name: fcgi_one_line_mapping
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/ndpi/src/lib/protocols/fastcgi.c
    typedefs: []
    union: []
- function_names:
  - ndpi_int_glbp_add_connection
  - ndpi_search_glbp
  - init_glbp_dissector
  source_file: /src/ndpi/src/lib/protocols/glbp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/glbp.c
      type_or_value: NDPI_PROTOCOL_GLBP
    - item_type: preproc_def
      name: GLBP_PORT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/src/lib/protocols/glbp.c
      type_or_value: '3222 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - str_contains_digit
  - keep_extra_dissection_tcp
  - check_set
  - tls_obfuscated_heur_search
  - tls_obfuscated_heur_search_again
  - switch_extra_dissection_to_tls_obfuscated_heur
  - ndpi_search_tls_memory
  - cleanupServerName
  - extractRDNSequence
  - make_tls_cert_key
  - checkTLSSubprotocol
  - processCertificateElements
  - processCertificate
  - processTLSBlock
  - ndpi_looks_like_tls
  - ndpi_search_tls_tcp
  - is_dtls
  - ndpi_search_dtls
  - tlsInitExtraPacketProcessing
  - switch_extra_dissection_to_tls
  - switch_to_tls
  - tls_subclassify_by_alpn
  - tlsCheckUncommonALPN
  - ndpi_int_tls_add_connection
  - checkExtensions
  - u_int16_t_cmpfunc
  - is_grease_version
  - ndpi_compute_ja4
  - processClientServerHello
  - ndpi_search_tls_wrapper
  - init_tls_dissector
  source_file: /src/ndpi/src/lib/protocols/tls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/tls.c
      type_or_value: NDPI_PROTOCOL_TLS
    - item_type: preproc_def
      name: JA_STR_LEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/src/lib/protocols/tls.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MAX_NUM_JA
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/ndpi/src/lib/protocols/tls.c
      type_or_value: '128'
    - item_type: preproc_def
      name: MAX_JA_STRLEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/src/lib/protocols/tls.c
      type_or_value: '256'
    - item_type: preproc_def
      name: NDPI_MAX_TLS_REQUEST_SIZE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/ndpi/src/lib/protocols/tls.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: TLS_THRESHOLD
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/ndpi/src/lib/protocols/tls.c
      type_or_value: '34387200 '
    - item_type: preproc_def
      name: TLS_LIMIT_DATE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/ndpi/src/lib/protocols/tls.c
      type_or_value: '1598918400 '
    structs:
    - fields:
      - name: stage
        type: u_int8_t
      - name: bytes[4]
        type: u_int32_t
      - name: pkts[4]
        type: u_int32_t
      item_type: struct
      name: tls_obfuscated_heuristic_set
      pos:
        line_end: 189
        line_start: 185
        source_file: /src/ndpi/src/lib/protocols/tls.c
    - fields:
      - name: num_pkts
        type: u_int8_t
      - name: sets[2]
        type: struct tls_obfuscated_heuristic_set
      item_type: struct
      name: tls_obfuscated_heuristic_state
      pos:
        line_end: 200
        line_start: 191
        source_file: /src/ndpi/src/lib/protocols/tls.c
    typedefs: []
    union:
    - fields:
      - name: client
        type: "struct {\n    u_int16_t tls_handshake_version;\n    u_int16_t num_ciphers,
          cipher[MAX_NUM_JA];\n    u_int16_t num_tls_extensions, tls_extension[MAX_NUM_JA];\n
          \   u_int16_t num_elliptic_curve, elliptic_curve[MAX_NUM_JA];\n    u_int16_t
          num_elliptic_curve_point_format, elliptic_curve_point_format[MAX_NUM_JA];\n
          \   u_int16_t num_signature_algorithms, signature_algorithms[MAX_NUM_JA];\n
          \   u_int16_t num_supported_versions, supported_versions[MAX_NUM_JA];\n
          \   char signature_algorithms_str[MAX_JA_STRLEN], alpn[MAX_JA_STRLEN];\n
          \   char alpn_original_last;  /* Store original last character before null
          terminator */\n  }"
      - name: server
        type: "struct {\n    u_int16_t tls_handshake_version;\n    u_int16_t num_ciphers,
          cipher[MAX_NUM_JA];\n    u_int16_t num_tls_extensions, tls_extension[MAX_NUM_JA];\n
          \   u_int16_t tls_supported_version;\n    u_int16_t num_elliptic_curve_point_format,
          elliptic_curve_point_format[MAX_NUM_JA];\n    char alpn[MAX_JA_STRLEN];\n
          \ }"
      item_type: union
      name: ja_info
      pos:
        line_end: 83
        line_start: 62
        source_file: /src/ndpi/src/lib/protocols/tls.c
- function_names:
  - ndpi_int_ethersbus_add_connection
  - ndpi_search_ethersbus
  - init_ethersbus_dissector
  source_file: /src/ndpi/src/lib/protocols/ethersbus.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/ethersbus.c
      type_or_value: NDPI_PROTOCOL_ETHERSBUS
    structs: []
    typedefs: []
    union: []
- function_names:
  - rmcp_header
  - ndpi_int_rmcp_add_connection
  - ndpi_search_rmcp
  - init_rmcp_dissector
  source_file: /src/ndpi/src/lib/protocols/rmcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/rmcp.c
      type_or_value: NDPI_PROTOCOL_RMCP
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_protocol_and_bmask
  - ndpi_search_in_non_tcp_udp
  - init_non_tcp_udp_dissector
  source_file: /src/ndpi/src/lib/protocols/non_tcp_udp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_soap_add_connection
  - ndpi_search_soap
  - init_soap_dissector
  source_file: /src/ndpi/src/lib/protocols/soap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/soap.c
      type_or_value: NDPI_PROTOCOL_SOAP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_corba_add_connection
  - ndpi_search_corba
  - init_corba_dissector
  source_file: /src/ndpi/src/lib/protocols/corba.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/corba.c
      type_or_value: NDPI_PROTOCOL_CORBA
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_megaco
  - init_megaco_dissector
  source_file: /src/ndpi/src/lib/protocols/megaco.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/megaco.c
      type_or_value: NDPI_PROTOCOL_MEGACO
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_rtsp_add_connection
  - ndpi_search_rtsp_tcp_udp
  - init_rtsp_dissector
  source_file: /src/ndpi/src/lib/protocols/rtsp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/rtsp.c
      type_or_value: NDPI_PROTOCOL_RTSP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_socks_add_connection
  - ndpi_check_socks4
  - ndpi_check_socks5
  - ndpi_search_socks
  - init_socks_dissector
  source_file: /src/ndpi/src/lib/protocols/socks45.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/src/lib/protocols/socks45.c
      type_or_value: NDPI_PROTOCOL_SOCKS
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_atg_add_connection
  - ndpi_search_atg
  - init_atg_dissector
  source_file: /src/ndpi/src/lib/protocols/atg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/atg.c
      type_or_value: NDPI_PROTOCOL_ATG
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_rsh_add_connection
  - ndpi_search_rsh
  - init_rsh_dissector
  source_file: /src/ndpi/src/lib/protocols/rsh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/rsh.c
      type_or_value: NDPI_PROTOCOL_RSH
    - item_type: preproc_def
      name: RSH_DEFAULT_PORT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/src/lib/protocols/rsh.c
      type_or_value: '514'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_i3d_add_connection
  - ndpi_search_i3d
  - init_i3d_dissector
  source_file: /src/ndpi/src/lib/protocols/i3d.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/i3d.c
      type_or_value: NDPI_PROTOCOL_I3D
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_dhcpv6_add_connection
  - ndpi_search_dhcpv6_udp
  - init_dhcpv6_dissector
  source_file: /src/ndpi/src/lib/protocols/dhcpv6.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/dhcpv6.c
      type_or_value: NDPI_PROTOCOL_DHCPV6
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_bgp
  - init_bgp_dissector
  source_file: /src/ndpi/src/lib/protocols/bgp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/bgp.c
      type_or_value: NDPI_PROTOCOL_BGP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_nomachine_add_connection
  - ndpi_search_nomachine
  - init_nomachine_dissector
  source_file: /src/ndpi/src/lib/protocols/nomachine.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/nomachine.c
      type_or_value: NDPI_PROTOCOL_NOMACHINE
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_rtmp_add_connection
  - ndpi_check_rtmp
  - ndpi_search_rtmp
  - init_rtmp_dissector
  source_file: /src/ndpi/src/lib/protocols/rtmp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/src/lib/protocols/rtmp.c
      type_or_value: NDPI_PROTOCOL_RTMP
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_easyweather_add_connection
  - ndpi_search_easyweather
  - init_easyweather_dissector
  source_file: /src/ndpi/src/lib/protocols/easyweather.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/ndpi/src/lib/protocols/easyweather.c
      type_or_value: NDPI_PROTOCOL_EASYWEATHER
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_spotify_add_connection
  - ndpi_check_spotify
  - ndpi_search_spotify
  - init_spotify_dissector
  source_file: /src/ndpi/src/lib/protocols/spotify.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/spotify.c
      type_or_value: NDPI_PROTOCOL_SPOTIFY
    structs: []
    typedefs: []
    union: []
- function_names:
  - dicom_header
  - ndpi_search_dicom
  - init_dicom_dissector
  source_file: /src/ndpi/src/lib/protocols/dicom.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/ndpi/src/lib/protocols/dicom.c
      type_or_value: NDPI_PROTOCOL_DICOM
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_munin_add_connection
  - ndpi_search_munin
  - init_munin_dissector
  source_file: /src/ndpi/src/lib/protocols/munin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/ndpi/src/lib/protocols/munin.c
      type_or_value: NDPI_PROTOCOL_MUNIN
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_iqiyi_add_connection
  - ndpi_search_iqiyi
  - init_iqiyi_dissector
  source_file: /src/ndpi/src/lib/protocols/iqiyi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/iqiyi.c
      type_or_value: NDPI_PROTOCOL_IQIYI
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_wireguard_add_connection
  - ndpi_search_wireguard
  - init_wireguard_dissector
  source_file: /src/ndpi/src/lib/protocols/wireguard.c
  types:
    enum:
    - enumerators:
      - name: WG_TYPE_HANDSHAKE_INITIATION
        value: '1'
      - name: WG_TYPE_COOKIE_REPLY
        value: '3'
      - name: WG_TYPE_HANDSHAKE_RESPONSE
        value: '2'
      - name: WG_TYPE_TRANSPORT_DATA
        value: '4'
      item_type: enum
      name: wg_message_type
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/ndpi/src/lib/protocols/wireguard.c
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/wireguard.c
      type_or_value: NDPI_PROTOCOL_WIREGUARD
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_zattoo_user_agent_set
  - ndpi_search_zattoo
  - init_zattoo_dissector
  source_file: /src/ndpi/src/lib/protocols/zattoo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/ndpi/src/lib/protocols/zattoo.c
      type_or_value: NDPI_PROTOCOL_ZATTOO
    structs: []
    typedefs: []
    union: []
- function_names:
  - bvlc_header
  - ndpi_int_bacnet_add_connection
  - ndpi_search_bacnet
  - init_bacnet_dissector
  source_file: /src/ndpi/src/lib/protocols/bacnet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/ndpi/src/lib/protocols/bacnet.c
      type_or_value: NDPI_PROTOCOL_BACNET
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_search_steam
  - init_steam_dissector
  source_file: /src/ndpi/src/lib/protocols/steam.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/steam.c
      type_or_value: NDPI_PROTOCOL_STEAM
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_int_noe_add_connection
  - ndpi_search_noe
  - init_noe_dissector
  source_file: /src/ndpi/src/lib/protocols/noe.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_CURRENT_PROTO
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/ndpi/src/lib/protocols/noe.c
      type_or_value: NDPI_PROTOCOL_NOE
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/windows/WpdPack/Include/pcap-namedb.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZEOF_CHAR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZEOF_SHORT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SIZEOF_INT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIZEOF_LONG_LONG
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type_or_value: '8'
    - item_type: preproc_def
      name: caddr_t
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type_or_value: char*
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type_or_value: _snprintf
    - item_type: preproc_def
      name: vsnprintf
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type_or_value: _vsnprintf
    - item_type: preproc_def
      name: strdup
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type_or_value: _strdup
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type_or_value: '__inline '
    structs: []
    typedefs:
    - item_type: typedef
      name: uintptr_t
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type: unsigned __int64
    - item_type: typedef
      name: uintptr_t
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type: _W64 unsigned
    - item_type: typedef
      name: intptr_t
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type: __int64
    - item_type: typedef
      name: intptr_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/ndpi/windows/WpdPack/Include/pcap-stdinc.h
      type: _W64
    union: []
- function_names: []
  source_file: /src/ndpi/windows/WpdPack/Include/pcap-bpf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IN_MULTICAST
  - IN_EXPERIMENTAL
  - __SOCKADDR_COMMON
  - IN6_IS_ADDR_V4MAPPED
  - IN6_IS_ADDR_MULTICAST
  - IN6_IS_ADDR_LINKLOCAL
  - IN6_IS_ADDR_LOOPBACK
  - IP6OPT_TYPE
  source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IN_LOOPBACKNET
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '127'
    - item_type: preproc_def
      name: s6_addr
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: in6_u.u6_addr8
    - item_type: preproc_def
      name: s6_addr16
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: in6_u.u6_addr16
    - item_type: preproc_def
      name: s6_addr32
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: in6_u.u6_addr32
    - item_type: preproc_def
      name: s6_addr64
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: in6_u.u6_addr64
    - item_type: preproc_def
      name: IN6ADDR_ANY_INIT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }'
    - item_type: preproc_def
      name: IN6ADDR_LOOPBACK_INIT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }'
    - item_type: preproc_def
      name: ip6_vfc
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: ip6_ctlun.ip6_un2_vfc
    - item_type: preproc_def
      name: ip6_flow
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: ip6_ctlun.ip6_un1.ip6_un1_flow
    - item_type: preproc_def
      name: ip6_plen
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: ip6_ctlun.ip6_un1.ip6_un1_plen
    - item_type: preproc_def
      name: ip6_nxt
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: ip6_ctlun.ip6_un1.ip6_un1_nxt
    - item_type: preproc_def
      name: ip6_hlim
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: ip6_ctlun.ip6_un1.ip6_un1_hlim
    - item_type: preproc_def
      name: ip6_hops
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: ip6_ctlun.ip6_un1.ip6_un1_hlim
    - item_type: preproc_def
      name: nd_rd_type
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: nd_rd_hdr.icmp6_type
    - item_type: preproc_def
      name: nd_rd_code
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: nd_rd_hdr.icmp6_code
    - item_type: preproc_def
      name: nd_rd_cksum
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: nd_rd_hdr.icmp6_cksum
    - item_type: preproc_def
      name: nd_rd_reserved
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: nd_rd_hdr.icmp6_data32[0]
    - item_type: preproc_def
      name: IPPROTO_HOPOPTS
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: IPPROTO_IPV6
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '41  '
    - item_type: preproc_def
      name: IPPROTO_ROUTING
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "43\t"
    - item_type: preproc_def
      name: IPPROTO_FRAGMENT
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "44\t"
    - item_type: preproc_def
      name: IPPROTO_ESP
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "50\t"
    - item_type: preproc_def
      name: IPPROTO_AH
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "51\t"
    - item_type: preproc_def
      name: IPPROTO_ICMPV6
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "58\t"
    - item_type: preproc_def
      name: IPPROTO_NONE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "59\t"
    - item_type: preproc_def
      name: IPPROTO_DSTOPTS
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "60\t"
    - item_type: preproc_def
      name: IPPROTO_PIM
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '103 '
    - item_type: preproc_def
      name: IPV6_RTHDR_TYPE_0
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IP6OPT_PAD1
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "0x00\t"
    - item_type: preproc_def
      name: IP6OPT_PADN
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: IP6OPT_JUMBO
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "0xC2\t"
    - item_type: preproc_def
      name: IP6OPT_JUMBO_LEN
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '6'
    - item_type: preproc_def
      name: IP6OPT_ROUTER_ALERT
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "0x05\t"
    - item_type: preproc_def
      name: IP6OPT_RTALERT_LEN
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IP6OPT_RTALERT_MLD
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: IP6OPT_RTALERT_RSVP
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: IP6OPT_RTALERT_ACTNET
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "2 \t"
    - item_type: preproc_def
      name: IP6OPT_MINLEN
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '2'
    - item_type: preproc_def
      name: IP6OPT_BINDING_UPDATE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "0xc6\t"
    - item_type: preproc_def
      name: IP6OPT_BINDING_ACK
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "0x07\t"
    - item_type: preproc_def
      name: IP6OPT_BINDING_REQ
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: IP6OPT_HOME_ADDRESS
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "0xc9\t"
    - item_type: preproc_def
      name: IP6OPT_EID
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: "0x8a\t"
    - item_type: preproc_def
      name: IP6OPT_TYPE_SKIP
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: IP6OPT_TYPE_DISCARD
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: IP6OPT_TYPE_FORCEICMP
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: IP6OPT_TYPE_ICMP
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '0xC0'
    - item_type: preproc_def
      name: IP6OPT_MUTABLE
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type_or_value: '0x20'
    structs:
    - fields:
      - name: in6_u
        type: "union\n      {\n\tu_int8_t\t\tu6_addr8[16];\n\tu_int16_t\tu6_addr16[8];\n\tu_int32_t\tu6_addr32[4];\n
          \     }"
      item_type: struct
      name: in6_addr
      pos:
        line_end: 53
        line_start: 41
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
    - fields:
      - name: sin6_port
        type: u_int16_t
      - name: sin6_flowinfo
        type: u_int32_t
      - name: sin6_addr
        type: struct in6_addr
      item_type: struct
      name: sockaddr_in6
      pos:
        line_end: 77
        line_start: 71
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
    - fields:
      - name: ai_flags
        type: int
      - name: ai_family
        type: int
      - name: ai_socktype
        type: int
      - name: ai_protocol
        type: int
      - name: ai_addrlen
        type: size_t
      - name: '*ai_canonname'
        type: char
      - name: '*ai_addr'
        type: struct sockaddr
      - name: '*ai_next'
        type: struct addrinfo
      item_type: struct
      name: addrinfo
      pos:
        line_end: 160
        line_start: 151
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
    typedefs:
    - item_type: typedef
      name: sa_family_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/ndpi/windows/WpdPack/Include/ip6_misc.h
      type: unsigned short
    union: []
- function_names: []
  source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_U_INT8_T
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INT8_T
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_U_INT16_T
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INT16_T
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_U_INT32_T
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_INT32_T
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PRId64
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '"I64d"'
    - item_type: preproc_def
      name: PRId64
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '"lld"'
    - item_type: preproc_def
      name: PRIo64
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '"I64o"'
    - item_type: preproc_def
      name: PRIo64
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '"llo"'
    - item_type: preproc_def
      name: PRIx64
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '"I64x"'
    - item_type: preproc_def
      name: PRIx64
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '"llx"'
    - item_type: preproc_def
      name: PRIu64
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '"I64u"'
    - item_type: preproc_def
      name: PRIu64
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type_or_value: '"llu"'
    structs: []
    typedefs:
    - item_type: typedef
      name: u_int8_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned char
    - item_type: typedef
      name: int8_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: signed char
    - item_type: typedef
      name: u_int8_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned int
    - item_type: typedef
      name: int8_t
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: signed int
    - item_type: typedef
      name: u_int16_t
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned short
    - item_type: typedef
      name: int16_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: signed short
    - item_type: typedef
      name: u_int16_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned int
    - item_type: typedef
      name: int16_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: signed int
    - item_type: typedef
      name: u_int16_t
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned char
    - item_type: typedef
      name: int16_t
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: signed char
    - item_type: typedef
      name: u_int32_t
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned int
    - item_type: typedef
      name: int32_t
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: signed int
    - item_type: typedef
      name: u_int32_t
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned long
    - item_type: typedef
      name: int32_t
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: signed long
    - item_type: typedef
      name: u_int32_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned short
    - item_type: typedef
      name: int32_t
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: signed short
    - item_type: typedef
      name: u_int64_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned long long
    - item_type: typedef
      name: int64_t
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: long long
    - item_type: typedef
      name: u_int64_t
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned _int64
    - item_type: typedef
      name: int64_t
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: _int64
    - item_type: typedef
      name: u_int64_t
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned int
    - item_type: typedef
      name: u_int64_t
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned long
    - item_type: typedef
      name: u_int64_t
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/ndpi/windows/WpdPack/Include/bittypes.h
      type: unsigned short
    union: []
- function_names: []
  source_file: /src/ndpi/windows/WpdPack/Include/pcap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCAP_BUF_SIZE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: PCAP_SRC_FILE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCAP_SRC_IFLOCAL
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PCAP_SRC_IFREMOTE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCAP_SRC_FILE_STRING
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '"file://"'
    - item_type: preproc_def
      name: PCAP_SRC_IF_STRING
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '"rpcap://"'
    - item_type: preproc_def
      name: PCAP_OPENFLAG_PROMISCUOUS
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCAP_OPENFLAG_DATATX_UDP
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCAP_OPENFLAG_NOCAPTURE_RPCAP
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCAP_OPENFLAG_NOCAPTURE_LOCAL
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PCAP_OPENFLAG_MAX_RESPONSIVENESS
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PCAP_SAMP_NOSAMP
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PCAP_SAMP_1_EVERY_N
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCAP_SAMP_FIRST_AFTER_N_MS
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RPCAP_RMTAUTH_NULL
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RPCAP_RMTAUTH_PWD
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RPCAP_HOSTLIST_SIZE
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
      type_or_value: '1024'
    structs:
    - fields:
      - name: type
        type: int
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      item_type: struct
      name: pcap_rmtauth
      pos:
        line_end: 365
        line_start: 337
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
    - fields:
      - name: method
        type: int
      - name: value
        type: int
      item_type: struct
      name: pcap_samp
      pos:
        line_end: 392
        line_start: 379
        source_file: /src/ndpi/windows/WpdPack/Include/remote-ext.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BPF_MEM_EX_IMM
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: BPF_MEM_EX_IND
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0xe0'
    - item_type: preproc_def
      name: BPF_MEM_EX
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: BPF_TME
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: BPF_LOOKUP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0x90   '
    - item_type: preproc_def
      name: BPF_EXECUTE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0xa0'
    - item_type: preproc_def
      name: BPF_INIT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0xb0'
    - item_type: preproc_def
      name: BPF_VALIDATE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: BPF_SET_ACTIVE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0xd0'
    - item_type: preproc_def
      name: BPF_RESET
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0xe0'
    - item_type: preproc_def
      name: BPF_SET_MEMORY
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: BPF_GET_REGISTER_VALUE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0x70'
    - item_type: preproc_def
      name: BPF_SET_REGISTER_VALUE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0x60'
    - item_type: preproc_def
      name: BPF_SET_WORKING
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0x50'
    - item_type: preproc_def
      name: BPF_SET_ACTIVE_READ
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: BPF_SET_AUTODELETION
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0x30'
    - item_type: preproc_def
      name: BPF_SEPARATION
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type_or_value: '0xff'
    structs:
    - fields:
      - name: maxlen
        type: u_int
      - name: len
        type: u_int
      - name: '*buffer'
        type: char
      item_type: struct
      name: pcap_send_queue
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
    typedefs:
    - item_type: typedef
      name: pcap_send_queue
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type: pcap_send_queue
    - item_type: typedef
      name: '*PAirpcapHandle'
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/ndpi/windows/WpdPack/Include/Win32-Extensions.h
      type: _AirpcapHandle
    union: []
- function_names:
  - BPF_WORDALIGN
  - DLT_CLASS
  - DLT_NETBSD_RAWAF
  - DLT_NETBSD_RAWAF_AF
  - DLT_IS_NETBSD_RAWAF
  - BPF_CLASS
  - BPF_SIZE
  - BPF_MODE
  - BPF_OP
  - BPF_SRC
  - BPF_RVAL
  - BPF_MISCOP
  - BPF_STMT
  - BPF_JUMP
  source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BPF_RELEASE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '199606'
    - item_type: preproc_def
      name: BPF_ALIGNMENT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: sizeof(bpf_int32)
    - item_type: preproc_def
      name: BPF_ALIGNMENT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: sizeof(long)
    - item_type: preproc_def
      name: BPF_MAXBUFSIZE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: BPF_MINBUFSIZE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '32'
    - item_type: preproc_def
      name: BPF_MAJOR_VERSION
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BPF_MINOR_VERSION
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DLT_NULL
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: DLT_EN10MB
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DLT_EN3MB
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DLT_AX25
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: DLT_PRONET
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DLT_CHAOS
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: DLT_IEEE802
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: DLT_ARCNET
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: DLT_SLIP
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: DLT_PPP
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "9\t"
    - item_type: preproc_def
      name: DLT_FDDI
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "10\t"
    - item_type: preproc_def
      name: DLT_ATM_RFC1483
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "11\t"
    - item_type: preproc_def
      name: DLT_RAW
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "14\t"
    - item_type: preproc_def
      name: DLT_RAW
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "12\t"
    - item_type: preproc_def
      name: DLT_SLIP_BSDOS
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "13\t"
    - item_type: preproc_def
      name: DLT_PPP_BSDOS
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "14\t"
    - item_type: preproc_def
      name: DLT_SLIP_BSDOS
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "15\t"
    - item_type: preproc_def
      name: DLT_PPP_BSDOS
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "16\t"
    - item_type: preproc_def
      name: DLT_ATM_CLIP
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "19\t"
    - item_type: preproc_def
      name: DLT_REDBACK_SMARTEDGE
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '32'
    - item_type: preproc_def
      name: DLT_PPP_SERIAL
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "50\t"
    - item_type: preproc_def
      name: DLT_PPP_ETHER
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "51\t"
    - item_type: preproc_def
      name: DLT_SYMANTEC_FIREWALL
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '99'
    - item_type: preproc_def
      name: DLT_C_HDLC
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "104\t"
    - item_type: preproc_def
      name: DLT_CHDLC
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: DLT_C_HDLC
    - item_type: preproc_def
      name: DLT_IEEE802_11
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "105\t"
    - item_type: preproc_def
      name: DLT_FRELAY
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '107'
    - item_type: preproc_def
      name: DLT_LOOP
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '12'
    - item_type: preproc_def
      name: DLT_LOOP
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '108'
    - item_type: preproc_def
      name: DLT_ENC
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '13'
    - item_type: preproc_def
      name: DLT_ENC
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '109'
    - item_type: preproc_def
      name: DLT_LINUX_SLL
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '113'
    - item_type: preproc_def
      name: DLT_LTALK
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '114'
    - item_type: preproc_def
      name: DLT_ECONET
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '115'
    - item_type: preproc_def
      name: DLT_IPFILTER
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '116'
    - item_type: preproc_def
      name: DLT_OLD_PFLOG
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '17'
    - item_type: preproc_def
      name: DLT_PFSYNC
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '18'
    - item_type: preproc_def
      name: DLT_PFLOG
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '117'
    - item_type: preproc_def
      name: DLT_CISCO_IOS
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '118'
    - item_type: preproc_def
      name: DLT_PRISM_HEADER
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '119'
    - item_type: preproc_def
      name: DLT_AIRONET_HEADER
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '120'
    - item_type: preproc_def
      name: DLT_HHDLC
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '121'
    - item_type: preproc_def
      name: DLT_IP_OVER_FC
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '122'
    - item_type: preproc_def
      name: DLT_SUNATM
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "123\t"
    - item_type: preproc_def
      name: DLT_RIO
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '124     '
    - item_type: preproc_def
      name: DLT_PCI_EXP
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '125     '
    - item_type: preproc_def
      name: DLT_AURORA
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '126     '
    - item_type: preproc_def
      name: DLT_IEEE802_11_RADIO
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "127\t"
    - item_type: preproc_def
      name: DLT_TZSP
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '128     '
    - item_type: preproc_def
      name: DLT_ARCNET_LINUX
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "129\t"
    - item_type: preproc_def
      name: DLT_JUNIPER_MLPPP
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '130'
    - item_type: preproc_def
      name: DLT_JUNIPER_MLFR
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '131'
    - item_type: preproc_def
      name: DLT_JUNIPER_ES
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '132'
    - item_type: preproc_def
      name: DLT_JUNIPER_GGSN
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '133'
    - item_type: preproc_def
      name: DLT_JUNIPER_MFR
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '134'
    - item_type: preproc_def
      name: DLT_JUNIPER_ATM2
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '135'
    - item_type: preproc_def
      name: DLT_JUNIPER_SERVICES
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '136'
    - item_type: preproc_def
      name: DLT_JUNIPER_ATM1
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '137'
    - item_type: preproc_def
      name: DLT_APPLE_IP_OVER_IEEE1394
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '138'
    - item_type: preproc_def
      name: DLT_MTP2_WITH_PHDR
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "139\t"
    - item_type: preproc_def
      name: DLT_MTP2
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "140\t"
    - item_type: preproc_def
      name: DLT_MTP3
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "141\t"
    - item_type: preproc_def
      name: DLT_SCCP
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "142\t"
    - item_type: preproc_def
      name: DLT_DOCSIS
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '143'
    - item_type: preproc_def
      name: DLT_LINUX_IRDA
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '144'
    - item_type: preproc_def
      name: DLT_IBM_SP
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '145'
    - item_type: preproc_def
      name: DLT_IBM_SN
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '146'
    - item_type: preproc_def
      name: DLT_USER0
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '147'
    - item_type: preproc_def
      name: DLT_USER1
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '148'
    - item_type: preproc_def
      name: DLT_USER2
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '149'
    - item_type: preproc_def
      name: DLT_USER3
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '150'
    - item_type: preproc_def
      name: DLT_USER4
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '151'
    - item_type: preproc_def
      name: DLT_USER5
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '152'
    - item_type: preproc_def
      name: DLT_USER6
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '153'
    - item_type: preproc_def
      name: DLT_USER7
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '154'
    - item_type: preproc_def
      name: DLT_USER8
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '155'
    - item_type: preproc_def
      name: DLT_USER9
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '156'
    - item_type: preproc_def
      name: DLT_USER10
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '157'
    - item_type: preproc_def
      name: DLT_USER11
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '158'
    - item_type: preproc_def
      name: DLT_USER12
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '159'
    - item_type: preproc_def
      name: DLT_USER13
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '160'
    - item_type: preproc_def
      name: DLT_USER14
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '161'
    - item_type: preproc_def
      name: DLT_USER15
      pos:
        line_end: 503
        line_start: 502
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '162'
    - item_type: preproc_def
      name: DLT_IEEE802_11_RADIO_AVS
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "163\t"
    - item_type: preproc_def
      name: DLT_JUNIPER_MONITOR
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '164'
    - item_type: preproc_def
      name: DLT_BACNET_MS_TP
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '165'
    - item_type: preproc_def
      name: DLT_PPP_PPPD
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '166'
    - item_type: preproc_def
      name: DLT_PPP_WITH_DIRECTION
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: DLT_PPP_PPPD
    - item_type: preproc_def
      name: DLT_LINUX_PPP_WITHDIRECTION
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: DLT_PPP_PPPD
    - item_type: preproc_def
      name: DLT_JUNIPER_PPPOE
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '167'
    - item_type: preproc_def
      name: DLT_JUNIPER_PPPOE_ATM
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '168'
    - item_type: preproc_def
      name: DLT_GPRS_LLC
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "169\t"
    - item_type: preproc_def
      name: DLT_GPF_T
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "170\t"
    - item_type: preproc_def
      name: DLT_GPF_F
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "171\t"
    - item_type: preproc_def
      name: DLT_GCOM_T1E1
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '172'
    - item_type: preproc_def
      name: DLT_GCOM_SERIAL
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '173'
    - item_type: preproc_def
      name: DLT_JUNIPER_PIC_PEER
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '174'
    - item_type: preproc_def
      name: DLT_ERF_ETH
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "175\t"
    - item_type: preproc_def
      name: DLT_ERF_POS
      pos:
        line_end: 587
        line_start: 586
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "176\t"
    - item_type: preproc_def
      name: DLT_LINUX_LAPD
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '177'
    - item_type: preproc_def
      name: DLT_JUNIPER_ETHER
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '178'
    - item_type: preproc_def
      name: DLT_JUNIPER_PPP
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '179'
    - item_type: preproc_def
      name: DLT_JUNIPER_FRELAY
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '180'
    - item_type: preproc_def
      name: DLT_JUNIPER_CHDLC
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '181'
    - item_type: preproc_def
      name: DLT_MFR
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '182'
    - item_type: preproc_def
      name: DLT_JUNIPER_VP
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '183'
    - item_type: preproc_def
      name: DLT_A429
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '184'
    - item_type: preproc_def
      name: DLT_A653_ICM
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '185'
    - item_type: preproc_def
      name: DLT_USB
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '186'
    - item_type: preproc_def
      name: DLT_BLUETOOTH_HCI_H4
      pos:
        line_end: 648
        line_start: 647
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '187'
    - item_type: preproc_def
      name: DLT_IEEE802_16_MAC_CPS
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '188'
    - item_type: preproc_def
      name: DLT_USB_LINUX
      pos:
        line_end: 660
        line_start: 659
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '189'
    - item_type: preproc_def
      name: DLT_CAN20B
      pos:
        line_end: 669
        line_start: 668
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '190'
    - item_type: preproc_def
      name: DLT_IEEE802_15_4_LINUX
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '191'
    - item_type: preproc_def
      name: DLT_PPI
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '192'
    - item_type: preproc_def
      name: DLT_IEEE802_16_MAC_CPS_RADIO
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '193'
    - item_type: preproc_def
      name: DLT_JUNIPER_ISM
      pos:
        line_end: 695
        line_start: 694
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '194'
    - item_type: preproc_def
      name: DLT_IEEE802_15_4
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '195'
    - item_type: preproc_def
      name: DLT_SITA
      pos:
        line_end: 707
        line_start: 706
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '196'
    - item_type: preproc_def
      name: DLT_ERF
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '197'
    - item_type: preproc_def
      name: DLT_RAIF1
      pos:
        line_end: 721
        line_start: 720
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '198'
    - item_type: preproc_def
      name: DLT_IPMB
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '199'
    - item_type: preproc_def
      name: DLT_JUNIPER_ST
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '200'
    - item_type: preproc_def
      name: DLT_BLUETOOTH_HCI_H4_WITH_PHDR
      pos:
        line_end: 741
        line_start: 740
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '201'
    - item_type: preproc_def
      name: DLT_AX25_KISS
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '202'
    - item_type: preproc_def
      name: DLT_LAPD
      pos:
        line_end: 757
        line_start: 756
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '203'
    - item_type: preproc_def
      name: DLT_PPP_WITH_DIR
      pos:
        line_end: 765
        line_start: 764
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "204\t"
    - item_type: preproc_def
      name: DLT_C_HDLC_WITH_DIR
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "205\t"
    - item_type: preproc_def
      name: DLT_FRELAY_WITH_DIR
      pos:
        line_end: 767
        line_start: 766
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "206\t"
    - item_type: preproc_def
      name: DLT_LAPB_WITH_DIR
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: "207\t"
    - item_type: preproc_def
      name: DLT_IPMB_LINUX
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '209'
    - item_type: preproc_def
      name: DLT_FLEXRAY
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '210'
    - item_type: preproc_def
      name: DLT_MOST
      pos:
        line_end: 792
        line_start: 791
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '211'
    - item_type: preproc_def
      name: DLT_LIN
      pos:
        line_end: 799
        line_start: 798
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '212'
    - item_type: preproc_def
      name: DLT_X2E_SERIAL
      pos:
        line_end: 805
        line_start: 804
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '213'
    - item_type: preproc_def
      name: DLT_X2E_XORAYA
      pos:
        line_end: 811
        line_start: 810
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '214'
    - item_type: preproc_def
      name: DLT_IEEE802_15_4_NONASK_PHY
      pos:
        line_end: 822
        line_start: 821
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '215'
    - item_type: preproc_def
      name: DLT_CLASS_NETBSD_RAWAF
      pos:
        line_end: 839
        line_start: 838
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x02240000'
    - item_type: preproc_def
      name: BPF_LD
      pos:
        line_end: 850
        line_start: 849
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_LDX
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: BPF_ST
      pos:
        line_end: 852
        line_start: 851
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: BPF_STX
      pos:
        line_end: 853
        line_start: 852
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: BPF_ALU
      pos:
        line_end: 854
        line_start: 853
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: BPF_JMP
      pos:
        line_end: 855
        line_start: 854
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: BPF_RET
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: BPF_MISC
      pos:
        line_end: 857
        line_start: 856
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: BPF_W
      pos:
        line_end: 861
        line_start: 860
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_H
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: BPF_B
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: BPF_IMM
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_ABS
      pos:
        line_end: 866
        line_start: 865
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: BPF_IND
      pos:
        line_end: 867
        line_start: 866
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: BPF_MEM
      pos:
        line_end: 868
        line_start: 867
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x60'
    - item_type: preproc_def
      name: BPF_LEN
      pos:
        line_end: 869
        line_start: 868
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: BPF_MSH
      pos:
        line_end: 870
        line_start: 869
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0xa0'
    - item_type: preproc_def
      name: BPF_ADD
      pos:
        line_end: 874
        line_start: 873
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_SUB
      pos:
        line_end: 875
        line_start: 874
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: BPF_MUL
      pos:
        line_end: 876
        line_start: 875
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: BPF_DIV
      pos:
        line_end: 877
        line_start: 876
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x30'
    - item_type: preproc_def
      name: BPF_OR
      pos:
        line_end: 878
        line_start: 877
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: BPF_AND
      pos:
        line_end: 879
        line_start: 878
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x50'
    - item_type: preproc_def
      name: BPF_LSH
      pos:
        line_end: 880
        line_start: 879
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x60'
    - item_type: preproc_def
      name: BPF_RSH
      pos:
        line_end: 881
        line_start: 880
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x70'
    - item_type: preproc_def
      name: BPF_NEG
      pos:
        line_end: 882
        line_start: 881
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: BPF_JA
      pos:
        line_end: 883
        line_start: 882
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_JEQ
      pos:
        line_end: 884
        line_start: 883
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: BPF_JGT
      pos:
        line_end: 885
        line_start: 884
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: BPF_JGE
      pos:
        line_end: 886
        line_start: 885
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x30'
    - item_type: preproc_def
      name: BPF_JSET
      pos:
        line_end: 887
        line_start: 886
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: BPF_K
      pos:
        line_end: 889
        line_start: 888
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_X
      pos:
        line_end: 890
        line_start: 889
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: BPF_A
      pos:
        line_end: 894
        line_start: 893
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: BPF_TAX
      pos:
        line_end: 898
        line_start: 897
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_TXA
      pos:
        line_end: 899
        line_start: 898
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: BPF_MEMWORDS
      pos:
        line_end: 928
        line_start: 927
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type_or_value: '16'
    structs:
    - fields:
      - name: bf_len
        type: u_int
      - name: '*bf_insns'
        type: struct bpf_insn
      item_type: struct
      name: bpf_program
      pos:
        line_end: 90
        line_start: 87
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    - fields:
      - name: bv_major
        type: u_short
      - name: bv_minor
        type: u_short
      item_type: struct
      name: bpf_version
      pos:
        line_end: 106
        line_start: 103
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    - fields:
      - name: code
        type: u_short
      - name: jt
        type: u_char
      - name: jf
        type: u_char
      - name: k
        type: bpf_u_int32
      item_type: struct
      name: bpf_insn
      pos:
        line_end: 908
        line_start: 903
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
    typedefs:
    - item_type: typedef
      name: bpf_int32
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type: long
    - item_type: typedef
      name: bpf_u_int32
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type: unsigned long
    - item_type: typedef
      name: bpf_int32
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type: int
    - item_type: typedef
      name: bpf_u_int32
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/bpf.h
      type: u_int
    union: []
- function_names:
  - LT_FCS_LENGTH_PRESENT
  - LT_FCS_LENGTH
  - LT_FCS_DATALINK_EXT
  - pcap_fopen_offline
  source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOCKET
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: SOCKET
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: int
    - item_type: preproc_def
      name: PCAP_VERSION_MAJOR
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCAP_VERSION_MINOR
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCAP_ERRBUF_SIZE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: '256'
    - item_type: preproc_def
      name: PCAP_IF_LOOPBACK
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: PCAP_ERROR
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "-1\t"
    - item_type: preproc_def
      name: PCAP_ERROR_BREAK
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "-2\t"
    - item_type: preproc_def
      name: PCAP_ERROR_NOT_ACTIVATED
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "-3\t"
    - item_type: preproc_def
      name: PCAP_ERROR_ACTIVATED
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "-4\t"
    - item_type: preproc_def
      name: PCAP_ERROR_NO_SUCH_DEVICE
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "-5\t"
    - item_type: preproc_def
      name: PCAP_ERROR_RFMON_NOTSUP
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "-6\t"
    - item_type: preproc_def
      name: PCAP_ERROR_NOT_RFMON
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "-7\t"
    - item_type: preproc_def
      name: PCAP_ERROR_PERM_DENIED
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "-8\t"
    - item_type: preproc_def
      name: PCAP_ERROR_IFACE_NOT_UP
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "-9\t"
    - item_type: preproc_def
      name: PCAP_WARNING
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PCAP_WARNING_PROMISC_NOTSUP
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MODE_CAPT
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MODE_STAT
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MODE_MON
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type_or_value: '2'
    structs:
    - fields:
      - name: magic
        type: bpf_u_int32
      - name: version_major
        type: u_short
      - name: version_minor
        type: u_short
      - name: thiszone
        type: bpf_int32
      - name: sigfigs
        type: bpf_u_int32
      - name: snaplen
        type: bpf_u_int32
      - name: linktype
        type: bpf_u_int32
      item_type: struct
      name: pcap_file_header
      pos:
        line_end: 136
        line_start: 128
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
    - fields:
      - name: ts
        type: struct timeval
      - name: caplen
        type: bpf_u_int32
      - name: len
        type: bpf_u_int32
      item_type: struct
      name: pcap_pkthdr
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
    - fields:
      - name: ps_recv
        type: u_int
      - name: ps_drop
        type: u_int
      - name: ps_ifdrop
        type: u_int
      item_type: struct
      name: pcap_stat
      pos:
        line_end: 184
        line_start: 175
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
    - fields:
      - name: rx_packets
        type: u_long
      - name: tx_packets
        type: u_long
      - name: rx_bytes
        type: u_long
      - name: tx_bytes
        type: u_long
      - name: rx_errors
        type: u_long
      - name: tx_errors
        type: u_long
      - name: rx_dropped
        type: u_long
      - name: tx_dropped
        type: u_long
      - name: multicast
        type: u_long
      - name: collisions
        type: u_long
      - name: rx_length_errors
        type: u_long
      - name: rx_over_errors
        type: u_long
      - name: rx_crc_errors
        type: u_long
      - name: rx_frame_errors
        type: u_long
      - name: rx_fifo_errors
        type: u_long
      - name: rx_missed_errors
        type: u_long
      - name: tx_aborted_errors
        type: u_long
      - name: tx_carrier_errors
        type: u_long
      - name: tx_fifo_errors
        type: u_long
      - name: tx_heartbeat_errors
        type: u_long
      - name: tx_window_errors
        type: u_long
      item_type: struct
      name: pcap_stat_ex
      pos:
        line_end: 216
        line_start: 190
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
    - fields:
      - name: '*next'
        type: struct pcap_if
      - name: '*name'
        type: char
      - name: '*description'
        type: char
      - name: '*addresses'
        type: struct pcap_addr
      - name: flags
        type: bpf_u_int32
      item_type: struct
      name: pcap_if
      pos:
        line_end: 228
        line_start: 222
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
    - fields:
      - name: '*next'
        type: struct pcap_addr
      - name: '*addr'
        type: struct sockaddr
      - name: '*netmask'
        type: struct sockaddr
      - name: '*broadaddr'
        type: struct sockaddr
      - name: '*dstaddr'
        type: struct sockaddr
      item_type: struct
      name: pcap_addr
      pos:
        line_end: 241
        line_start: 235
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
    typedefs:
    - item_type: typedef
      name: bpf_int32
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type: int
    - item_type: typedef
      name: bpf_u_int32
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type: u_int
    - item_type: typedef
      name: pcap_t
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type: pcap
    - item_type: typedef
      name: pcap_dumper_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type: pcap_dumper
    - item_type: typedef
      name: pcap_if_t
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type: pcap_if
    - item_type: typedef
      name: pcap_addr_t
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type: pcap_addr
    - item_type: typedef
      name: "(*pcap_handler)(u_char *, const struct pcap_pkthdr *,\n\t\t\t     const
        u_char *)"
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/ndpi/windows/WpdPack/Include/pcap/pcap.h
      type: void
    union: []
- function_names: []
  source_file: /src/ndpi/windows/src/getopt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _GETOPT_API
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: _GETOPT_API
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: _GETOPT_BEGIN_EXTERN_C
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: extern "C" {
    - item_type: preproc_def
      name: _GETOPT_END_EXTERN_C
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: '}'
    - item_type: preproc_def
      name: _GETOPT_THROW
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: throw()
    - item_type: preproc_def
      name: null_argument
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: no_argument
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: required_argument
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: optional_argument
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ARG_NULL
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ARG_NONE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ARG_REQ
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ARG_OPT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: getopt
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: getopt_w
    - item_type: preproc_def
      name: getopt_long
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: getopt_long_w
    - item_type: preproc_def
      name: getopt_long_only
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: getopt_long_only_w
    - item_type: preproc_def
      name: option
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: option_w
    - item_type: preproc_def
      name: optarg
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: optarg_w
    - item_type: preproc_def
      name: getopt
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: getopt_a
    - item_type: preproc_def
      name: getopt_long
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: getopt_long_a
    - item_type: preproc_def
      name: getopt_long_only
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: getopt_long_only_a
    - item_type: preproc_def
      name: option
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: option_a
    - item_type: preproc_def
      name: optarg
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/ndpi/windows/src/getopt.h
      type_or_value: optarg_a
    structs:
    - fields:
      - name: '* name'
        type: char
      - name: has_arg
        type: int
      - name: '*flag'
        type: int
      - name: val
        type: int
      item_type: struct
      name: option_a
      pos:
        line_end: 96
        line_start: 90
        source_file: /src/ndpi/windows/src/getopt.h
    - fields:
      - name: '* name'
        type: wchar_t
      - name: has_arg
        type: int
      - name: '*flag'
        type: int
      - name: val
        type: int
      item_type: struct
      name: option_w
      pos:
        line_end: 109
        line_start: 103
        source_file: /src/ndpi/windows/src/getopt.h
    typedefs: []
    union: []
- function_names:
  - exchange_a
  - _getopt_initialize_a
  - _getopt_internal_r_a
  - _getopt_internal_a
  - getopt_a
  - getopt_long_a
  - getopt_long_only_a
  - _getopt_long_r_a
  - _getopt_long_only_r_a
  - exchange_w
  - _getopt_initialize_w
  - _getopt_internal_r_w
  - _getopt_internal_w
  - getopt_w
  - getopt_long_w
  - getopt_long_only_w
  - _getopt_long_r_w
  - _getopt_long_only_r_w
  source_file: /src/ndpi/windows/src/getopt.c
  types:
    enum:
    - enumerators:
      - name: REQUIRE_ORDER
      - name: PERMUTE
      - name: RETURN_IN_ORDER
      item_type: enum
      name: ENUM_ORDERING
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/ndpi/windows/src/getopt.c
    preproc_defs:
    - item_type: preproc_def
      name: _GETOPT_THROW
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/ndpi/windows/src/getopt.c
      type_or_value: throw()
    structs:
    - fields:
      - name: optind
        type: int
      - name: opterr
        type: int
      - name: optopt
        type: int
      - name: '*optarg'
        type: char
      - name: __initialized
        type: int
      - name: '*__nextchar'
        type: char
      - name: __ordering
        type: enum ENUM_ORDERING
      - name: __posixly_correct
        type: int
      - name: __first_nonopt
        type: int
      - name: __last_nonopt
        type: int
      item_type: struct
      name: _getopt_data_a
      pos:
        line_end: 71
        line_start: 59
        source_file: /src/ndpi/windows/src/getopt.c
    - fields:
      - name: '*p'
        type: struct option_a
      - name: '*next'
        type: struct option_list
      item_type: struct
      name: option_list
      pos:
        line_end: 199
        line_start: 195
        source_file: /src/ndpi/windows/src/getopt.c
    - fields:
      - name: optind
        type: int
      - name: opterr
        type: int
      - name: optopt
        type: int
      - name: '*optarg'
        type: wchar_t
      - name: __initialized
        type: int
      - name: '*__nextchar'
        type: wchar_t
      - name: __ordering
        type: enum ENUM_ORDERING
      - name: __posixly_correct
        type: int
      - name: __first_nonopt
        type: int
      - name: __last_nonopt
        type: int
      item_type: struct
      name: _getopt_data_w
      pos:
        line_end: 531
        line_start: 519
        source_file: /src/ndpi/windows/src/getopt.c
    - fields:
      - name: '*p'
        type: struct option_w
      - name: '*next'
        type: struct option_list
      item_type: struct
      name: option_list
      pos:
        line_end: 659
        line_start: 655
        source_file: /src/ndpi/windows/src/getopt.c
    typedefs: []
    union: []
- function_names:
  - gettimeofday
  source_file: /src/ndpi/windows/src/win-gettimeofday.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DELTA_EPOCH_IN_MICROSECS
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/ndpi/windows/src/win-gettimeofday.c
      type_or_value: 11644473600000000Ui64
    - item_type: preproc_def
      name: DELTA_EPOCH_IN_MICROSECS
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/ndpi/windows/src/win-gettimeofday.c
      type_or_value: 11644473600000000ULL
    structs:
    - fields:
      - name: tz_minuteswest
        type: int
      - name: tz_dsttime
        type: int
      item_type: struct
      name: timezone
      pos:
        line_end: 19
        line_start: 15
        source_file: /src/ndpi/windows/src/win-gettimeofday.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/windows/src/ndpi_config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_GIT_RELEASE
      pos:
        line_end: 2
        line_start: 2
        source_file: /src/ndpi/windows/src/ndpi_config.h
      type_or_value: '"unknown"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - NDPI_EXCLUDE_DISSECTOR
  - NDPI_STATICSTRING_LEN
  - NDPI_COMPARE_IPV6_ADDRESS_STRUCTS
  - howmanybits
  - NDPI_SET_BIT
  - NDPI_CLR_BIT
  - NDPI_CLR_BIT
  - NDPI_ISSET_BIT
  - NDPI_ZERO_BIT
  - NDPI_ONES_BIT
  - ndpi_min
  - ndpi_max
  - NDPI_ARRAY_LENGTH
  - get_u_int8_t
  - get_u_int16_t
  - get_u_int32_t
  - get_u_int64_t
  - get_u_int64_t
  - get_ul8
  - get_l16
  - get_l32
  - get_l16
  - get_l32
  - match_first_bytes
  - le16toh
  - le32toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  source_file: /src/ndpi/windows/src/ndpi_define.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NDPI_API_VERSION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0'
    - item_type: preproc_def
      name: __BYTE_ORDER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: BYTE_ORDER
    - item_type: preproc_def
      name: __LITTLE_ENDIAN__
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NDPI_SELECTION_BITMASK_PROTOCOL_SIZE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: u_int32_t
    - item_type: preproc_def
      name: MAX_DEFAULT_PORTS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '5'
    - item_type: preproc_def
      name: NDPI_NUM_DEFAULT_ROOT_NODES
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '512'
    - item_type: preproc_def
      name: NDPI_IPSEC_PROTOCOL_ESP
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '50'
    - item_type: preproc_def
      name: NDPI_IPSEC_PROTOCOL_AH
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '51'
    - item_type: preproc_def
      name: NDPI_GRE_PROTOCOL_TYPE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x2F'
    - item_type: preproc_def
      name: NDPI_ICMP_PROTOCOL_TYPE
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: NDPI_IGMP_PROTOCOL_TYPE
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: NDPI_EGP_PROTOCOL_TYPE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: NDPI_OSPF_PROTOCOL_TYPE
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x59'
    - item_type: preproc_def
      name: NDPI_VRRP_PROTOCOL_TYPE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '112'
    - item_type: preproc_def
      name: NDPI_SCTP_PROTOCOL_TYPE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '132'
    - item_type: preproc_def
      name: NDPI_IPIP_PROTOCOL_TYPE
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: NDPI_ICMPV6_PROTOCOL_TYPE
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x3a'
    - item_type: preproc_def
      name: NDPI_PGM_PROTOCOL_TYPE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x71'
    - item_type: preproc_def
      name: NDPI_PIM_PROTOCOL_TYPE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x67'
    - item_type: preproc_def
      name: strtok_r
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: strtok_s
    - item_type: preproc_def
      name: NDPI_MAJOR
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NDPI_MINOR
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NDPI_PATCH
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NDPI_MAX_DNS_REQUESTS
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '48'
    - item_type: preproc_def
      name: NDPI_MIN_NUM_STUN_DETECTION
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NDPI_CIPHER_SAFE
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NDPI_CIPHER_WEAK
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NDPI_CIPHER_INSECURE
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NDPI_OPTIMAL_HLL_NUM_BUCKETS
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NDPI_MAX_NUM_TLS_APPL_BLOCKS
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '8'
    - item_type: preproc_def
      name: ETH_ARP
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x0806'
    - item_type: preproc_def
      name: ETH_P_IP
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: "0x0800 \t"
    - item_type: preproc_def
      name: ETH_P_IPV6
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: "0x86dd\t"
    - item_type: preproc_def
      name: ETH_P_VLAN
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x8100'
    - item_type: preproc_def
      name: ETH_P_MPLS_UNI
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x8847'
    - item_type: preproc_def
      name: ETH_P_MPLS_MULTI
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x8848'
    - item_type: preproc_def
      name: ETH_P_PPPoE
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '0x8864'
    - item_type: preproc_def
      name: MAX_NBPF_CUSTOM_PROTO
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/ndpi/windows/src/ndpi_define.h
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - help
  - main
  source_file: /src/ndpi/rrdtool/rrd_anomaly.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_ALPHA
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/ndpi/rrdtool/rrd_anomaly.c
      type_or_value: '0.5'
    - item_type: preproc_def
      name: DEFAULT_RO
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/ndpi/rrdtool/rrd_anomaly.c
      type_or_value: '0.05'
    - item_type: preproc_def
      name: DEFAULT_START
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/ndpi/rrdtool/rrd_anomaly.c
      type_or_value: '"now-1d"'
    - item_type: preproc_def
      name: DEFAULT_END
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/ndpi/rrdtool/rrd_anomaly.c
      type_or_value: '"now"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - help
  - analyze_rrd
  - circles_touch
  - find_rrd_similarities
  - find_rrds
  - main
  source_file: /src/ndpi/rrdtool/rrd_similarity.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_ALPHA
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/ndpi/rrdtool/rrd_similarity.c
      type_or_value: '0.5'
    - item_type: preproc_def
      name: DEFAULT_START
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/ndpi/rrdtool/rrd_similarity.c
      type_or_value: '"now-1d"'
    - item_type: preproc_def
      name: DEFAULT_END
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/ndpi/rrdtool/rrd_similarity.c
      type_or_value: '"now"'
    - item_type: preproc_def
      name: MAX_NUM_RRDS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/ndpi/rrdtool/rrd_similarity.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/ndpi/rrdtool/rrd_similarity.c
      type_or_value: '4096'
    structs:
    - fields:
      - name: '*path'
        type: char
      - name: average
        type: float
      - name: b
        type: struct ndpi_bin
      item_type: struct
      name: rrd_file_stats
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/ndpi/rrdtool/rrd_similarity.c
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_alg_hw_rsi_outliers_da.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_alg_hll.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_alg_crc32_md5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_domain_classify.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ndpi_custom_dga_fn
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_dga.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_is_stun_tcp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_libinjection.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerCustomMutator
  - LLVMFuzzerInitialize
  - node_cleanup_walker
  - fn_flow_callback
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_alloc_fail.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_filecfg_malicious_ja4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_filecfg_malicious_sha1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_process_packet.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_bitmap64_fuse.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_kdtree.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_community_id.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_filecfg_protocols.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerCustomMutator
  - LLVMFuzzerInitialize
  - node_cleanup_walker
  - fn_flow_callback
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_quic_get_crypto_data.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_alg_shoco.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_gcrypt_aes.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/ndpi/fuzz/fuzz_common_code.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __compare
  - __free
  - __walk
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_tree.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MBEDTLS_INTERNAL_VALIDATE_RET
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_gcrypt_cipher.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerCustomMutator
  - LLVMFuzzerInitialize
  - node_cleanup_walker
  - fn_flow_callback
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ndpi_reader.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_address_cache.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_alg_jitter.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerCustomMutator
  - LLVMFuzzerInitialize
  - node_cleanup_walker
  - fn_flow_callback
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_randomize_ports.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerCustomMutator
  - LLVMFuzzerInitialize
  - node_cleanup_walker
  - fn_flow_callback
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_simplest_internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fastrand
  - malloc_wrapper
  - free_wrapper
  - fuzz_set_alloc_callbacks
  - fuzz_set_alloc_seed
  - fuzz_set_alloc_callbacks_and_seed
  - fuzz_init_detection_module
  - buffer_to_file
  source_file: /src/ndpi/fuzz/fuzz_common_code.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_alg_quick_encryption.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HMAC_SHA256_DIGEST_SIZE
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/ndpi/fuzz/fuzz_gcrypt_light.cpp
      type_or_value: '32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_filecfg_risk_domains.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_is_stun.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_alg_ses_des.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_alg_bins.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_readerutils_workflow.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_ptree.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_binaryfusefilter.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_btree.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerCustomMutator
  - LLVMFuzzerInitialize
  - node_cleanup_walker
  - fn_flow_callback
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_only_subclassification.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_filecfg_config.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_ahocorasick.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerCustomMutator
  - LLVMFuzzerInitialize
  - node_cleanup_walker
  - fn_flow_callback
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_hash.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_config.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_filecfg_categories.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_serialization.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_alg_memmem.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MBEDTLS_INTERNAL_VALIDATE_RET
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_gcrypt_gcm.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_alg_strnstr.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - process_ptree_data
  - process3_ptree_data
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_patricia.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerCustomMutator
  - LLVMFuzzerInitialize
  - node_cleanup_walker
  - fn_flow_callback
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_64k.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_filter.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_alg_bytestream.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_tls_certificate.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerCustomMutator
  - LLVMFuzzerInitialize
  - node_cleanup_walker
  - fn_flow_callback
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_payload_analyzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerCustomMutator
  - LLVMFuzzerInitialize
  - node_cleanup_walker
  - fn_flow_callback
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ndpi_reader_pl7m_internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_filecfg_category.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_cmsketch.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_bitmap.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/ndpi/fuzz/fuzz_ds_libcache.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_workflow
  - ndpi_flow_info_freer
  - free_workflow
  - get_default_pcapdev
  - setup_reader_threads
  - ip_tuple_to_string
  - print_packet_info
  - ip_tuples_compare
  - ndpi_idle_scan_walker
  - ndpi_workflow_node_cmp
  - check_for_idle_flows
  - ndpi_process_packet
  - run_pcap_loop
  - break_pcap_loop
  - processing_thread
  - processing_threads_error_or_eof
  - start_reader_threads
  - stop_reader_threads
  - sighandler
  - main
  source_file: /src/ndpi/example/ndpiSimpleIntegration.c
  types:
    enum:
    - enumerators:
      - name: L3_IP
      - name: L3_IP6
      item_type: enum
      name: nDPI_l3_type
      pos:
        line_end: 62
        line_start: 60
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
    preproc_defs:
    - item_type: preproc_def
      name: MAX_FLOW_ROOTS_PER_THREAD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: MAX_IDLE_FLOWS_PER_THREAD
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
      type_or_value: '64'
    - item_type: preproc_def
      name: TICK_RESOLUTION
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: MAX_READER_THREADS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
      type_or_value: '4'
    - item_type: preproc_def
      name: IDLE_SCAN_PERIOD
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
      type_or_value: '10000 '
    - item_type: preproc_def
      name: MAX_IDLE_TIME
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
      type_or_value: '300000 '
    - item_type: preproc_def
      name: INITIAL_THREAD_HASH
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
      type_or_value: '0x03dd018b'
    - item_type: preproc_def
      name: ETH_P_IP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: ETH_P_IPV6
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
      type_or_value: '0x86DD'
    - item_type: preproc_def
      name: ETH_P_ARP
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
      type_or_value: '0x0806'
    structs:
    - fields:
      - name: flow_id
        type: uint32_t
      - name: packets_processed
        type: unsigned long long int
      - name: first_seen
        type: uint64_t
      - name: last_seen
        type: uint64_t
      - name: hashval
        type: uint64_t
      - name: l3_type
        type: enum nDPI_l3_type
      - name: ip_tuple
        type: "union {\n    struct {\n      uint32_t src;\n      uint32_t pad_00[3];\n
          \     uint32_t dst;\n      uint32_t pad_01[3];\n    } v4;\n    struct {\n
          \     uint64_t src[2];\n      uint64_t dst[2];\n    } v6;\n\n    struct
          {\n      uint32_t src[4];\n      uint32_t dst[4];\n    } u32;\n  }"
      - name: total_l4_data_len
        type: unsigned long long int
      - name: src_port
        type: uint16_t
      - name: dst_port
        type: uint16_t
      - name: is_midstream_flow
        type: uint8_t
      - name: flow_fin_ack_seen
        type: uint8_t
      - name: flow_ack_seen
        type: uint8_t
      - name: detection_completed
        type: uint8_t
      - name: tls_client_hello_seen
        type: uint8_t
      - name: tls_server_hello_seen
        type: uint8_t
      - name: flow_info_printed
        type: uint8_t
      - name: reserved_00
        type: uint8_t
      - name: l4_protocol
        type: uint8_t
      - name: detected_l7_protocol
        type: struct ndpi_proto
      - name: guessed_protocol
        type: struct ndpi_proto
      - name: '* ndpi_flow'
        type: struct ndpi_flow_struct
      item_type: struct
      name: nDPI_flow_info
      pos:
        line_end: 108
        line_start: 64
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
    - fields:
      - name: '* pcap_handle'
        type: pcap_t
      - name: error_or_eof
        type: long int
      - name: packets_captured
        type: unsigned long long int
      - name: packets_processed
        type: unsigned long long int
      - name: total_l4_data_len
        type: unsigned long long int
      - name: detected_flow_protocols
        type: unsigned long long int
      - name: last_idle_scan_time
        type: uint64_t
      - name: last_time
        type: uint64_t
      - name: '** ndpi_flows_active'
        type: void
      - name: max_active_flows
        type: unsigned long long int
      - name: cur_active_flows
        type: unsigned long long int
      - name: total_active_flows
        type: unsigned long long int
      - name: '** ndpi_flows_idle'
        type: void
      - name: max_idle_flows
        type: unsigned long long int
      - name: cur_idle_flows
        type: unsigned long long int
      - name: total_idle_flows
        type: unsigned long long int
      - name: '* ndpi_struct'
        type: struct ndpi_detection_module_struct
      item_type: struct
      name: nDPI_workflow
      pos:
        line_end: 134
        line_start: 110
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
    - fields:
      - name: '* workflow'
        type: struct nDPI_workflow
      - name: thread_id
        type: pthread_t
      - name: array_index
        type: uint32_t
      item_type: struct
      name: nDPI_reader_thread
      pos:
        line_end: 140
        line_start: 136
        source_file: /src/ndpi/example/ndpiSimpleIntegration.c
    typedefs: []
    union: []
- function_names:
  - FCF_TYPE
  - FCF_SUBTYPE
  - FCF_TO_DS
  - FCF_FROM_DS
  - ndpi_analyze_payload
  - ndpi_payload_analyzer
  - payload_stats_sort_asc
  - print_payload_stat
  - ndpi_report_payload_stats
  - HASH_ITER
  - ndpi_free_flow_info_half
  - ndpi_stats_free
  - ndpi_stats_init
  - ndpi_stats_reset
  - ndpi_workflow_init
  - ndpi_flow_info_freer
  - ndpi_free_flow_tls_data
  - ndpi_free_flow_data_analysis
  - ndpi_flow_info_free_data
  - ndpi_workflow_free
  - cmp_n32
  - cmp_n16
  - ndpi_workflow_node_cmp
  - ndpi_flow_update_byte_count
  - ndpi_flow_update_byte_dist_mean_var
  - get_ndpi_flow_info
  - get_ndpi_flow_info6
  - is_ndpi_proto
  - correct_csv_data_field
  - plen2slot
  - dump_flow_fingerprint
  - add_to_address_port_list
  - process_ndpi_monitoring_info
  - serialize_monitoring_metadata
  - process_ndpi_collected_info
  - ndpi_clear_entropy_stats
  - update_tcp_flags_count
  - packet_processing
  - ndpi_is_datalink_supported
  - ndpi_is_valid_vxlan
  - ndpi_skip_vxlan
  - ndpi_is_valid_gre_tunnel
  - ndpi_workflow_process_packet
  - dpdk_port_init
  - dpdk_port_deinit
  source_file: /src/ndpi/example/reader_util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SNAP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/ndpi/example/reader_util.c
      type_or_value: 0XAA
    - item_type: preproc_def
      name: BSTP
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/ndpi/example/reader_util.c
      type_or_value: '0x42     '
    - item_type: preproc_def
      name: DATA_ANALUYSIS_SLIDING_WINDOW
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/ndpi/example/reader_util.c
      type_or_value: '32'
    - item_type: preproc_def
      name: WIFI_DATA
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/example/reader_util.c
      type_or_value: '0x2    '
    - item_type: preproc_def
      name: BAD_FCS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/example/reader_util.c
      type_or_value: '0x50    '
    - item_type: preproc_def
      name: GTP_U_V1_PORT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/ndpi/example/reader_util.c
      type_or_value: '2152'
    - item_type: preproc_def
      name: NDPI_CAPWAP_DATA_PORT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/ndpi/example/reader_util.c
      type_or_value: '5247'
    - item_type: preproc_def
      name: TZSP_PORT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/ndpi/example/reader_util.c
      type_or_value: '37008'
    - item_type: preproc_def
      name: DLT_LINUX_SLL
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/ndpi/example/reader_util.c
      type_or_value: '113'
    structs:
    - fields:
      - name: flow_id
        type: u_int32_t
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: flow_id_stats
      pos:
        line_end: 92
        line_start: 89
        source_file: /src/ndpi/example/reader_util.c
    - fields:
      - name: packet_id
        type: u_int32_t
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: packet_id_stats
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/ndpi/example/reader_util.c
    - fields:
      - name: '*pattern'
        type: u_int8_t
      - name: pattern_len
        type: u_int8_t
      - name: num_occurrencies
        type: u_int16_t
      - name: '*flows'
        type: struct flow_id_stats
      - name: '*packets'
        type: struct packet_id_stats
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: payload_stats
      pos:
        line_end: 106
        line_start: 99
        source_file: /src/ndpi/example/reader_util.c
    typedefs: []
    union:
    - fields:
      - name: u32
        type: uint32_t
      - name: mpls
        type: struct ndpi_mpls_header
      item_type: union
      name: mpls
      pos:
        line_end: 2199
        line_start: 2196
        source_file: /src/ndpi/example/reader_util.c
- function_names:
  - ndpi_workflow_set_flow_callback
  - LOG
  - LOG
  source_file: /src/ndpi/example/reader_util.h
  types:
    enum:
    - enumerators:
      - name: INFO_INVALID
        value: '0'
      - name: INFO_TIVOCONNECT
      - name: INFO_SOFTETHER
      - name: INFO_KERBEROS
      - name: INFO_GENERIC
      - name: INFO_FTP_IMAP_POP_SMTP
      - name: INFO_NATPMP
      - name: INFO_SIP
      - name: INFO_FASTCGI
      - name: INFO_BFCP
      item_type: enum
      name: info_type
      pos:
        line_end: 175
        line_start: 164
        source_file: /src/ndpi/example/reader_util.h
    preproc_defs:
    - item_type: preproc_def
      name: RX_RING_SIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '128'
    - item_type: preproc_def
      name: TX_RING_SIZE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '512'
    - item_type: preproc_def
      name: NUM_MBUFS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '8191'
    - item_type: preproc_def
      name: MBUF_CACHE_SIZE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '250'
    - item_type: preproc_def
      name: BURST_SIZE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '32'
    - item_type: preproc_def
      name: PREFETCH_OFFSET
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PLEN_MAX
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '1504'
    - item_type: preproc_def
      name: PLEN_BIN_LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '32'
    - item_type: preproc_def
      name: PLEN_NUM_BINS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '48 '
    - item_type: preproc_def
      name: MAX_NUM_BIN_PKTS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '256'
    - item_type: preproc_def
      name: ETTA_MIN_PACKETS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '10'
    - item_type: preproc_def
      name: ETTA_MIN_OCTETS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '4000'
    - item_type: preproc_def
      name: LINEMAX
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '512'
    - item_type: preproc_def
      name: MAX_BYTE_COUNT_ARRAY_LENGTH
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_NUM_PKTS
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '10'
    - item_type: preproc_def
      name: MAX_NUM_READER_THREADS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '16'
    - item_type: preproc_def
      name: IDLE_SCAN_PERIOD
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '10 '
    - item_type: preproc_def
      name: MAX_IDLE_TIME
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '30000'
    - item_type: preproc_def
      name: IDLE_SCAN_BUDGET
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: NUM_ROOTS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '512'
    - item_type: preproc_def
      name: MAX_EXTRA_PACKETS_TO_CHECK
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '7'
    - item_type: preproc_def
      name: MAX_NDPI_FLOWS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '200000000'
    - item_type: preproc_def
      name: TICK_RESOLUTION
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: MAX_NUM_IP_ADDRESS
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '5  '
    - item_type: preproc_def
      name: UPDATED_TREE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AGGRESSIVE_PERCENT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '95.00'
    - item_type: preproc_def
      name: DIR_SRC
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DIR_DST
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '20'
    - item_type: preproc_def
      name: PORT_ARRAY_SIZE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '20'
    - item_type: preproc_def
      name: HOST_ARRAY_SIZE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '20'
    - item_type: preproc_def
      name: FLOWS_PACKETS_THRESHOLD
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '0.9'
    - item_type: preproc_def
      name: FLOWS_PERCENT_THRESHOLD
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '1.0'
    - item_type: preproc_def
      name: FLOWS_PERCENT_THRESHOLD_2
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '0.2'
    - item_type: preproc_def
      name: FLOWS_THRESHOLD
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: PKTS_PERCENT_THRESHOLD
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '0.1'
    - item_type: preproc_def
      name: MAX_TABLE_SIZE_1
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: MAX_TABLE_SIZE_2
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: INIT_VAL
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: SERIALIZATION_BUFSIZ
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: (8192 * 2)
    - item_type: preproc_def
      name: LINKTYPE_LINUX_SLL2
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/ndpi/example/reader_util.h
      type_or_value: '276'
    structs:
    - fields:
      - name: '* ja'
        type: char
      - name: unsafe_cipher
        type: ndpi_cipher_weakness
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: ndpi_ja_info
      pos:
        line_end: 104
        line_start: 100
        source_file: /src/ndpi/example/reader_util.h
    - fields:
      - name: ip
        type: u_int32_t
      - name: '*ip_string'
        type: char
      - name: '*dns_name'
        type: char
      - name: '*host_client_info_hasht'
        type: ndpi_ja_info
      - name: '*host_server_info_hasht'
        type: ndpi_ja_info
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: ndpi_host_ja_fingerprints
      pos:
        line_end: 116
        line_start: 108
        source_file: /src/ndpi/example/reader_util.h
    - fields:
      - name: ip
        type: u_int32_t
      - name: '*ip_string'
        type: char
      - name: '*dns_name'
        type: char
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: ndpi_ip_dns
      pos:
        line_end: 125
        line_start: 120
        source_file: /src/ndpi/example/reader_util.h
    - fields:
      - name: '*ja'
        type: char
      - name: unsafe_cipher
        type: ndpi_cipher_weakness
      - name: '*ipToDNS_ht'
        type: ndpi_ip_dns
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: ndpi_ja_fingerprints_host
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/ndpi/example/reader_util.h
    - fields:
      - name: entropy
        type: float
      item_type: struct
      name: flow_metrics
      pos:
        line_end: 137
        line_start: 135
        source_file: /src/ndpi/example/reader_util.h
    - fields:
      - name: src2dst_pkt_len[MAX_NUM_PKTS]
        type: u_int16_t
      - name: src2dst_pkt_time[MAX_NUM_PKTS]
        type: pkt_timeval
      - name: dst2src_pkt_len[MAX_NUM_PKTS]
        type: u_int16_t
      - name: dst2src_pkt_time[MAX_NUM_PKTS]
        type: pkt_timeval
      - name: src2dst_start
        type: pkt_timeval
      - name: dst2src_start
        type: pkt_timeval
      - name: src2dst_opackets
        type: u_int32_t
      - name: dst2src_opackets
        type: u_int32_t
      - name: src2dst_pkt_count
        type: u_int16_t
      - name: dst2src_pkt_count
        type: u_int16_t
      - name: src2dst_l4_bytes
        type: u_int32_t
      - name: dst2src_l4_bytes
        type: u_int32_t
      - name: src2dst_byte_count[MAX_BYTE_COUNT_ARRAY_LENGTH]
        type: u_int32_t
      - name: dst2src_byte_count[MAX_BYTE_COUNT_ARRAY_LENGTH]
        type: u_int32_t
      - name: src2dst_num_bytes
        type: u_int32_t
      - name: dst2src_num_bytes
        type: u_int32_t
      - name: src2dst_bd_mean
        type: double
      - name: src2dst_bd_variance
        type: double
      - name: dst2src_bd_mean
        type: double
      - name: dst2src_bd_variance
        type: double
      - name: score
        type: float
      item_type: struct
      name: ndpi_entropy
      pos:
        line_end: 162
        line_start: 139
        source_file: /src/ndpi/example/reader_util.h
    - fields:
      - name: '*aps'
        type: ndpi_address_port
      - name: num_aps
        type: unsigned int
      - name: num_aps_allocated
        type: unsigned int
      item_type: struct
      name: ndpi_address_port_list
      pos:
        line_end: 181
        line_start: 177
        source_file: /src/ndpi/example/reader_util.h
    - fields:
      - name: flow_id
        type: u_int32_t
      - name: hashval
        type: u_int32_t
      - name: src_ip
        type: u_int32_t
      - name: dst_ip
        type: u_int32_t
      - name: src_ip6
        type: struct ndpi_in6_addr
      - name: dst_ip6
        type: struct ndpi_in6_addr
      - name: src_port
        type: u_int16_t
      - name: dst_port
        type: u_int16_t
      - name: detection_completed
        type: u_int8_t
      - name: vlan_id
        type: u_int16_t
      - name: tunnel_type
        type: ndpi_packet_tunnel
      - name: '*ndpi_flow'
        type: struct ndpi_flow_struct
      - name: '*src_name'
        type: char
      - name: ip_version
        type: u_int8_t
      - name: cwr_count
        type: u_int32_t
      - name: ece_count
        type: u_int32_t
      - name: urg_count
        type: u_int32_t
      - name: ack_count
        type: u_int32_t
      - name: psh_count
        type: u_int32_t
      - name: syn_count
        type: u_int32_t
      - name: fin_count
        type: u_int32_t
      - name: rst_count
        type: u_int32_t
      - name: c_to_s_init_win
        type: u_int32_t
      - name: first_seen_ms
        type: u_int64_t
      - name: src2dst_bytes
        type: u_int64_t
      - name: src2dst_goodput_bytes
        type: u_int64_t
      - name: src2dst_packets
        type: u_int32_t
      - name: has_human_readeable_strings
        type: u_int32_t
      - name: human_readeable_string_buffer[32]
        type: char
      - name: '*risk_str'
        type: char
      - name: detected_protocol
        type: ndpi_protocol
      - name: confidence
        type: ndpi_confidence_t
      - name: num_dissector_calls
        type: u_int16_t
      - name: dpi_packets
        type: u_int16_t
      - name: monitoring_state
        type: u_int8_t
      - name: num_packets_before_monitoring
        type: u_int16_t
      - name: src2dst_last_pkt_time
        type: pkt_timeval
      - name: '*iat_c_to_s'
        type: struct ndpi_analyze_struct
      - name: info_type
        type: enum info_type
      - name: ndpi_flow_serializer
        type: ndpi_serializer
      - name: host_server_name[80]
        type: char
      - name: '*server_hostname'
        type: char
      - name: '*bittorent_hash'
        type: char
      - name: '*dhcp_fingerprint'
        type: char
      - name: '*dhcp_class_ident'
        type: char
      - name: idle_timeout_sec
        type: uint32_t
      - name: risk
        type: ndpi_risk
      - name: mining
        type: "struct {\n    char currency[16];\n  }"
      - name: ssh_tls
        type: "struct {\n    u_int16_t ssl_version;\n    char server_info[64],\n      client_hassh[33],
          server_hassh[33], *server_names,\n      *advertised_alpns, *negotiated_alpn,
          *tls_supported_versions,\n      *tls_issuerDN, *tls_subjectDN,\n      ja3_server[33],
          ja4_client[37], *ja4_client_raw,\n      sha1_cert_fingerprint[20];\n    u_int8_t
          sha1_cert_fingerprint_set;\n    struct tls_heuristics browser_heuristics;\n\n
          \   struct {\n      u_int16_t version;\n    } encrypted_ch;\n\n    time_t
          notBefore, notAfter;\n    u_int16_t server_cipher;\n    ndpi_cipher_weakness
          client_unsafe_cipher, server_unsafe_cipher;\n\n    u_int32_t quic_version;\n\n
          \   u_int8_t num_blocks;\n    struct ndpi_tls_block blocks[NDPI_MAX_NUM_TLS_APPL_BLOCKS];\n
          \ }"
      - name: http
        type: "struct {\n    char url[256], request_content_type[64], content_type[64],\n
          \     user_agent[256], server[128], nat_ip[32], username[64], password[64],
          filename[256];\n    u_int response_status_code;\n  }"
      - name: rtp[2 /* directions */]
        type: struct rtp_info
      - name: stun
        type: "struct {\n    ndpi_address_port_list mapped_address, peer_address,\n
          \     relayed_address, response_origin, other_address;\n    u_int16_t rtp_counters[2];\n
          \ }"
      - name: telnet
        type: "struct {\n    char *username, *password;\n  }"
      - name: dns
        type: "struct {\n    char geolocation_iata_code[4];\n    char ptr_domain_name[64];\n
          \   u_int16_t transaction_id;\n  }"
      - name: multimedia_flow_types
        type: u_int8_t
      - name: '*src_id'
        type: void
      - name: '*tcp_fingerprint'
        type: char
      - name: '*entropy'
        type: struct ndpi_entropy
      - name: '*last_entropy'
        type: struct ndpi_entropy
      - name: flow_payload_len
        type: u_int16_t
      - name: '*flow_payload'
        type: char
      item_type: struct
      name: ndpi_flow_info
      pos:
        line_end: 366
        line_start: 184
        source_file: /src/ndpi/example/reader_util.h
    - fields:
      - name: guessed_flow_protocols
        type: u_int32_t
      - name: raw_packet_count
        type: u_int64_t
      - name: ip_packet_count
        type: u_int64_t
      - name: total_wire_bytes
        type: u_int64_t
      - name: num_protocols
        type: u_int32_t
      - name: '*protocol_counter'
        type: u_int64_t
      - name: '*protocol_counter_bytes'
        type: u_int64_t
      - name: '*protocol_flows'
        type: u_int32_t
      - name: '*fpc_protocol_counter'
        type: u_int64_t
      - name: '*fpc_protocol_counter_bytes'
        type: u_int64_t
      - name: '*fpc_protocol_flows'
        type: u_int32_t
      - name: category_counter[NDPI_PROTOCOL_NUM_CATEGORIES]
        type: u_int64_t
      - name: category_counter_bytes[NDPI_PROTOCOL_NUM_CATEGORIES]
        type: u_int64_t
      - name: category_flows[NDPI_PROTOCOL_NUM_CATEGORIES]
        type: u_int32_t
      - name: breed_counter[NDPI_NUM_BREEDS]
        type: u_int64_t
      - name: breed_counter_bytes[NDPI_NUM_BREEDS]
        type: u_int64_t
      - name: breed_flows[NDPI_NUM_BREEDS]
        type: u_int32_t
      - name: ndpi_flow_count
        type: u_int32_t
      - name: flow_count[3]
        type: u_int32_t
      - name: tcp_count
        type: u_int64_t
      - name: mpls_count
        type: u_int64_t
      - name: packet_len[6]
        type: u_int64_t
      - name: max_packet_len
        type: u_int16_t
      - name: dpi_packet_count[3]
        type: u_int64_t
      - name: flow_confidence[NDPI_CONFIDENCE_MAX]
        type: u_int64_t
      - name: fpc_flow_confidence[NDPI_FPC_CONFIDENCE_MAX]
        type: u_int64_t
      - name: num_dissector_calls
        type: u_int64_t
      - name: lru_stats[NDPI_LRUCACHE_MAX]
        type: struct ndpi_lru_cache_stats
      - name: automa_stats[NDPI_AUTOMA_MAX]
        type: struct ndpi_automa_stats
      - name: patricia_stats[NDPI_PTREE_MAX]
        type: struct ndpi_patricia_tree_stats
      - name: hash_stats[NDPI_STR_HASH_MAX]
        type: struct ndpi_str_hash_stats
      item_type: struct
      name: ndpi_stats
      pos:
        line_end: 403
        line_start: 370
        source_file: /src/ndpi/example/reader_util.h
    - fields:
      - name: decode_tunnels
        type: u_int8_t
      - name: quiet_mode
        type: u_int8_t
      - name: ignore_vlanid
        type: u_int8_t
      - name: num_roots
        type: u_int32_t
      - name: max_ndpi_flows
        type: u_int32_t
      item_type: struct
      name: ndpi_workflow_prefs
      pos:
        line_end: 413
        line_start: 407
        source_file: /src/ndpi/example/reader_util.h
    - fields:
      - name: last_time
        type: u_int64_t
      - name: prefs
        type: struct ndpi_workflow_prefs
      - name: stats
        type: struct ndpi_stats
      - name: flow_callback
        type: ndpi_workflow_callback_ptr
      - name: '* flow_callback_userdata'
        type: void
      - name: '*pcap_handle'
        type: pcap_t
      - name: '**ndpi_flows_root'
        type: void
      - name: '*ndpi_struct'
        type: struct ndpi_detection_module_struct
      - name: '*g_ctx'
        type: struct ndpi_global_context
      - name: num_allocated_flows
        type: u_int32_t
      - name: ndpi_serialization_format
        type: ndpi_serialization_format
      item_type: struct
      name: ndpi_workflow
      pos:
        line_end: 442
        line_start: 422
        source_file: /src/ndpi/example/reader_util.h
    typedefs:
    - item_type: typedef
      name: (*ndpi_workflow_callback_ptr) (struct ndpi_workflow *, struct ndpi_flow_info
        *, void *)
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/ndpi/example/reader_util.h
      type: void
    union: []
- function_names:
  - ntohl64
  - htonl64
  - ndpi_packet_trailer
  - reader_slot_malloc_bins
  - ndpi_malloc_wrapper
  - free_wrapper
  - init_doh_bins
  - check_bin_doh_similarity
  - enable_disable_protocols_list
  - load_public_lists
  - configure_ndpi
  - ndpiCheckHostStringMatch
  - ndpiCheckHostsFileStringMatch
  - ndpi_cfg_error2string
  - ndpiCheckIPMatch
  - ndpi_flow_get_byte_count_entropy
  - flowGetBDMeanandVariance
  - help
  - extcap_interfaces
  - extcap_dlts
  - cmpProto
  - cmpFlows
  - extcap_config
  - extcap_capture
  - printCSVHeader
  - parse_three_strings
  - reader_add_cfg
  - parse_parameters
  - parseOptions
  - print_cipher
  - print_bin
  - print_ndpi_address_port_list_file
  - printFlow
  - printFlowSerialized
  - node_print_unknown_proto_walker
  - node_print_known_proto_walker
  - node_proto_guess_walker
  - updateScanners
  - updateIpTree
  - freeIpTree
  - updateTopIpAddress
  - updatePortStats
  - acceptable
  - receivers_sort_asc
  - cutBackTo
  - mergeTables
  - deleteReceivers
  - HASH_ITER
  - updateReceivers
  - deleteScanners
  - HASH_ITER
  - deletePortsStats
  - HASH_ITER
  - port_stats_walker
  - node_idle_scan_walker
  - is_realtime_protocol
  - dump_realtime_protocol
  - on_protocol_discovered
  - setupDetection
  - terminateDetection
  - formatTraffic
  - formatPackets
  - formatBytes
  - port_stats_sort
  - info_pair_cmp
  - printPortStats
  - HASH_ITER
  - node_flow_risk_walker
  - printRiskStats
  - hash_stats_sort_to_order
  - hash_stats_sort_to_print
  - printFlowsStats
  - HASH_ITER
  - HASH_ITER
  - HASH_ITER
  - HASH_ITER
  - HASH_ITER
  - HASH_ITER
  - HASH_ITER
  - HASH_ITER
  - HASH_ITER
  - HASH_ITER
  - printResults
  - breakPcapLoop
  - sigproc
  - getNextPcapFileFromPlaylist
  - configurePcapHandle
  - openPcapFileOrDevice
  - ndpi_process_packet
  - runPcapLoop
  - processing_thread
  - test_lib
  - binUnitTest
  - dgaUnitTest
  - hllUnitTest
  - bitmapUnitTest
  - automataUnitTest
  - automataDomainsUnitTest
  - analyzeUnitTest
  - bpf_filter_port_array_init
  - bpf_filter_host_array_init
  - bpf_filter_host_array_add
  - bpf_filter_port_array_add
  - analysisUnitTest
  - rsiUnitTest
  - hashUnitTest
  - hwUnitTest
  - hwUnitTest2
  - sesUnitTest
  - desUnitTest
  - desUnitStressTest
  - hwUnitTest3
  - jitterUnitTest
  - compressedBitmapUnitTest
  - strtonumUnitTest
  - strlcpyUnitTest
  - strnstrUnitTest
  - strncasestrUnitTest
  - memmemUnitTest
  - memcasecmpUnitTest
  - mahalanobisUnitTest
  - bitmaskUnitTest
  - filterUnitTest
  - zscoreUnitTest
  - linearUnitTest
  - sketchUnitTest
  - binaryBitmapUnitTest
  - pearsonUnitTest
  - outlierUnitTest
  - loadStressTest
  - kdUnitTest
  - ballTreeUnitTest
  - cryptDecryptUnitTest
  - encodeDomainsUnitTest
  - checkProtocolIDsUnitTest
  - domainsUnitTest
  - domainSearchUnitTest
  - domainSearchUnitTest2
  - domainCacheTestUnit
  - checkmemrchrUnitTest
  - checkRankingUnitTest
  - main
  - WinMain
  - gettimeofday
  source_file: /src/ndpi/example/ndpiReader.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HEURISTICS_CODE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PROTO_DEBUG
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_FARGS
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MAX_NUM_CFGS
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '64'
    - item_type: preproc_def
      name: WIRESHARK_NTOP_MAGIC
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '0x19680924'
    - item_type: preproc_def
      name: WIRESHARK_METADATA_SIZE
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '192'
    - item_type: preproc_def
      name: WIRESHARK_FLOW_RISK_INFO_SIZE
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '128'
    - item_type: preproc_def
      name: WIRESHARK_METADATA_SERVERNAME
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: WIRESHARK_METADATA_JA4C
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: NUM_DOH_BINS
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '2'
    - item_type: preproc_def
      name: OPTLONG_VALUE_CFG
      pos:
        line_end: 986
        line_start: 985
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '3000'
    - item_type: preproc_def
      name: OPTLONG_VALUE_OPENVPN_HEURISTICS
      pos:
        line_end: 987
        line_start: 986
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '3001'
    - item_type: preproc_def
      name: OPTLONG_VALUE_TLS_HEURISTICS
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '3002'
    - item_type: preproc_def
      name: OPTLONG_VALUE_CONF
      pos:
        line_end: 989
        line_start: 988
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '3003'
    - item_type: preproc_def
      name: OPTLONG_VALUE_FPC_STATS
      pos:
        line_end: 990
        line_start: 989
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '3004'
    - item_type: preproc_def
      name: OPTLONG_VALUE_DOMAINS_FILE
      pos:
        line_end: 991
        line_start: 990
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: '3005'
    - item_type: preproc_def
      name: EPOCHFILETIME
      pos:
        line_end: 7372
        line_start: 7371
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: (116444736000000000i64)
    - item_type: preproc_def
      name: EPOCHFILETIME
      pos:
        line_end: 7374
        line_start: 7373
        source_file: /src/ndpi/example/ndpiReader.c
      type_or_value: (116444736000000000LL)
    structs:
    - fields:
      - name: '*proto'
        type: char
      - name: '*param'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: cfg
      pos:
        line_end: 121
        line_start: 117
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: '*flow'
        type: struct ndpi_flow_info
      - name: thread_id
        type: u_int16_t
      item_type: struct
      name: flow_info
      pos:
        line_end: 170
        line_start: 167
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: addr
        type: u_int32_t
      - name: version
        type: u_int8_t
      - name: proto[16]
        type: char
      - name: count
        type: int
      item_type: struct
      name: info_pair
      pos:
        line_end: 179
        line_start: 174
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: addr
        type: u_int32_t
      - name: version
        type: u_int8_t
      - name: proto[16]
        type: char
      - name: count
        type: int
      - name: '*left'
        type: struct node_a
      item_type: struct
      name: node_a
      pos:
        line_end: 187
        line_start: 181
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: '* domain_name'
        type: char
      - name: occurency
        type: int
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: hash_stats
      pos:
        line_end: 194
        line_start: 190
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: port
        type: u_int32_t
      - name: num_pkts
        type: u_int32_t
      - name: num_flows
        type: u_int32_t
      - name: num_addr
        type: u_int32_t
      - name: cumulative_addr
        type: u_int32_t
      - name: '*addr_tree'
        type: addr_node
      - name: top_ip_addrs[MAX_NUM_IP_ADDRESS]
        type: struct info_pair
      - name: hasTopHost
        type: u_int8_t
      - name: top_host
        type: u_int32_t
      - name: version
        type: u_int8_t
      - name: proto[16]
        type: char
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: port_stats
      pos:
        line_end: 210
        line_start: 197
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: port
        type: u_int32_t
      - name: num_flows
        type: u_int32_t
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: port_flow_info
      pos:
        line_end: 219
        line_start: 215
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: saddr
        type: u_int32_t
      - name: version
        type: u_int8_t
      - name: '*ports'
        type: struct port_flow_info
      - name: tot_flows
        type: u_int32_t
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: single_flow_info
      pos:
        line_end: 228
        line_start: 222
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: addr
        type: u_int32_t
      - name: version
        type: u_int8_t
      - name: num_pkts
        type: u_int32_t
      - name: hh
        type: UT_hash_handle
      item_type: struct
      name: receiver
      pos:
        line_end: 238
        line_start: 233
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: type
        type: u_int16_t
      - name: length
        type: u_int16_t
      - name: data[]
        type: unsigned char
      item_type: struct
      name: ndpi_packet_tlv
      pos:
        line_end: 253
        line_start: 249
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: '*workflow'
        type: struct ndpi_workflow
      - name: pthread
        type: pthread_t
      - name: last_idle_scan_time
        type: u_int64_t
      - name: idle_scan_idx
        type: u_int32_t
      - name: num_idle_flows
        type: u_int32_t
      - name: '*idle_flows[IDLE_SCAN_BUDGET]'
        type: struct ndpi_flow_info
      item_type: struct
      name: reader_thread
      pos:
        line_end: 287
        line_start: 280
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: ip[4]
        type: u_int8_t
      - name: '*ndpi_id'
        type: struct ndpi_id_struct
      item_type: struct
      name: ndpi_id
      pos:
        line_end: 296
        line_start: 293
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: id
        type: int
      - name: name[32]
        type: char
      item_type: struct
      name: ndpi_proto_sorter
      pos:
        line_end: 1072
        line_start: 1069
        source_file: /src/ndpi/example/ndpiReader.c
    - fields:
      - name: tz_minuteswest
        type: int
      - name: tz_dsttime
        type: int
      item_type: struct
      name: timezone
      pos:
        line_end: 7383
        line_start: 7380
        source_file: /src/ndpi/example/ndpiReader.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/ndpi/utils/print_rank.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/ndpi/utils/hosts2domains.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
